AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Win32/Win64 API (native code) Delphi Tastenkombinationen Systemweit abfragen
Thema durchsuchen
Ansicht
Themen-Optionen

Tastenkombinationen Systemweit abfragen

Ein Thema von E307 · begonnen am 13. Jan 2007 · letzter Beitrag vom 13. Jan 2007
Antwort Antwort
E307

Registriert seit: 23. Feb 2006
134 Beiträge
 
Delphi 2005 Personal
 
#1

Tastenkombinationen Systemweit abfragen

  Alt 13. Jan 2007, 20:11
Ich versuche schon seit langem Tastatureingaben an ein in den Tray minimiertes Programm zu senden. Dazu habe ich hier über die Suche schon einige Hinweise gefunden, aber wenn ich den Tastaturhook- Code verwende, bbleibt das Programm einfach hängen. Gibt es eine bessere Möglichkeit z.B die Tastenkombination Strg+Alt+F1 für sein Programm zu reservieren?
  Mit Zitat antworten Zitat
Christian Seehase
(Co-Admin)

Registriert seit: 29. Mai 2002
Ort: Hamburg
11.105 Beiträge
 
Delphi 11 Alexandria
 
#2

Re: Tastenkombinationen Systemweit abfragen

  Alt 13. Jan 2007, 20:16
Moin E307,

schau Dir doch mal MSDN-Library durchsuchenRegisterHotkey an.
Tschüss Chris
Die drei Feinde des Programmierers: Sonne, Frischluft und dieses unerträgliche Gebrüll der Vögel.
Der Klügere gibt solange nach bis er der Dumme ist
  Mit Zitat antworten Zitat
E307

Registriert seit: 23. Feb 2006
134 Beiträge
 
Delphi 2005 Personal
 
#3

Re: Tastenkombinationen Systemweit abfragen

  Alt 13. Jan 2007, 20:41
RegisterHotKey(Handle,$FF,MOD_ALT+MOD_CONTROL,50); Wie sage ich dem Programm was ausgeführt werden soll?
  Mit Zitat antworten Zitat
Christian Seehase
(Co-Admin)

Registriert seit: 29. Mai 2002
Ort: Hamburg
11.105 Beiträge
 
Delphi 11 Alexandria
 
#4

Re: Tastenkombinationen Systemweit abfragen

  Alt 13. Jan 2007, 21:07
Moin E307,

hier mal ein komplettes Kurzbeispiel:

Delphi-Quellcode:
type
  TForm1 = class(TForm)
    procedure FormCreate(Sender: TObject);
    procedure WMHOTKEY(var msg : TWMHotKey); message WM_HOTKEY;
    procedure FormDestroy(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.FormCreate(Sender: TObject);
begin
  if not RegisterHotKey(self.Handle,0,MOD_ALT or MOD_CONTROL,VK_F1) then begin
    ShowMessage(SysErrorMessage(GetLastError));
  end;
end;

procedure TForm1.WMHOTKEY(var msg: TWMHotKey);
begin
  if msg.HotKey = 0 then ShowMessage('Hotkey aufgerufen');
end;

procedure TForm1.FormDestroy(Sender: TObject);
begin
  UnregisterHotKey(self.Handle,0);
end;
Wichtig:
Wenn der Hotkey schon von einem anderen Programm reserviert wurde, schlägt die Registrierung fehl, hier gilt: Wer zuerst kommt mahlt zuerst.
Tschüss Chris
Die drei Feinde des Programmierers: Sonne, Frischluft und dieses unerträgliche Gebrüll der Vögel.
Der Klügere gibt solange nach bis er der Dumme ist
  Mit Zitat antworten Zitat
E307

Registriert seit: 23. Feb 2006
134 Beiträge
 
Delphi 2005 Personal
 
#5

Re: Tastenkombinationen Systemweit abfragen

  Alt 13. Jan 2007, 22:10
Komisch, so ähnlich sah das bei mir auch aus, nur, dass die Registrierung nicht geklappt hat. Mit dem Code geht's, Vielen Dank!
  Mit Zitat antworten Zitat
Christian Seehase
(Co-Admin)

Registriert seit: 29. Mai 2002
Ort: Hamburg
11.105 Beiträge
 
Delphi 11 Alexandria
 
#6

Re: Tastenkombinationen Systemweit abfragen

  Alt 13. Jan 2007, 23:23
Moin E307,

wenn die Registrierung nicht klappt, kannst Du Dir ja anzeigen lassen, warum nicht.
Normalerweise wohl, weil die Kombination schon registriert wurde.

Was mir übrigens noch aufgefallen ist: MOD_ALT+MOD_CONTROL
Wenn Du irgendwelche Werte kombinieren kannst solltest Du das nie mit + machen, sondern immer mit OR, da Du sonst Gefahr läufst ungültige Werte zu erzeugen.
Tschüss Chris
Die drei Feinde des Programmierers: Sonne, Frischluft und dieses unerträgliche Gebrüll der Vögel.
Der Klügere gibt solange nach bis er der Dumme ist
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 13:22 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz