mittlere Maustaste und Start-Button - vermutlich Win7-Fehler
Verfasst: 02.10.2010 21:09
Nachdem ich nun stundenlang den Fehler in meinem Code gesucht habe konnte ich durch einkreisen ausschließen, daß ich der Übeltäter bin. Es ging mir darum ein Fenster an den Start-Button zu heften daß sich sichtbar-unsichtbar schalten läßt und Veränderungen an der Taskleiste mitmacht. Vielleicht hat ja jemand eine Idee.
Wenn nicht, dann hat es vielleicht einen gewissen Unterhaltungswert oder erspart anderen die lange Fehlersuche.
Oder spinnt mein Puter und bei euch läuft es richtig?
edit:
Der Grund weshalb ich mich an den Koordinaten des Start-Button orientieren wollte ist, dass ich darauf vorbereitet sein wollte wenn man morgen einstellen kann auf welcher Seite der Taskleiste der Start-Button sein soll. Nun habe ich mich, um voran zu kommen, an der 'WORKAREA' orientiert und es scheint zu funktionieren. Hier kommt das Beispiel bei dem die Koordinaten auch gleich per Taskbar\uEdge verwendet werden.
Bei der Gelegenheit : Danke an RSBasic und alle die ihn bei der WinAPI Library unterstützen !
Wenn nicht, dann hat es vielleicht einen gewissen Unterhaltungswert oder erspart anderen die lange Fehlersuche.
Oder spinnt mein Puter und bei euch läuft es richtig?
Code: Alles auswählen
hwnd = OpenWindow(42, 100, 100, 300, 200, "PureBasic Window", #PB_Window_SystemMenu | #PB_Window_MinimizeGadget | #PB_Window_MaximizeGadget | #PB_Window_SizeGadget)
If hwnd
StartButton = FindWindowEx_(GetDesktopWindow, 0, "Button", 0)
GetWindowRect_(StartButton,StartButtonRect.RECT)
Debug StartButtonRect\top
Debug StartButtonRect\Bottom
Debug "."
HideWindow(42,#True)
Delay (3500) ; Zeit genug um bei horizontaler Taskleiste mit der mittleren Maustaste auf Start zu drücken.
HideWindow(42,#False)
StartButton = FindWindowEx_(GetDesktopWindow, 0, "Button", 0)
GetWindowRect_(StartButton,StartButtonRect.RECT)
Debug StartButtonRect\top
Debug StartButtonRect\Bottom
Debug "---------"
EndIf
Der Grund weshalb ich mich an den Koordinaten des Start-Button orientieren wollte ist, dass ich darauf vorbereitet sein wollte wenn man morgen einstellen kann auf welcher Seite der Taskleiste der Start-Button sein soll. Nun habe ich mich, um voran zu kommen, an der 'WORKAREA' orientiert und es scheint zu funktionieren. Hier kommt das Beispiel bei dem die Koordinaten auch gleich per Taskbar\uEdge verwendet werden.
Bei der Gelegenheit : Danke an RSBasic und alle die ihn bei der WinAPI Library unterstützen !
Code: Alles auswählen
hwnd = OpenWindow(42, 100, 100, 300, 200, "PureBasic Window", #PB_Window_SystemMenu | #PB_Window_MinimizeGadget | #PB_Window_MaximizeGadget | #PB_Window_SizeGadget)
If hwnd
HideWindow(42,#True)
Delay (3500) ; Zeit genug um bei horizontaler Taskleiste mit der mittleren Maustaste auf Start zu drücken
HideWindow(42,#False)
GetWindowRect_(hwnd,WindowRect.RECT)
SystemParametersInfo_(#SPI_GETWORKAREA,0,@DesktopWorkArea.RECT,0)
SHAppBarMessage_(#ABM_GETTASKBARPOS,Taskbar.APPBARDATA)
Select Taskbar\uEdge
Case #ABE_BOTTOM
ResizeWindow(42, 0, DesktopWorkArea\Bottom-(WindowRect\bottom - WindowRect\top), #PB_Ignore, #PB_Ignore)
Case #ABE_LEFT
ResizeWindow(42, DesktopWorkArea\left, 0, #PB_Ignore, #PB_Ignore)
Case #ABE_RIGHT
ResizeWindow(42, DesktopWorkArea\right - (WindowRect\right - WindowRect\left), 0, #PB_Ignore, #PB_Ignore)
Case #ABE_TOP
ResizeWindow(42, 0, DesktopWorkArea\Top, #PB_Ignore, #PB_Ignore)
EndSelect
Repeat : Until WaitWindowEvent() = #PB_Event_CloseWindow
EndIf