Programa Kısayol Tuşu Eklemek

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
Cevapla
Kullanıcı avatarı
onselder
Üye
Mesajlar: 54
Kayıt: 09 Şub 2005 05:56
Konum: samsun
İletişim:

Programa Kısayol Tuşu Eklemek

Mesaj gönderen onselder »

S.A.

Arkadaşlar bir proje yaptım. Bu programı ne görev çubuğunda ne de saatin yanında görülmesini istemiyorum. Bunun için gerekkli işlemleri yaptımç. Ama formu hide yaptığımda tekrar çalışması için bir kısayol tuşuna atamak istiyorum(örn:ctrl+shift+h).bu tuş kombinasyonuna basınca program ekrana gelecek yani show olacak. Keylogger programlarında olduğu gibi...
İnşallah anlatabilmişimdir derdimi.

Bu konu hakkında bana yön gösterecek veya bilgi verecek arkadaşlara teşekkurler...
recepuncu
Üye
Mesajlar: 66
Kayıt: 04 Nis 2006 08:22
Konum: Çorum

Mesaj gönderen recepuncu »

merhaba kardiş, sana örnek bir program gönderiyim....

Kod: Tümünü seç

unit Unit1; 

interface 

uses 
  Windows, Messages, Forms, Dialogs; 

type 
  TForm1 = class(TForm) 
    procedure FormCreate(Sender: TObject); 
    procedure FormDestroy(Sender: TObject); 
  private 
    // Hotkey Ids 
    id1, id2, id3, id4: Integer; 
    procedure WMHotKey(var Msg: TWMHotKey); message WM_HOTKEY; 
    { Privat-Declarations} 
  public 
    { Public-Declarations} 
  end; 

var 
  Form1: TForm1; 

implementation 

{$R *.DFM} 

// Trap Hotkey Messages 
procedure TForm1.WMHotKey(var Msg: TWMHotKey); 
begin 
  if Msg.HotKey = id1 then 
    ShowMessage('Ctrl + A was pressed !'); 
  if Msg.HotKey = id2 then 
    ShowMessage('Ctrl + Alt + R was pressed !'); 
  if Msg.HotKey = id3 then 
    ShowMessage('Win + F4 was pressed !'); 
  if Msg.HotKey = id4 then 
    ShowMessage('Print Screen was pressed !'); 
end; 


procedure TForm1.FormCreate(Sender: TObject); 
  // Different Constants from Windows.pas 
const 
  MOD_ALT = 1; 
  MOD_CONTROL = 2; 
  MOD_SHIFT = 4; 
  MOD_WIN = 8; 
  VK_A = 65; 
  VK_R = 82; 
  VK_F4 = 115; 
begin 
  // Register Hotkey Ctrl + A 
  id1 := GlobalAddAtom('Hotkey1'); 
  RegisterHotKey(Handle, id1, MOD_CONTROL, VK_A); 

  // Register Hotkey Ctrl + Alt + R 
  id2 := GlobalAddAtom('Hotkey2'); 
  RegisterHotKey(Handle, id2, MOD_CONTROL + MOD_Alt, VK_R); 

  // Register Hotkey Win + F4 
  id3 := GlobalAddAtom('Hotkey3'); 
  RegisterHotKey(Handle, id3, MOD_WIN, VK_F4); 

  // Globally trap the Windows system key "PrintScreen" 
  id4 := GlobalAddAtom('Hotkey4'); 
  RegisterHotKey(Handle, id4, 0, VK_SNAPSHOT); 
end; 

// Unregister the Hotkeys 
procedure TForm1.FormDestroy(Sender: TObject); 
begin 
  UnRegisterHotKey(Handle, id1); 
  UnRegisterHotKey(Handle, id2); 
  UnRegisterHotKey(Handle, id3); 
  UnRegisterHotKey(Handle, id4); 
end; 

end.
[/code]
"Şu deredeki su,kaç kere değişti,yıldızların akisleri hep yerinde."
Kullanıcı avatarı
onselder
Üye
Mesajlar: 54
Kayıt: 09 Şub 2005 05:56
Konum: samsun
İletişim:

Mesaj gönderen onselder »

programın kısayolunu registere atmak mı gerekiyor
Kullanıcı avatarı
zynex
Üye
Mesajlar: 87
Kayıt: 02 Nis 2006 02:53
Konum: Çanakkale

merhaba

Mesaj gönderen zynex »

arkadaşımızın gönderdiği kodu denemedim ama kapalı bir programı windowsta çalıştırmak istiyorsan registeri kullanmalısın tabi başka yoluda olabilir.
Kullanıcı avatarı
onselder
Üye
Mesajlar: 54
Kayıt: 09 Şub 2005 05:56
Konum: samsun
İletişim:

Mesaj gönderen onselder »

hayır program kapalı olmayacak açık olacak sadece simgesi gözükmeyecek.yani simgesi olmaması olmamasına karşın görev yöneticisinden işlemlere baktığımızda orda ismi olacak. yani çalışan programı bir tuş koduyla çalıştırmak.
bir nevi golden eye tarzındaki keylogger programlardaki gibi...
Cevapla