Bildschirm-Präsentation (Powerpoint, Teams, Skype, usw.) erkennen C-Sharp
Hallo @ All,
Ich suche nach einer Möglichkeit programmtechnisch zu erkennen ob gerade eine Präsentation läuft um Deployments via SCCM in dieser Zeit zu verzögern.
Dachte es gäbe schon massig Beiträge im Netz zu finden wie man sowas abfragen kann (WMI, irgendwelche APIs, Eventlog, usw.), aber leider Fehlanzeige.
Hat jemand von euch eine Idee wie man sowas bewerkstelligen kann?
Danke für die Unterstützung!
Mayho
Ich suche nach einer Möglichkeit programmtechnisch zu erkennen ob gerade eine Präsentation läuft um Deployments via SCCM in dieser Zeit zu verzögern.
Dachte es gäbe schon massig Beiträge im Netz zu finden wie man sowas abfragen kann (WMI, irgendwelche APIs, Eventlog, usw.), aber leider Fehlanzeige.
Hat jemand von euch eine Idee wie man sowas bewerkstelligen kann?
Danke für die Unterstützung!
Mayho
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 621933
Url: https://administrator.de/contentid/621933
Ausgedruckt am: 22.11.2024 um 04:11 Uhr
5 Kommentare
Neuester Kommentar
Heyho,
reicht es den Prozessnamen aus der Tasklist abzufragen?
Process pname = Process.GetProcessesByName("powerpoint.exe");
if (pname.Length == 0)
MessageBox.Show("NOTHING IS RUNNING");
else
MessageBox.Show("RUNNING");
Replace powerpoint.exe with the related name of the software executable for presentations
reicht es den Prozessnamen aus der Tasklist abzufragen?
Process pname = Process.GetProcessesByName("powerpoint.exe");
if (pname.Length == 0)
MessageBox.Show("NOTHING IS RUNNING");
else
MessageBox.Show("RUNNING");
Replace powerpoint.exe with the related name of the software executable for presentations
Hm, dann bin ich leider auch überfragt, was ich sonst noch gefunden habe ist dieses Snippet:
Snippet ist von Marv von Github unter dieser Adresse:
https://stackoverflow.com/questions/27943255/determine-whether-powerpoin ...
Dies prüft aber leider nur für PowerPoint selber, ob gerade eine Präsentation läuft - nicht für Teams und Co
private bool IsPPTPresentationRunning()
{
Process prozesse = Process.GetProcesses();
foreach (Process p in prozesse)
{searches for a running PowerPoint process
if (p.ProcessName == "POWERPNT")
{
try
{
Microsoft.Office.Interop.PowerPoint.Application PPT =
new Microsoft.Office.Interop.PowerPoint.Application();
if (PPT.SlideShowWindows.Count > 0)
return true;
else
return false;
}
Catches any exception that seems to get thrown when
// powerpoint is not in Presentation mode
catch (Exception)
{
return false;
}
}
}
return false;
}
Snippet ist von Marv von Github unter dieser Adresse:
https://stackoverflow.com/questions/27943255/determine-whether-powerpoin ...
Dies prüft aber leider nur für PowerPoint selber, ob gerade eine Präsentation läuft - nicht für Teams und Co
private bool IsPPTPresentationRunning()
{
Process prozesse = Process.GetProcesses();
foreach (Process p in prozesse)
{searches for a running PowerPoint process
if (p.ProcessName == "POWERPNT")
{
try
{
Microsoft.Office.Interop.PowerPoint.Application PPT =
new Microsoft.Office.Interop.PowerPoint.Application();
if (PPT.SlideShowWindows.Count > 0)
return true;
else
return false;
}
Catches any exception that seems to get thrown when
// powerpoint is not in Presentation mode
catch (Exception)
{
return false;
}
}
}
return false;
}
Hi,
Es war ja nach Ideen die Frage, nicht nach Lösungen. Daher als Idee:
Wenn die Clients verlässlich SfB haben, wäre das ja ein Ansatzpunkt, um damit z.B. auch PPTX etc abzudecken: Wenn SfB auf do not disturb steht, dann scheint der Zeitpunkt ungünstig zu sein. Nur wie bekommt man den SfB-Status ausgelesen? Dazu fallen mir diverse "Lync Busy Lamp"-Projekte ein, die via Arduino eine rote LED leuchten lassen, wenn man im Call ist. Die stehen ja alle vor dem gleichen Problem des Status-Auslesens. Spontan gefunden: https://github.com/thomasjsn/Lync-presence-bridge. Könnte man man anschauen.
Grüße
Filipp
Es war ja nach Ideen die Frage, nicht nach Lösungen. Daher als Idee:
Wenn die Clients verlässlich SfB haben, wäre das ja ein Ansatzpunkt, um damit z.B. auch PPTX etc abzudecken: Wenn SfB auf do not disturb steht, dann scheint der Zeitpunkt ungünstig zu sein. Nur wie bekommt man den SfB-Status ausgelesen? Dazu fallen mir diverse "Lync Busy Lamp"-Projekte ein, die via Arduino eine rote LED leuchten lassen, wenn man im Call ist. Die stehen ja alle vor dem gleichen Problem des Status-Auslesens. Spontan gefunden: https://github.com/thomasjsn/Lync-presence-bridge. Könnte man man anschauen.
Grüße
Filipp