Einzelnen Beitrag anzeigen

mm1256

Registriert seit: 10. Feb 2014
Ort: Wackersdorf, Bayern
642 Beiträge
 
Delphi 10.1 Berlin Professional
 
#5

AW: Programm mit gedrückter Shift-Taste starten

  Alt 7. Mär 2015, 12:53
Danke, damit klappt es wunderbar.
Schön! Noch ein Tipp am Rande: Wenn der "Wartungs-Modus" aktiviert ist (bei mir mit VK_LSHIFT beim Programmstart) dann zeige ich noch einen Menüpunkt im Hauptmenü unter "Hilfe" an, mit dem man dann den Modus auch im laufenden Betrieb aus/einschalten kann. Oder erweitern bzw. reduzieren. Das ist extrem praktisch bei Hotline via Fernwartung.

Das Hilfe-Menü bietet sich deswegen an, weil es i.d.R. im gesamten Programm zur Verfügung steht

Hinzu kommt noch: Wenn man wie ich Formulare zur Laufzeit erzeugt (was ja irgendwie Sinn macht) dann kann man je nach Belieben (z.B. im OnCreate-Event) den "Wartungs-Status" aktualisieren, auch ohne dass der globale Menüpunkt im Hilfemenü vorhanden ist, indem man einfach den global gespeicherten KeyBoardState aktualisiert (MyKey_StoreKeyboardState)

Auszug aus der unit:

Delphi-Quellcode:
interface

uses Windows, Classes;

var
  MyKey_KeyboardState : TKeyBoardState;

procedure MyKey_StoreKeyboardState;
function MyKey_KeyPressed(VirtualKeyCode: Byte) : boolean;

implementation

procedure MyKey_StoreKeyboardState;
begin
  GetKeyboardState(MyKey_KeyboardState);
end;

function MyKey_KeyPressed(VirtualKeyCode: Byte) : boolean;
begin
  Result := ((MyKey_KeyboardState[VirtualKeyCode] and 128) <> 0);
end;
Ich weiß, ist primitiv, aber funzt. SirRufo würde hierfür vermutlich eine Klasse basteln. (@SirRufo: ist jetzt nicht bös gemeint!) Wäre programmiertechnisch auch sinnvoller, keine Frage, aber das ist mir in diesem Fall ehrlich gesagt so was von...
Gruss Otto PS: Sorry wenn ich manchmal banale Fragen stelle. Ich bin Hobby-Programmierer und nicht zu faul die SuFu zu benutzen
  Mit Zitat antworten Zitat