Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2004.05.02;
Скачать: [xml.tar.bz2];

Вниз

Можно сделать перехват клавиш в проге с активным MessageBox?   Найти похожие ветки 

 
Aleksandr ©   (2004-04-08 19:14) [0]

Для Виндов понятно - нужно дллу делать. А для одной программы? Мне надо, чтобы при появлении окна MessageBox юзер определенным нажатием мог сбросить мне информацию, которая содержится в программе, до его закрытия.


 
Fay ©   (2004-04-08 19:18) [1]

if MessageBox(Application.Handle, "Послать чё-то автору?", "????", MB_YESNO) = IDYES then


 
Aleksandr ©   (2004-04-08 19:28) [2]

Зачем еще один MessageBox? Мне нужно, чтобы он, не закрывая уже активного MessageBox"a, нажал сочетание клавиш, отправляющее информацию, а затем уже тыркал кнопки на сообщении.


 
Fay ©   (2004-04-08 19:30) [3]

Я просто предложил оформить так "уже активный" MessageBox...


 
Юрий Зотов ©   (2004-04-08 20:36) [4]

> Aleksandr ©   (08.04.04 19:14)  
> Для Виндов понятно - нужно дллу делать. А для одной программы?

А для одной программы можно написать и поставить точно такой же хук, но не в DLL, а прямо в этой программе.
См. SetWindowsHookEx.


 
Style ©   (2004-04-08 20:51) [5]

Aleksandr ©

Еще можно попробовать создать отдельную нить
и в ней использовать GetKeyState или GetKeyboardState..


 
Aleksandr ©   (2004-04-14 12:04) [6]

2 Юрий Зотов : Прямо в основном потоке?

2 Style : Нада попробовать.


 
Aleksandr ©   (2004-04-14 13:19) [7]

Получилось с GetKeyState. Только с нажатием Ctrl какая-то проблема:

procedure TKeyHookThread.Execute;
var
 i : smallint;
 W : integer;
begin
 repeat
   w:=VK_F12 OR VK_Control;
   i:=GetKeyState(w);
   if (i=1) AND Assigned(FOnKeyDown) then
     FOnKeyDown(FKeyMsg)
 until Terminated
end;

Делаешь w=VK_F12 - срабатывает по нажатию F12, как положено, а делаешь, как в коде - все время возвращает 1, хотя клавиш и близко не нажимал...


 
Aleksandr ©   (2004-04-14 15:10) [8]

Епрст... И по методу Юрия Зотова, и по второму - везде срабатывает эксепшин с грозным окном ЦПУ... нифига не понимаю.



Страницы: 1 вся ветка

Форум: "Основная";
Текущий архив: 2004.05.02;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.46 MB
Время: 0.035 c
7-1074852683
Evgeniy_K
2004-01-23 13:11
2004.05.02
Работа с устройствами


3-1081416502
wild_arg
2004-04-08 13:28
2004.05.02
Выбор максимума внутри групп


14-1081838585
REA
2004-04-13 10:43
2004.05.02
Наследование


6-1078770485
Soft
2004-03-08 21:28
2004.05.02
Роутинг протокола Netbios или общая область видимости имен Win.


3-1081353922
Алексей Комлев
2004-04-07 20:05
2004.05.02
Как получить результат TQuery в виде набора строк?





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский