PDA

View Full Version : تشخیص/تعریف کلیدهای Shortcut در سطح سیستم



said ali
چهارشنبه 02 مهر 1382, 12:16 عصر
با سلام
فرض کنید که یک برنامه فرمی ندارد و در ویندوز در قسمت TryIcon اجرا میشود چطوری میشود با استفاده از Shortcut مثل F1,... برنامه رو کنترل کرد .فکر کنم با استفاده از توابع Message بشه یک کارهایی کرد ولی چطوری؟؟؟؟
با تشکر فراوان :wink: :wink: :wink: :wink: :wink: :wink:

با عرض پوزش٬ عنوان این بحث توسط DELPHIAREA به عنوانی گویاتر تغییر داده شد.

SyntaxCheck
سه شنبه 08 مهر 1382, 22:47 عصر
برای کپچر کردن یک هات کی در ویندوز بصورت زیر عمل کنید:
1) در قسمت اینترفیس برنامه و در بخش پابلیک کلاس فرمتون این رو اضافه کنید:


public
{ Public declarations }
procedure AppMessage(var Msg: TMsg; var Handled: Boolean);
end;


2) در روال OnCreate از فرمتون این رو اضافه کنید.



procedure TFrom1.FormCreate(Sender: TObject);
begin
Application.OnMessage := AppMessage;
windows.RegisterHotKey(Capture.Handle,1,MOD_CONTRO L,ord('G'));

end;


3) پراسیجر زیر رو به برنامه اضافه کنید:



procedure TCapture.AppMessage(var Msg: TMsg; var Handled: Boolean);
begin
if Msg.message = WM_HOTKEY then
if HiWord(Msg.lParam) = ord('G') then
...
end;


کدهای بالا ترکیب کلیدی Ctrl+G رو برای شما کپچر میکنن و در پراسیجر AppMessage شما میتونید عکس العمل دلخواه رو برنامه ریزی کنید.

said ali
شنبه 12 مهر 1382, 16:08 عصر
با سلام
با عرض تشکر فراوان از آقای SyntaxCheck عزیز :lol: :lol: :lol: :lol:
لطفا در مورد کلیدهای F1,F2,......F12 نیز توضیح دهید.
با عرض تشکر فراوان.

SyntaxCheck
یک شنبه 13 مهر 1382, 00:09 صبح
VK_F1,VK_F2,..., الی VK_F12 کدهای کلیدهای شما هستند.
توی هلپ دلفی کمی بیشتر مطالعه کنید جوابهای سوالهاتون رو خیلی راحت تر پیدا میکنید.

پیروز باشید