Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi Tray anwendung bei bestimmter tasten kombi öffnen (https://www.delphipraxis.net/138801-tray-anwendung-bei-bestimmter-tasten-kombi-oeffnen.html)

Christian18 17. Aug 2009 21:34


Tray anwendung bei bestimmter tasten kombi öffnen
 
Hallo,

ich weiss, das dies Thema schon mehrmals diskutiert wurde. Leider kann ich mit den Antworten nicht so wirklich was anfangen.

ich habe mir ein kleines tool geschrieben. dies läuft als tray icon minimiert im hintergrund. wenn eine bestimmte tasten kombination gedrückt wird, dann soll es geöffnet werden. wie kann ich das machen?

mfg christian18

DeddyH 17. Aug 2009 21:36

Re: Tray anwendung bei bestimmter tasten kombi öffnen
 
Wenn ich das richtig verstehe, ist Hier im Forum suchenRegisterHotkey ein guter Suchbegriff.

Christian18 17. Aug 2009 21:38

Re: Tray anwendung bei bestimmter tasten kombi öffnen
 
genau, und wie genau verwende ich das? bzw. wie sieht der code aus, wenn das programm auf die taste druck reagieren soll?

DeddyH 17. Aug 2009 21:43

Re: Tray anwendung bei bestimmter tasten kombi öffnen
 
Wenn Du den Hotkey registriert hast, bekommst Du ggf. eine WM_HOTKEY-Message, die Du im Programm auswerten kannst. Näheres siehe MSDN-Library durchsuchenRegisterHotkey, da ist auch ein minimales Beispiel dabei (allerdings C++).

[edit] Mal ein Beipiel (nur ein Form mit einem Label drauf, der Hotkey ist STRG-ALT-A):
Delphi-Quellcode:
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls;

const PM_MYMESSAGE = WM_APP + 100;

type
  TfrmMain = class(TForm)
    Label1: TLabel;
    procedure FormCreate(Sender: TObject);
    procedure FormDestroy(Sender: TObject);
  private
    { Private-Deklarationen }
    procedure WMHotkey(var Msg: TWMHotkey); message WM_HOTKEY;
  public
    { Public-Deklarationen }
  end;

var
  frmMain: TfrmMain;

implementation

{$R *.dfm}

procedure TfrmMain.FormCreate(Sender: TObject);
begin
  if not RegisterHotkey(Handle,PM_MYMESSAGE,MOD_ALT or MOD_CONTROL,Ord('A')) then
    MessageBox(0,'War nix',nil,0);
end;

procedure TfrmMain.FormDestroy(Sender: TObject);
begin
  UnregisterHotkey(Handle,PM_MYMESSAGE);
end;

procedure TfrmMain.WMHotkey(var Msg: TWMHotkey);
begin
  if Msg.HotKey = PM_MYMESSAGE then
    begin
      Label1.Caption := 'Message empfangen';
    end;
end;

end.
[/edit]

Luckie 17. Aug 2009 22:18

Re: Tray anwendung bei bestimmter tasten kombi öffnen
 
Zitat:

Zitat von Christian18
genau, und wie genau verwende ich das? bzw. wie sieht der code aus, wenn das programm auf die taste druck reagieren soll?

Code solltets du unter den Suchergebnissen finden.


Alle Zeitangaben in WEZ +1. Es ist jetzt 09:27 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