hwnd von einem gestartetem Programm
-
- Beiträge: 556
- Registriert: 04.09.2004 22:23
- Kontaktdaten:
hwnd von einem gestartetem Programm
Wie bekomm ich das handle von eine Programm den ich gestarte habe? Wenn ich Runprogramm ausführe bekomm ich ja nur eine pid. Is es irgenwie möglich von der ein handle zu bekommen?
-
- Beiträge: 556
- Registriert: 04.09.2004 22:23
- Kontaktdaten:
-
- Beiträge: 556
- Registriert: 04.09.2004 22:23
- Kontaktdaten:
Hilft dir vielleicht die ProzessLib von Rings?
http://purearea.net/pb/download/userlibs/ProcessLib.zip

http://purearea.net/pb/download/userlibs/ProcessLib.zip

auch winamps Window hat einen namen.
Hier aufm Board gabs ein tool das alle Fenster auflistete. Da würdest du den Fensternamen von Winamp auch finden.
Aber warum so umständlich?
Schreib doch lieber MediaLibrary Plugin das ist einfacher damit kannste Winamp komplett controlen.
Hier aufm Board gabs ein tool das alle Fenster auflistete. Da würdest du den Fensternamen von Winamp auch finden.
Aber warum so umständlich?
Schreib doch lieber MediaLibrary Plugin das ist einfacher damit kannste Winamp komplett controlen.


-
- Beiträge: 556
- Registriert: 04.09.2004 22:23
- Kontaktdaten:
@DataMiner: die hab ich schon und hilft mir nicht
weil der Winamp windowname sich verändert(wenn man was abspielt).
Ich hab keine ahnung was ein MediaLibrary Plugin ist, wenn du ein Winamp plugin meinst, dann hab ich keine Ahnung wie des funzt bzw. kann ich es auch nicht gebrauchen, da mein Programm nicht nur Winamp ansteuern können soll.
weil der Winamp windowname sich verändert(wenn man was abspielt).
Ich hab keine ahnung was ein MediaLibrary Plugin ist, wenn du ein Winamp plugin meinst, dann hab ich keine Ahnung wie des funzt bzw. kann ich es auch nicht gebrauchen, da mein Programm nicht nur Winamp ansteuern können soll.
Suchst du sowas?
Code: Alles auswählen
;
; 30.März 2005 von Leo =)
;
Global hWinamp.l
Procedure.s GetWindowClass(hwnd)
Buffer.s = Space(1000)
GetClassName_(hwnd,@Buffer,1000)
ProcedureReturn Buffer
EndProcedure
Procedure.s GetWindowName(hwnd)
Buffer.s = Space(1000)
GetWindowText_(hwnd,@Buffer,1000)
ProcedureReturn Buffer
EndProcedure
Procedure EnumWindowsProc(hwnd.l,lParam.l)
Class.s = GetWindowClass(hwnd)
Name.s = GetWindowName(hwnd)
If FindString(LCase(Class),"winamp",0)
If GetWindowLong_(hwnd,#GWL_STYLE) & #WS_CHILD = #WS_CHILD Or GetWindowLong_(hwnd,#GWL_STYLE) & #WS_CAPTION <> #WS_CAPTION Or Trim(Name) = "" Or GetWindowLong_(hwnd,#GWL_STYLE) & #WS_POPUP = #WS_POPUP
ProcedureReturn 1
Else
Debug Name
Debug Class
Debug hwnd
hWinamp = hwnd
ProcedureReturn 0
EndIf
ProcedureReturn 1
Else
ProcedureReturn 1
EndIf
EndProcedure
EnumWindows_(@EnumWindowsProc(),0)
;hWinamp sollte jetz das Handle vom Winamp-Control-Fenster haben
Zuletzt geändert von Leo am 30.03.2005 09:15, insgesamt 2-mal geändert.
-
- Beiträge: 556
- Registriert: 04.09.2004 22:23
- Kontaktdaten:
winamp finde ich mit:
müsste bei dir auch gehen.
Code: Alles auswählen
FindWindow_("Winamp v1.x",0)