Nun, ich glaub ich hab die Lösung: das Kontextmenü der Systray (sowie auch alle andern) öffnen sich bei
WM_RBUTTONUP
und
nicht bei
WM_RBUTTONDOWN
hab das bei mir gesetzt und siehe da es funzt.
Ich hab die procedure nun so implementiert:
Delphi-Quellcode:
Procedure TfrmKeyMakro.WndProc(
Var Msg: TMessage);
Var
Point : TPoint;
Begin
If (Msg.Msg = WM_USER_CALLBACK)
And (Msg.lParam = WM_RBUTTONUP)
then
Begin
SetForegroundWindow(
Handle);
GetCursorPos(Point);
pmSystray.Popup(Point.X, Point.Y);
End ;
Inherited;
End;