Setzt Informationen über das angegebene Fenster
#include <WinAPISysWin.au3>
_WinAPI_SetWindowLong ( $hWnd, $iIndex, $iValue )
$hWnd | Handle zu dem Fenster |
$iIndex | Legt den bei Null beginnenden Adressenabstand fest der gesetzt werden soll. Gültige Werte sind im Bereich von Null bis zur Anzahl der Bytes des Fenster-Extraspeichers, minus vier; zum Beispiel, wenn ein Werte von 12 oder mehr Bytes des Extraspeichers festgelegt wurde, würde der Wert 8 der Index zu dem dritten 32-Bit Integer sein. Um einen beliebig anderen Wert zu ermitteln, legt man einen der folgenden Werte fest: $GWL_EXSTYLE - Setzt die erweiterten Fensterstile $GWL_STYLE - Setzt die Fensterstile $GWL_WNDPROC - Setzt die Adresse zur neuen Window DllCallBack Funktion $GWL_HINSTANCE - Setzt das Handle zur Instanz der Anwendung $GWL_HWNDPARENT - Setzt das Handle des Parentfensters, sofern vorhanden $GWL_ID - Setzt den Identifizierer des Fensters $GWL_USERDATA - Setzt den 32-Bit Wert, der mit dem Fenster verknüpft ist |
$iValue | Legt den zu setzenden Wert fest |
Erfolg: | Der vorherige Wert |
Fehler: | 0 |
Oben stehende Konstanten benötigen #include <WinAPIConstants.au3>
_WinAPI_CallWindowProc, _WinAPI_GetWindowLong
Suche nach SetWindowLongPtr in der MSDN Bibliothek.
#include <WindowsConstants.au3>
#include <Constants.au3>
#include <WinAPI.au3>
$hGui = GUICreate("_WinAPI_SetParent", 320, 240, Default, Default, BitOR($WS_MINIMIZEBOX, $WS_CAPTION, $WS_POPUP, $WS_SYSMENU, $WS_CLIPCHILDREN))
GUISetState(@SW_SHOW, $hGui)
$hPid = Run(@SystemDir & '\notepad.exe', "", @SW_HIDE)
WinWait("[CLASS:Notepad]")
$hChild = WinGetHandle("[CLASS:Notepad]")
_WinAPI_SetParent($hChild, $hGui)
_WinAPI_SetWindowLong($hChild, $GWL_STYLE, BitOR($WS_CAPTION, $WS_POPUP))
WinSetState($hChild, "", @SW_SHOW)
While GUIGetMsg() <> -3
Sleep(1)
WEnd