Zitat:
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
begin
//Eigene Systemmenü anzeigen
ShowSysMenu(
Handle,Mouse.CursorPos.X,Mouse.CursorPos.Y);
end;
Hmmmm, mit XE2 auf WHS2011 probiert.
Funktioniert auch außerhalb der
IDE.
Aber ich seh natürlich das falsche Menü. (so isses halt, mit den undokumentierten APIs ... siehe das Edit im letzten Post)
Delphi-Quellcode:
var
B: Boolean;
E: HRESULT;
begin
B := PostMessage(
Handle, $0313, 0, (Mouse.CursorPos.Y
shl 16) + Mouse.CursorPos.X);
E := GetLastError;
ShowMessage(BoolToStr(B, True) + sLineBreak + SysErrorMessage(E));
Liefert also nur True und "war erfolgreich"?
Hast du es mal mit SendMessage versucht?
PostMessage sagt maximal, daß die Message vermutlich in die MessageQueue eingetragen, aber nicht ob es auch verarbeitet wurde.
PS: Unter Delphi 7 mußt du es eigentlich an Application.Handle schicken, da dort ja noch das versteckte Application-Fenster in der Taskbar angezeigt wurde und nicht die MainForm.