![]() |
Re: Startmenü-Problem
ja aber ich habe entdeckt das man wahrscheinlich über den butto gehen muss wenn mann wissen will wo es sich öffnet.
habe gerade etwas interessantes gefunden:
Delphi-Quellcode:
wenn ich jeze anstatt der 300 bzw. 0 jetzt die koordinaten meines
MoveWindow(FindWindowEx(FindWindow('Shell_TrayWnd', nil), 0, 'Button', nil), 300, 0, 80, 22, true);
buttons im fenster nehme müsste es eigentlich gehen. oder ? |
Re: Startmenü-Problem
Damit schiebst du den Startbutton durch die Gegend. Ich wäre nicht so begeistert, ihn mitten auif dem Desktop wiederzufinden.
|
Re: Startmenü-Problem
das würde ich ja dann wieder zurück schieben, wenn ich rausgfunden habe wie des geht...
|
Re: Startmenü-Problem
Also es ist ja so: Du brauchst das Handle vom Menü, um es verschieben zu können. Aber so lange es das Menü nicht gibt, gibt es auch kein Handle. Das gibt es erst, wenn es aufpoppt und dann ist es zu spät. Desweitern müßtets du ständig kucken, ob jemand auf den Stratbutton geklcikt hat oder die Windows-Taste gedrückt hat. Diese wäre mir für so eien Spielerei zu aufwendig bzw. als Anwender zu Ressourcen fressend. Da mußt du jetzt wohl ohne mich durch.
|
Re: Startmenü-Problem
mh...
ich schlaf ertsmal ne nacht drüber :) mal gucken wies morgen aussieht. aber trotzdem danke erstmal. |
Re: Startmenü-Problem
Ich habe die Befürchtung, wenn du morgen aufwachst wird sich an der Situation nichts geändert haben.
|
Re: Startmenü-Problem
und da hast du leider recht...
ich habe jeze nämlich folgendes problem das mein start-button nicht mehr aktiviert ist somit kann ich mein startmenü auch nicht mehr aufklappen lassen... |
Re: Startmenü-Problem
Hi,
ich hab gestern Nacht mal ne Funktion gebastelt um das Handle vom StartMenü zu ermitteln.. klappt allerdings nur wenn es bereits sichtbar ist. (SetWindowPos klappt wunderbar um das Menü zu verschieben)
Delphi-Quellcode:
Au'revoir,
function GetStartMenuHandle: HWND;
var h: HWND; lpClassName: PChar; begin Result:=0; GetMem(lpClassName,256); h:=GetWindow(GetDesktopWindow,GW_CHILD); while h<>0 do begin GetClassName(h,lpClassName,256); if lpClassName='BaseBar' then begin if GetWindowLong(h,GWL_STYLE) = -1774190592 then if GetWindowLong(h,GWL_EXSTYLE) = 392 then begin Result:=h; Exit; end; end; h:=GetWindow(h,GW_HWNDNEXT); end; FreeMem(lpClassName); end; Aya~ |
Re: Startmenü-Problem
danke dir erstmal ...
aber ich bekomm das trotzdem irgendwie ned hin. könnteste mir bitte auch die zeilen zeigen mit dem setwindowpos ? |
Re: Startmenü-Problem
Hi,
Delphi-Quellcode:
geht natürlich nur wenn das StartMenü sichtbar ist.
h:=GetStartMenuHandle;
SetWindowPos(h,HWND_TOPMOST,Mouse.CursorPos.X,Mouse.CursorPos.Y,0,0,SWP_NOSIZE); Au'revoir, Aya~ |
Alle Zeitangaben in WEZ +1. Es ist jetzt 19:33 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz