fenster aktivieren ohne genauen Fensternamen
09.11.2003 19:15:24
chris b.
habe ein Problem und hoffe ihr könnt mir helfen,
es geht um diesen Code, mit dem code aktiviere ich mir Fenster und diese bleibenm dann dauerhaft im vordergrund.
das funktioniert auch mit diesem Beispiel wunderbar mit dem "rechner" weil der fenstername "rechner" ist .
Habe es jetzt aber bei mehreren anwendeungen gehabt das ich den korrekten Fensternamen eingebe und das Makro mir das Programm nicht in den vordergrund holt.
z.B habe ich das Problem bei ICQ und sonstigen chatfenstern.
Meine frage jetzt gibt es eine möglichkeit den fensternamen nicht 100% genau anzugeben und das makro sucht mir das fenster das am ehesten zutrifft ? In etwa so das Fenster heist genau
"Microsoft chat-fenster" und ich gebe nur an "Microsoft chat-" und das Makro erkennt automatisch das Fenster das aktiviert werden soll !?
Würde mich riesig freuen wenn es dafür eine lösung gibt.
habe einen Code der das sogar macht nur das Problem ist der code holt das fenster nur einmalig in den Vordergrund und sobald ich ein anderes fenster klicke ist es wieder im Hintergrund.
Das ist der code
"
Sub neu() AppActivate ("Rechner") End Sub
"das ist der Code den ich umbauen möchte ->
Private Declare
Function FindWindow Lib "user32" Alias _
"FindWindowA" (ByVal lpClassName As String, _
ByVal lpWindowName As String) As Long
Private Declare
Function SetWindowPos Lib "user32" _
(ByVal hWnd As Long, ByVal hWndInsertAfter As Long, _
ByVal x As Long, ByVal y As Long, ByVal cx As Long, _
ByVal cy As Long, ByVal wFlags As Long) As Long
Sub vordergrung()
wHandle = FindWindow(vbNullString, "Rechner")
Call SetWindowPos(wHandle, -1, 0, 0, 0, 0, 3)
End Sub
Sub hintergrund()
wHandle = FindWindow(vbNullString, "Rechner")
Call SetWindowPos(wHandle, -2, 0, 0, 0, 0, 3)
End Sub
P.s Vielen dank für eure Hilfe !!!
Gruß Christian !