Re: fremdes fenster fokussieren
Verfasst: 28.02.2014 17:47
wow also der code von chi funktioniert
vielen dank
vielen dank
Code: Alles auswählen
#KEYEVENTF_SCANCODE = 8
#KEYEVENTF_KEYUP = 2
#MAPVK_VK_TO_VSC = 0
Procedure ProcessID(PName$)
Protected Snapshot, Snapshot2, ProcessFound
Protected Process.PROCESSENTRY32, Module.MODULEENTRY32
Process\dwSize = SizeOf(PROCESSENTRY32)
Module\dwSize = SizeOf(MODULEENTRY32)
Snapshot = CreateToolhelp32Snapshot_(#TH32CS_SNAPPROCESS, 0)
If Snapshot
ProcessFound = Process32First_(Snapshot, Process)
While ProcessFound
Snapshot2 = CreateToolhelp32Snapshot_(#TH32CS_SNAPMODULE,Process\th32ProcessID)
If Snapshot2
If Module32First_(Snapshot2, @Module)
If UCase(PName$) = UCase(PeekS(@Module\szExePath[0]))
CloseHandle_(Snapshot)
CloseHandle_(Snapshot2)
ProcedureReturn Process\th32ProcessID
EndIf
CloseHandle_(Snapshot2)
EndIf
EndIf
ProcessFound = Process32Next_(Snapshot, Process)
Wend
CloseHandle_(Snapshot)
EndIf
ProcedureReturn 0
EndProcedure
Procedure writekeyboardbuffer(Scancode,druecken)
;schreibt ein Zeichen in den Keyboardbuffer
;extended oder nicht extended Key prüfen
If MapVirtualKey_(Scancode,1) = 0
If druecken
keybd_event_(0,Scancode,#KEYEVENTF_SCANCODE | #KEYEVENTF_EXTENDEDKEY, 0)
Else
keybd_event_(0,Scancode, #KEYEVENTF_KEYUP| #KEYEVENTF_SCANCODE | #KEYEVENTF_EXTENDEDKEY, 0)
EndIf
Else
If druecken
keybd_event_(0,Scancode,#KEYEVENTF_SCANCODE , 0)
Else
keybd_event_(0,Scancode, #KEYEVENTF_KEYUP| #KEYEVENTF_SCANCODE , 0)
EndIf
EndIf
EndProcedure
Procedure setzeProgrammFocus(Pfad$)
PID.l = Processid(Pfad$)
Repeat
;Alt drücken
writekeyboardbuffer(56,1)
Auswahl = Auswahl + 1
;Tab je nach Auswahl x mal drücken
For x = 1 To Auswahl
;Tab drücken
writekeyboardbuffer(15,1)
;Tab loslassen
writekeyboardbuffer(15,0)
Next
;Alt loslassen
writekeyboardbuffer(56,0)
Delay(10) ;ein bisschen warten bis das Fenster angezeigt wird
GetWindowThreadProcessId_(GetForegroundWindow_(), @PIDVorderfenster.l)
Until PIDVorderfenster = PID.l Or Auswahl > 20
EndProcedure
setzeProgrammFocus("C:\programme\mozilla Firefox\firefox.exe")