Externes Fenster in den Vordergrund Holen?
lima-city → Forum → Programmiersprachen → Basic
anwendung
auslsen
beitrag
button
catch
datei
dateiname
diagnostics
fehlerbehandlung
fenster
folgenden beispiel
fragen
hole
player
prozess
prsentation
vordergrund
window
zeile
zusammen
-
Hallo zusammen!
Ich habe, mal wieder, eine Frage VB.net betreffend. Ich verwende VB.NET 2005, das Programm soll bei mir (vista), wie auch auf xp laufen.
Ich möchte, das mein Programm nach auslösen eines Start-buttons nach einer gewissen zeit, in der im wmplayer eine video läuft, eine anderes Fenster in den Vordergrung bringt (optional wäre es noch toll, wenn das Programma auch den wmplayer beenden könnte).
Das mit dem Timer hab ich ja schonraus, aber wie hole ich ein anderes Fenster, in diesem Fall eine PP Präsentation nach vorne?
Ich hoffe, Ihr könnt mir auch dabei wieder weiterhelfen :)
MFG
Slysphotos -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage
-
Na klar kann man dir weiterhelfen =)
In dem folgenden Beispiel werden alle Prozesse abgerufen und nach dem Dateinamen von PowerPoint bzw. vom Windows Media Player durchsucht. Anschließend wird, je nach dem was gefunden wurde, mit AppActivate() die Anwendung in den Vordergrund geholt oder mit [Process].Kill() beendet.
Code funktioniert in VB .NET 2003 und 2005.
Dim AllProcesses() As System.Diagnostics.Process = System.Diagnostics.Process.GetProcesses() Dim MyProcess As System.Diagnostics.Process For Each MyProcess In AllProcesses Try If MyProcess.MainModule.ModuleName.ToLower = \"powerpnt.exe\" Then AppActivate(MyProcess.Id) ElseIf MyProcess.MainModule.ModuleName.ToLower = \"wmplayer.exe\" Then MyProcess.Kill() End If Catch \'Fehlerbehandlung notwendig, da auf Systemprozesse nicht zugegriffen werden kann. End Try Next
-
Danke, es funktioniert!
Auf die Lima-Comunity kann man sich hald verlassen :)
Aber jetzt hab ich doch noch ne Frage:
PowerPoint erstellt bei einer Präsentation immer zwei Fenster, das Programm-Fenster, und das Tab in dem die Präsentation Full-Scree läuft.
Hat jemand eine Idee wie ich speziell die Präsentation nach vorne holen kann? ...die gehen nämlich von der Gleichen EXE Datei aus?
Lg
slysphotos
Beitrag geändert: 24.9.2007 8:46:28 von slysphotos -
Also eigentlich wird bei AppActivate() immer die Bildschirmpräsentation angezeigt... zumindest bei mir =)
Du kannst aber noch eine Zeile ergänzen. Diese Zeile sendet die Tasteneingabe F5 an PowerPoint und bewirkt, dass die Bildschirmpräsentation angezeigt wird (auch wenn sie noch nicht gestartet worden ist).
If MyProcess.MainModule.ModuleName.ToLower = \"powerpnt.exe\" Then Microsoft.VisualBasic.AppActivate(MyProcess.Id) System.Windows.Forms.SendKeys.SendWait(\"{F5}\") ...
-
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage