VisualBasic Fenster mit Process ID in den Vordergrund

Gamer Xy1

Cadet 3rd Year
Registriert
Dez. 2009
Beiträge
39
Hallo zusammen...
Ich habe mich in letzter Zeit ein Bisschen in VB eingearbeitet und wollte nun ein kleines Programm schreiben...
Mein Programm soll im Prinzip nichts anderes machen, als bei Klick auf einen Button das schon geöffnete Editorfenster in den Vordergrund zu bringen und dort Text einzufügen...
Eine Vorabversion habe ich bereits, allerdings funktioniert das Anwählen des Editorfensters nur dann, wenn es als letztes aktiv war, da ich die Tastenkombination alt+TAB zum Auswählen benutze...
Weil das dann für mich nicht befriedigend war, habe ich bei google gesucht...
(ca. 3,5 std)
Ich habe nichts gefunden, wie ich die ProcessID von notepad.exe bekomme und sie dazu verwende, das Fenster in den Vordergrund zu bringen...
(AppActivate ist da ja nicht die richtige Lösung...)
Könnt ihr mir dabei helfen?
Schon im Voraus vielen Dank für Eure Anstrengungen ;)

Lg Gamer Xy1
 
Ich glaube das kann mit .NET ziemlich schwierig werden, da das das Framework wohl kaum derartige Klassen und Methode beinhaltet. Aber vielleicht kommst du hier mit AutoIt weiter. Mit AutoIt kannst du z.B. klicks mit der Maus nach stellen etc.

Aber vielleicht hilft dir das.

Code:
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
 
Du kannst das Windows API verwenden. Dazu gibt es dann die Funktionen FindWindow und FindWindowEx.

Wenn Du in mit .NET programmierst, sollten die Funktionen durch das .NET Framework bereitgestellt werden.
 
Ok, FindWindow hört sich ja mal nicht schlecht an ;)

@Yuuri: Der Link hat mich zwar auf eine Site gebracht, die nicht VB behandelt, aber in den Kommentaren bin ich doch fündig geworden...
Schon mal Danke an alle für Eure Hilfe! :daumen:
 
Zurück
Oben