Einzelnen Beitrag anzeigen

mm1256

Registriert seit: 10. Feb 2014
Ort: Wackersdorf, Bayern
640 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
Wenn du mit Gott reden willst, dann bete.
Wenn du ihn treffen willst, schreib bei Tempo 220 eine SMS
  Mit Zitat antworten Zitat