سلام
من مي خوام با توابع API بتونم mailam را باز كنم. البته با استفاده از تابع شورت كات يا همون hotkey ولي نميدونم چطوري ؟
البته من مي تونم با اين تابع مثلا يه فايل exe را صدا بزنم و اجرا كنم ولي فقط دو كليد را ميتونم تركيب كنم و نه بيشتر.
مثلا در مثال زير كه calc.exe را صدا زدم .
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls,shellapi, ExtCtrls;
type
TForm1 = class(TForm)
Button1: TButton;
Edit1: TEdit;
Timer1: TTimer;
Button2: TButton;
procedure Button1Click(Sender: TObject);
procedure Edit1Change(Sender: TObject);
procedure Edit1KeyPress(Sender: TObject; var Key: Char);
procedure Edit1KeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
procedure Timer1Timer(Sender: TObject);
procedure Button2Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
uses Math;
{$R *.dfm}
procedure TForm1.FormCreate(Sender: TObject);
begin
RegisterHotKey(Application.Handle,$BFFFA,MOD_WIN,7 4);
end;
procedure TForm1.Timer1Timer(Sender: TObject);
VAR MSG:tagMSG;
begin
WaitMessage;
IF PeekMessage(MSG,Application.Handle,WM_HOTKEY,WM_HO TKEY,PM_REMOVE) THEN
BEGIN
If(HiWord(MSG.lParam)=74)and (LOWORD(MSG.lParam)=MOD_WIN) THEN
BEGIN
WinExec('calc.exe',SW_SHOW);
END;
end;
end;
در مثال بالا WIN + J ماشين حساب ويندوز را صدا ميزنه.
ولي نمي دونم چرا بايد دوبار WIN +J را بزنم تا اين كارو بكنه ؟
ممنون مي شم شما اولا استفاده از اين تابع را براي تركيب سه كليد و دوم اينكه من ميخوام mail را با ساختن شورتكات صدا بزنم.
ممنون از لطف همگي