PDA

View Full Version : چطوری بفهم که الان کدام کلید زده شده



ali reza omid ali
یک شنبه 06 آذر 1384, 10:16 صبح
چطوری بفهم که الان کدام کلید زده شده

Touska
یک شنبه 06 آذر 1384, 10:27 صبح
از onkeypress استفاده کنید.

دنی کوئیل
یک شنبه 06 آذر 1384, 13:04 عصر
حالا چه جوری می توانیم کاری کنیم که کلید Enter زده شود

به طور مثال یه پیغام از طف ویندوز داده شده است بعد ما می خواهیم این پیغام را از دلفی کنترل کنیم

mzjahromi
یک شنبه 06 آذر 1384, 13:17 عصر
چه کاری می خواهید انجام بدید
کجا می خواهید این کار رو بکنید.
کدوم کلید رو می خواهید؟

دنی کوئیل
یک شنبه 06 آذر 1384, 16:45 عصر
من یه Activex دارم که میگه باید ریجستر بشه یعنی اولش برنامه اجرا می شه بعدش موقع خارج شدن پیغام میده

یه پیغام OK دار

حالا می خواهم این Ok را با شبیه سازی کیبورد بردارم توسط یک برنامه دیگر که قبل از خروج برنامه اصلی آن را صدا کنم

oghab
یک شنبه 06 آذر 1384, 17:54 عصر
چطوری بفهم که الان کدام کلید زده شده
نقل شده از help دلفی:


Delphi OnKeyPress example
The following Delphi example demonstrates how OnKeyPress and OnKeyDown can be coded to handle keyboard events.
The OnKeyPress event contains a key parameter of type Char. Therefore if you want to test for which key the user pressed, you simply enter the character.

procedure TForm1.FormKeyPress(Sender: TObject; var Key: Char);

begin
case key of
'I': Panel1.Caption := 'Shift+I was pressed';
'c': Panel1.caption := 'c was pressed';
' ': Panel1.caption := 'the space bar was pressed';
end;
end;

With OnKeyDown, the key parameter is of type Word. Therefore if you want to test for which key the user pressed, you must refer to the equivalent Virtual Key codes (see Virtual key codes).

procedure TForm1.FormKeyDown(Sender: TObject; var Key: Word;

Shift: TShiftState);
begin
case key of
vk_Insert: Panel1.Caption := 'INS';
vk_Capital: Panel1.caption := 'CAP';
vk_Numlock: Panel1.caption := 'NumLock';
end;
end;

شاید این مثال کمکتون کنه!
موفق باشید!


حالا چه جوری می توانیم کاری کنیم که کلید Enter زده شود

به طور مثال یه پیغام از طف ویندوز داده شده است بعد ما می خواهیم این پیغام را از دلفی کنترل کنیم
شما هم بهتره وقتی سوالتون با موضوع این تاپیک فرق داره تو یه تاپیک جدید مطرحش کنین!

Hamid_PaK
دوشنبه 07 آذر 1384, 06:31 صبح
شما می تونید Handle پیغام رو جستجو کنید و بعد Handle دکمه که در نتیجه می تونید با ارسال مسیج های دکمه انو کلیک کنید ، درباره این موضوع چندین بار بحث شده یه سرچ برن پیداش می کنید ...
(SendMessage or PostMessage) (FindWindow and FindWindowEx)

یا حق !!!

MiRHaDi
دوشنبه 07 آذر 1384, 13:10 عصر
سلام
باید از sendmessage استفاده کنی و کلید رو کلیک کنی
بای