| |
|
|
Frank Abbing | KompilierenMarkierenSeparierenFindet alle aktiven Fenster, auch wenn sie im Iconmodus sind
Ermittelt Fensterhandle, HInstance des Fensters und Fensternamen
(c) Frank Abbing
Declare a&,x&,y&,text$,z&
Def GetWindowLong(2) !"USER32","GetWindowLongA"
Def GetWindow(2) !"USER32","GetWindow"
Cls
z&=0
a&=0
x&=%hwnd
While x&
x&=GetWindow(x&,z&)
z&=2
If x&
y&=GetWindowLong(x&,-6)
If y&
text$=GetText$(x&)
If text$<>""
AddString "Handle= "+Str$(x&)
AddString "HInstance= "+Str$(y&)
AddString "Name= "+Chr$(34)+text$+Chr$(34)
AddString " "
a&=a&+1
EndIf
EndIf
EndIf
Wend
text$=Str$(a&)+" Gefundene Fenster:"
@ListBox$(text$,1)
WaitInput
End
|
|
|
| |
|
|
|
Jörg Sellmeyer | Passend dazu dann auch noch den Dazugehörigen Pfad des Programms: KompilierenMarkierenSeparierenermittelt den Programmpfad zu einem Fensterhandle
von Jörg Sellmeyer
Def GetWindowModuleFileName(3) !"User32","GetWindowModuleFileNameA"
Proc WinModuleFileName
Parameters Hdl&
Declare buf$
buf$=MkStr$(chr$(0),256)
@GetWindowModuleFileName(Hdl&,addr(buf$),256)
buf$=trim$(buf$)
Return buf$
EndProc
Findet alle aktiven Fenster, auch wenn sie im Iconmodus sind
Ermittelt Fensterhandle, HInstance des Fensters und Fensternamen
(c) Frank Abbing
Declare a&,x&,y&,text$,z&
Def GetWindowLong(2) !"USER32","GetWindowLongA"
Def GetWindow(2) !"USER32","GetWindow"
Cls
z&=0
a&=0
x&=%hwnd
While x&
x&=GetWindow(x&,z&)
z&=2
If x&
y&=GetWindowLong(x&,-6)
If y&
text$=GetText$(x&)
If text$<>""
AddString "Handle= "+Str$(X&)
WinModuleFileName x&J. S.
AddString "Programm= " + @$(0)J. S.
AddString "HInstance= "+Str$(y&)
AddString "Name= "+Chr$(34)+text$+Chr$(34)
AddString " "
a&=a&+1
EndIf
EndIf
EndIf
Wend
text$=Str$(a&)+" Gefundene Fenster:"
@ListBox$(text$,1)
|
|
|
| Windows XP SP2 XProfan X4... und hier mal was ganz anderes als Profan ... | 15.06.2006 ▲ |
|
|
|
|
Michael Wodrich | Bei mir zeigen einige Pfade auf die mit Profan erstellte EXE. Das bei einigen nichts steht ist ja Ok, aber ...
Schöne Grüße Michael Wodrich |
|
|
| Programmieren, das spannendste Detektivspiel der Welt. | 15.06.2006 ▲ |
|
|
|
|
Rolf Koch | Stimmt was Michael sagt. Ist bei mir auch so. |
|
|
| |
|
|
|
Jörg Sellmeyer | Oh, sorry! Hab ich auch gerade erst bemerkt. Ich hatte das mal unter W98 zusammengebastelt. Da hats noch funktioniert. XP scheint da rigoroser in der Abkapselung der Prozesse zu sein. Ich hab keine Ahnung, ob mans unter XP auch zum Laufen kriegt. |
|
|
| Windows XP SP2 XProfan X4... und hier mal was ganz anderes als Profan ... | 15.06.2006 ▲ |
|
|
|
|
Michael Wodrich | Ja stimmt - M$ hat mal wieder dran rumgeschraubt.[quote:ea364f920b]To get more information on Windows 2000, use the Process Status Helper set of APIs (known as PSAPI, see Psapi.h include file), available since Windows NT 4.0. APIs such as GetModuleFileNameEx and GetModuleBaseName offer equivalent functionality. [/quote:ea364f920b] Erstes Suchresultat - jetzt muß ich nur noch den Rest finden...
Schöne Grüße Michael Wodrich |
|
|
| Programmieren, das spannendste Detektivspiel der Welt. | 15.06.2006 ▲ |
|
|
|