Heyho,
um es einem anderen Programm zu ermöglichen ein Fenster eines meiner Programme zu erfassen, welches transparent sein soll (nur controls sichtbar), darf dieses transparente Fenster nicht den Windows-Layered Stil verwenden, da es sonst für das Programm nicht "sichtbar" ist.
Gibt es eine Möglichkeit ein transparentes Fenster ohne $WS_EX_LAYERED zu erstellen?
GDI+ verwendet ja ebenfalls ein layered Fenster, jedenfalls soweit ich das gesehen habe.
Entsprechender Code-Auszug:
Spoiler anzeigen
#include <WinApi.au3>
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>
$W_Overlay = GUICreate("Overlay", 200, 85, -1, -1,$WS_POPUP, BitOR($WS_EX_LAYERED, $WS_EX_TOOLWINDOW))
GUISetFont(10, 1,"", "Arial")
$Ovl_Ll_Test = GUICtrlCreateLabel("Test", 16, 24, 40, 16,"",$GUI_WS_EX_PARENTDRAG)
GUISetBkColor (0xE7AF22, $W_Overlay)
_WinAPI_SetLayeredWindowAttributes($W_Overlay, 0xE7AF22, 255)
GUISetState(@SW_SHOW, $W_Overlay)
[/autoit] [autoit][/autoit] [autoit]While 1
Sleep(100)
WEnd