Problem Mit der Funktion SetWindowPos()
-
Kann man von Process.ID oder Von WindowTitel Handle holen und wie?
Dim XhWnd As Long
XhWnd = FindWindow("Notepad", "Unbenannt - Editor")SetWindowPos(XhWnd, HWND_TOP, 0, 0, 768, 1024, 3)
das hat auch nicht geholfen.Danke
S.Mathi
-
Hallo
warum liefert FindWindow() eine Zahl >0 auch wenn Notepad nicht geöffnet ist?
Dim XhWnd As Long
XhWnd = FindWindow("Notepad", 0&)Danke
S.Mathi
-
Hi,
ein paar Threads weiter unten wurde die selbe Frage auch von mir gestellt und beantwortet. Ich erkläre es dir nochmal:
Das Fenster muss garnicht "sichtbar" sein, damit es funktioniert. Folgendermaßen holst du es nach vorne:
SetWindowPos(hwnd, HWND_TOPMOST, NULL, NULL, NULL, NULL, SWP_NOMOVE | SWP_NOSIZE);EDIT: Das ist kein C++ was du das hast !!
Viel Glück noch,
mikey.
-
Ich habe VB von VS2003.
warum liefert FindWindow() eine Zahl >0 auch wenn Notepad nicht geöffnet ist?
Dim XhWnd As Long
XhWnd = FindWindow("Notepad", 0&)Die Zahl sieht so aus: 55169095435288576 das ist handle oder?
Gruß
S.Mathi
-
Keine Ahnung, normalerweise ist ein Handle eine Adresse. Als Zahl habe ich das noch nie gesehen ...
Zudem sind wir hier ein C++ Forum, und nicht VB

-
smathi schrieb:
Ich will ein fremdes Window nach vorne bringen. Mein Problem ist, dass das Fenster minimiert ist (...)
Dazu reicht :
ShowWindow (FindWindow ("Notepad",0),3); 3 -> SW_SHOWMAXIMIZEDAllerdings gibt es Probleme falls mehrere Instanzen von Notepad laufen.
FindWindow () liefert immer nur das erste Fenster zurück (welches auch immer das sein soll bei mehreren Instanzen).smathi schrieb:
warum liefert FindWindow() eine Zahl >0 auch wenn Notepad nicht geöffnet ist? (...)
Die Zahl sieht so aus: 55169095435288576 das ist handle oder?dezimal : 55169095435288576 hexadezimal : 00C4 0000 0000 0000Kann denn das ein Handle sein ? Vergleiche diese Zahl mal mit einem erfolgreich zurückgelieferten Handle.
mikey schrieb:
Keine Ahnung, normalerweise ist ein Handle eine Adresse.
Ein Handle ist eine Verwaltungsnummer unter der dem Betriebssystem ein Objekt bekannt ist. Handles sind niemals Adressen.
-
merker schrieb:
mikey schrieb:
Keine Ahnung, normalerweise ist ein Handle eine Adresse.
Ein Handle ist eine Verwaltungsnummer unter der dem Betriebssystem ein Objekt bekannt ist. Handles sind niemals Adressen.
Mehr oder minder Unsinn! Du solltest Deine Aussage nochmal überdenken.
-
Also was ist es dann letztendlich ??
Ein Handle ist, soweit ich weis, ein ganz normaler pointer.
-
Handles bestehen aus einer betriebssystemweit einmaligen numerischen Adresse. Diese Adresse kann eine (laufende) Nummer sein, oder die Anfangsspeicheradresse des Objektes.
-
Ein Handle referenziert übrigens immer eine interne -von Windows verwaltete- Struktur.