تعريف كليد ميانبر در كل سيستم
با سلام
من ميخواهم در فرم اصلي برنامه , كليدي را تعريف كنم كه كاربر هر موقع و در هركجاي سيستم كه كليدهاي مورد نظر را فشار ميدهد برنامه اي را اجرا كند . برنامه ام حدودا 30 تا فرم دارد .من ميخواهم اين كليدها در تمام فرم اجرا شود يعني كاربر حتي در داخل هر فرمي كه اين كليد را فشار ميدهد برنامه اجرا شود .
با تشكر
نقل قول: تعريف كليد ميانبر در كل سيستم
نقل قول:
نوشته شده توسط
سیروس مقصودی
با سلام
من ميخواهم در فرم اصلي برنامه , كليدي را تعريف كنم كه كاربر هر موقع و در هركجاي سيستم كه كليدهاي مورد نظر را فشار ميدهد برنامه اي را اجرا كند . برنامه ام حدودا 30 تا فرم دارد .من ميخواهم اين كليدها در تمام فرم اجرا شود يعني كاربر حتي در داخل هر فرمي كه اين كليد را فشار ميدهد برنامه اجرا شود .
با تشكر
می تونید از Hook استفاده کنید
برای نمونه در فرم اصلی برنامه کدهای زیر رو درج کنید تا با فشردن کلید F3 در هر کدام از فرم ها، پیغام درج شده نمایش داده شود:
.
.
.
var
Form1: TForm1;
KBHook: HHook;
procedure KeyboardHookProc(Code: Integer; WordParam: Word; LongParam: LongInt); stdcall;
implementation
.
.
.
procedure KeyboardHookProc(Code: Integer; WordParam: Word; LongParam: LongInt);
begin
if WordParam = VK_F3 then
ShowMessage('alirezapuyafar@gmail.com');
end;
procedure TForm1.FormCreate(Sender: TObject);
begin
KBHook:=SetWindowsHookEx(WH_KEYBOARD, @KeyboardHookProc, HInstance, GetCurrentThreadId()) ;
end;
procedure TForm1.FormDestroy(Sender: TObject);
begin
UnHookWindowsHookEx(KBHook) ;
end;
نقل قول: تعريف كليد ميانبر در كل سيستم
سلام
روی فرم اصلی یک ApplicationEvent بندازید و در رویداد Messgae اون رو هندل کنید.
نقل قول: تعريف كليد ميانبر در كل سيستم
سلام
نقل قول:
می تونید از Hook استفاده کنید
با تشكر . من مواردي را كه فرموده بوديد انجام دادم ولي اجازه هيچ تايپي را به من نميده
نقل قول: تعريف كليد ميانبر در كل سيستم
نقل قول:
نوشته شده توسط
سیروس مقصودی
سلام
با تشكر . من مواردي را كه فرموده بوديد انجام دادم ولي اجازه هيچ تايپي را به من نميده
از تابع به جای پروسیجر به صورت زیر استفاده کنید مشکل تایپ حل میشه:
.
.
.
function KeyboardHookProc(Code: Integer; WordParam: Word; LongParam: LongInt):LongInt; stdcall;
implementation
{$R *.dfm}
function KeyboardHookProc(Code: Integer; WordParam: Word; LongParam: LongInt):LongInt;
begin
if WordParam = VK_F3 then
ShowMessage('alirezapuyafar@gmail.com');
Result := 0;
end;
.
.
.