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

Вниз

Как отловить нажатие горячих клавиш из потока?   Найти похожие ветки 

 
HeWSter   (2003-04-09 15:52) [0]

сабж (ИМХО хэндла у формы-то нету :( И что делать?


 
Digitman   (2003-04-09 16:27) [1]


> хэндла у формы-то нету


а откуда ему взяться-то ? хэндл есть у окна, а у формы никаких хэндлов нет !

но даже если ты имеешь "хэндл окна", то и это не поможет.
необходимо знать ThreadId того кодового потока, который создал интересующее тебя окно, и вот тогда уже можно будет воспользоваться ф-цией AttachThreadInput()

цитирую хэлп :

Windows created in different threads typically process input independently of each other. That is, they have their own input states (focus, active, capture windows, key state, queue status, and so on), and they are not synchronized with the input processing of other threads. By using the AttachThreadInput function, a thread can attach its input processing to another thread. This also allows threads to share their input states, so they can call the SetFocus function to set the keyboard focus to a window of a different thread. This also allows threads to get key-state information. These capabilities are not generally possible.

The AttachThreadInput function fails if either of the specified threads does not have a message queue. The system creates a thread"s message queue when the thread makes its first call to one of the Win32 USER or GDI functions. The AttachThreadInput function also fails if a journal record hook is installed. Journal record hooks attach all input queues together.
Note that key state, which can be ascertained by calls to the GetKeyState or GetKeyboardState function, is reset after a call to AttachThreadInput.


 
malkolinge   (2003-04-09 16:34) [2]

А может еще проще ? использовать Syncronize(Method)

Method - выполняеться в контексте главного потока, в нем мы и ловим нашу комбинацию ?
Не уверен, что из этого что-то получиться, но может стоит попробовать ?


 
HeWSter   (2003-04-10 08:22) [3]

to malkolinge У нас вообще формы нету :)


 
Digitman   (2003-04-10 09:38) [4]


> HeWSter


А о каких "горячих клавишах" тогда идет речь ? Поясни.


 
Anatoly Podgoretsky   (2003-04-10 10:07) [5]

HeWSter (10.04.03 08:22)
зачем вводишь тогда в заблуждение?


 
Zelius   (2003-04-10 11:55) [6]

SetWindowHookEx ?


 
malkolinge   (2003-04-10 13:20) [7]


> зачем вводишь тогда в заблуждение?

Тест на профпригодность...У нас нету формы, клавиатуры и мыши...КАК ОТЛОВИТЬ горячие клавиши ?


> SetWindowHookEx ?


Нету ж окна ? или хендл аппликейшна указывать ? (самому интересно стало)


 
Zelius   (2003-04-10 13:42) [8]

Для SetWindowHookEx окно не нужно.


 
HeWSter   (2003-04-11 11:04) [9]

Горячих клавиш клавиатуры! :)


 
Digitman   (2003-04-11 11:23) [10]


> HeWSter


она, клава-то, у тебя видать "горячкой" заболела ?)
у "здоровой" клавы никих патологий типо "горячая клавиша" нет ! И быть не может)


 
HeWSter   (2003-04-12 14:48) [11]

Блин, у нас прога бэкграундом работает! И окна у нее нету, и
вся её цель - запустить поток (при старте Винды) и дождаться
его завершения (выхода из Винды)!


 
аноним   (2003-04-12 17:48) [12]

> malkolinge ©
>> SetWindowHookEx ?

>Нету ж окна ? или хендл аппликейшна указывать ? (самому интересно стало)


не прокатит - пыркался уже на "Свернуть все окна"))


 
HeWSter   (2003-04-16 07:11) [13]

Мля...



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

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

Наверх





Память: 0.47 MB
Время: 0.009 c
11-91237
Kirill
2002-07-18 11:42
2003.04.28
MAIN ICON


4-91584
Diamond Cat
2003-02-28 03:45
2003.04.28
Ресурсы


3-91150
me2
2003-04-08 14:52
2003.04.28
Две трансакции


14-91508
InterSoft
2003-04-10 20:12
2003.04.28
www.intersoft.boom.ru


4-91589
Darkman
2003-03-02 16:41
2003.04.28
Определение вида (topmost или нет) окна по handle





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский