Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi hotkeys (https://www.delphipraxis.net/15274-hotkeys.html)

p3ps1 25. Jan 2004 16:22


hotkeys
 
Ja gut, ich weiss, dass sowas hier schon öfter gefragt wurde. Ich hab hab auch schon in der Suche geguckt, bin auch fündig geworden, aber irgendwie...

Also! ich hab ein Programm geschrieben, was beim start sofort als trayicon rechts unten in die taskleiste geht und immer nebenher läuft. Und da wollte ich jetzt etwas per tastendruck ausführen. Z.B
alt+cltr+P

Synonym 25. Jan 2004 16:25

Re: hotkeys
 
das wird so einfach aber nicht gehen, weil dein programm zwar aktiv, aber nicht immer den fokus hat...
das kannst du sicher nur mit hooks realisieren...aber vielleicht wolltest du das ja auch.

synonym

Hier im Forum suchenHOOK OR KEYHOOK

p3ps1 25. Jan 2004 16:28

Re: hotkeys
 
was sind hooks?
wenn das aber die einzige möglichkeit ist, bitte.
{ Ich hab mir ja schon gedacht dass das einProblem ist :idea:}

fkerber 25. Jan 2004 16:37

Re: hotkeys
 
Hi!

Wieso sollte das nicht gehen?
Du musst nur einen systemweiten HotKey registrieren:

Delphi-Quellcode:
[...]
  private
     procedure WMHotKey(var Msg: TWMHotKey); Message WM_HOTKEY;
[...]

procedure TForm1.Create(Sender: TObject);
begin
  if NOT RegisterHotKey(Form1.Handle, ID, MOD_ALT, Ord('A')) then
    ShowMessage('Hotkey konnte nicht registriert werden');
[...]

procedure TForm1.WMHotKey(Var Msg: TWMHotkey);
begin
 case Msg.IdHotKey of
  ID: begin
[...]
Weiter können mit ID+1, ID+2 etc. definiert werden.

Ciao fkerber

p3ps1 26. Jan 2004 13:42

Re: hotkeys
 
danke, werd ich direkt mal probieren

p3ps1 26. Jan 2004 14:57

Re: hotkeys
 
Kann es sein, dass ich noch irgendeine unit einbinden muss?
Es wird immer ein Fehler angezeigt, weil der compiler einige variablen nicht kennt

fkerber 26. Jan 2004 16:02

Re: hotkeys
 
Hi!

Ich habe folgende bei diesem Projekt eingebunden:

Delphi-Quellcode:
uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, ShlObj, ComObj, StdCtrls, ExtCtrls, ShellAPI;
Kannst ja gucken, was dir fehlt.


Ciao fkerber

Tubos 17. Apr 2004 14:13

Re: hotkeys
 
ich hab auch die Units eingebunden und bekomme:
"Undefinierter Bezeichner: idHotKey"

Christian Seehase 17. Apr 2004 15:39

Re: hotkeys
 
Moin Tubos,

lass' mal das id bei idHotkey weg.
Vielleicht geht's damit.

toms 17. Apr 2004 15:59

Re: hotkeys
 
Delphi-Quellcode:
type
  TForm1 = class(TForm)
    procedure FormCreate(Sender: TObject);
    procedure FormDestroy(Sender: TObject);
  private
    { Private declarations }
      HotKeyID: Integer;
    procedure WMHotKey(var Msg: TWMHotKey); message WM_HOTKEY;
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.WMHotKey(var Msg: TWMHotKey);
begin
  if Msg.HotKey = HotKeyID then
    ShowMessage('Ctrl + Alt + P wurde gedrückt !');
end;

procedure TForm1.FormCreate(Sender: TObject);
const
  VK_P = $50;
begin
  HotKeyID := GlobalAddAtom(PChar(Application.Exename + '_Hotkey1'));
  RegisterHotKey(Handle, HotKeyID, MOD_CONTROL + MOD_ALT, VK_P);
end;

procedure TForm1.FormDestroy(Sender: TObject);
begin
  UnRegisterHotKey(Handle, HotKeyID);
  GlobalDeleteAtom(HotKeyID);
end;


Alle Zeitangaben in WEZ +1. Es ist jetzt 00:13 Uhr.
Seite 1 von 2  1 2      

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