Externes Programm am recht. oberen Rand ausrichten

Begrüße euch!

Ich will den Winamp rechts oben passend an die Ecke ausrichten. Ist das möglich?

Ich hab es mit MoveWindow probiert, aber das funktioniert nicht so richtig. Hier der Code:

Private Declare Function MoveWindow Lib „user32“ ( _
ByVal hwnd As Long, _
ByVal x As Long, ByVal y As Long, _
ByVal nWidth As Long, ByVal nHeight As Long, _
ByVal bRepaint As Long) As Long

Private Declare Function FindWindow Lib „user32“ Alias _
„FindWindowA“ (ByVal lpClassName As String, _
ByVal lpWindowName As String) As Long

WA_hwnd = FindWindow(„Winamp v1.x“, vbNullString)

If WA_hwnd = 0 Then
MsgBox („Winamp nicht gestartet oder Fenster nicht gefunden!“)
Else
MoveWindow WA_hwnd, 100, 150, 400, 300, True
End If

Mit dem eigenen Formular geht das super, aber mit einem externen nicht. Außerdem stört mich hier bei dem Befehl, dass die Größe mitverändert werden soll, was bei Winamp schlecht möglich sein wird …

Wie kann ich dann weiters am leichtesten die Positionierung vornehmen?

Ich hoffe ihr könnt mir wieder mal weiterhelfen.

Mfg
Franz

Hallo,

Ich will den Winamp rechts oben passend an die Ecke
ausrichten. Ist das möglich?

Mit Winamp konnte ich es nicht probieren, das habe ich hier nicht installiert. Auf FindWindow habe ich auch mal verzichtet und einfach mal schneller geklickt. :smile:

Private Declare Function MoveWindow Lib "user32" (ByVal hwnd As Long, ByVal x As Long, ByVal y As Long, ByVal nWidth As Long, ByVal nHeight As Long, ByVal bRepaint As Long) As Long
Private Declare Function GetForegroundWindow Lib "user32" () As Long
Private Sub Form\_Load() 
 Timer1.Interval = 5000 
 Timer1.Enabled = True
End Sub
Private Sub Timer1\_Timer() 
 Timer1.Enabled = False 
 Dim wnd As Long 
 wnd = GetForegroundWindow() 
 MoveWindow wnd, 900, 0, 200, 200, 1
End Sub

Ich habe das Notepad geöffnet, dieses Programm hier gestartet, das Fenster der IDE geschlossen und das Notepad angewählt. Dazu sind 5 Sekunden Zeit. Die IDE geht aber auch, oder API-Guide … Das Fenster das im Vordergrund ist wird beim Auslösen des Timers auf die Größe 200X200 verkleinert und oben rechts in die Ecke geschoben. Das funktioniert so. Bist Du sicher, daß Du das richtige Handle übergibst? Versuch’s erst mal hiermit um das Problem einzugrenzen.

Gruß, Rainer

Hi Rainer!

So ich hab es jetzt probiert. Es tut sich schon mal mehr, als bei meinem Code :wink:

Also: Das Winamp Hauptfenster verkleinert sich, aber verschieben tut sich da gar nichts. Ich hab es auch mit Notepad probiert, da klappts wunderbar.

Und er findet den richtigen hwnd! Hast du eine Ahnung woran das liegen könnte, dass es nicht funktioniert?

Was meinst du genau mit „Die IDE geht aber auch, oder API-Guide …“?

Viele Grüße
Franz

Hallo Franz,

So ich hab es jetzt probiert. Es tut sich schon mal mehr, als
bei meinem Code :wink:

dann muß Dein Handle falsch gewesen sein. Du weißt ja, wie Du beide bekommst, vergleiche die mal.

Also: Das Winamp Hauptfenster verkleinert sich, aber
verschieben tut sich da gar nichts. Ich hab es auch mit
Notepad probiert, da klappts wunderbar.

Hmm. Mit dem Notepad gehts, mit Winamp nicht? Dann bin ich jetzt auch (fast) ratlos.

Und er findet den richtigen hwnd! Hast du eine Ahnung woran
das liegen könnte, dass es nicht funktioniert?

Nein.

Was meinst du genau mit „Die IDE geht aber auch, oder
API-Guide …“?

Statt Notepad hab ichs noch mit anderen verfügbaren Fenstern versucht, immer das selbe Ergebnis … geht. Winamp habe ich aber nicht, deshalb damit auch nicht getetstet.

Es sieht so aus, als müßtest Du Experten fragen. :smile:

http://www.ActiveVb.de

Da bekommst Du im VB6-Forum bestimmt eine Antwort, mit der Du mehr anfangen kannst, als mit meiner. Auf Anfängerfragen gibt es da schon manchmal komische Antworten, aber in dem Fall …

Gruß, Rainer

Hallo Rainer!

Danke für deine Antwort! Ich werde nochmal prüfen ob es das gleiche Handle ist.
Ich selbst würde mich als Anfänger bezeichnen :wink:
Aber du kennst dich viel besser aus als ich und deshalb finde ich, dass du ein Experte bist. *ggg*

Ich werde es mal dort probieren. Trotzdem Danke für deine Hilfe!!

Liebe Grüße
Franz

Hallo Franz,

deshalb finde ich, dass du ein Experte bist. *ggg*

*gg* danke für die Blumen, nein, es reicht nur zum fortgeschrittenen Anwender. Für einen Experten habe ich dann doch zu große Lücken. Bei AVB gibt es aber Leute (an den roten Namen zu erkennen) die alles über VB wissen, was man wissen kann.

Gruß, Rainer