Forum: Win32/Win64 API (native code)
Delphi
by bitsetter,
23. Dez 2007
Du hättest natürlich einige Fehlermeldungen einbauen können oder einfach F7 benutzen. :roll: procedure TForm1.Button4Click(Sender: TObject);
var
TB: Commctrl.TBBUTTONINFO; p: Commctrl.PTBBUTTONINFO;
ProcessHandle, wnd: THandle;
BytesW, BytesR, ProcId: cardinal;
const
BtnIndex= 0;
begin
wnd:= ...;
GetWindowThreadProcessId(wnd, @ProcId);
Forum: Win32/Win64 API (native code)
Delphi
by bitsetter,
23. Dez 2007
Hallo,
bei mir funktioniert es jetzt:procedure TForm1.Button4Click(Sender: TObject);
var
TB: Commctrl.TBBUTTONINFO; p: Commctrl.PTBBUTTONINFO;
ProcessHandle, wnd: THandle;
BytesW, BytesR, ProcId: cardinal;
const
BtnIndex= 2;
begin
Forum: Win32/Win64 API (native code)
Delphi
by bitsetter,
22. Dez 2007
var
BytesW: cardinal;
begin
WriteProcessMemory(ProcessHandle, p, @TB, SizeOf(TB.cbSize) + SizeOf(TB.dwMask), BytesW);
Forum: Win32/Win64 API (native code)
Delphi
by bitsetter,
22. Dez 2007
Dann weißt du ja selber warum die Fehlermeldung kommt.
Forum: Win32/Win64 API (native code)
Delphi
by bitsetter,
22. Dez 2007
Befindet sich die Toolbar denn überhaupt in deiner eigenen Anwendung?
Forum: Win32/Win64 API (native code)
Delphi
by bitsetter,
22. Dez 2007
Versuche es mal so:const
BtnIndex= 2;
var
TB: commctrl.TBBUTTONINFO;
begin
ZeroMemory(@TB, SizeOf(TB));
TB.cbSize := sizeof(TB);
TB.dwMask := commctrl.TBIF_COMMAND;
SendMessage(..., TB_GETBUTTONINFO, BtnIndex, Cardinal(@TB));
SendMessage(..., TB_PRESSBUTTON, TB.idCommand, MAKELONG (1, 0));
Forum: Win32/Win64 API (native code)
Delphi
by bitsetter,
22. Dez 2007
Moin,
jetzt auf einmal die Taskbar?
Bei der Taskbar ist übrigens das ITaskbarList-Interface interessant.
Wenn man in der Taskbar einen Button per Message drückt, wird der Button zwar gedrückt aber das entsprechende Fenster wurde dadurch nicht nach vorne geholt, das hatte ich schon mal ausprobiert.