Einzelnen Beitrag anzeigen

Benutzerbild von himitsu
himitsu
Online

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.071 Beiträge
 
Delphi 12 Athens
 
#6

AW: Ein Programm funktioniert nur wenn man aus IDE startet.

  Alt 22. Jun 2012, 23:57
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.
Miniaturansicht angehängter Grafiken
unbenannt.png  
Neuste Erkenntnis:
Seit Pos einen dritten Parameter hat,
wird PoSex im Delphi viel seltener praktiziert.

Geändert von himitsu (23. Jun 2012 um 00:03 Uhr)
  Mit Zitat antworten Zitat