justice_st #2101 25 ноября 2013 (изменено) http://blogs.msdn.co.../03/589423.aspxктонибудь может объяснить, почему все перестаёт работать если поменять sethook на private static IntPtr SetHook(LowLevelKeyboardProc proc, int ext_keyID) { using (Process curProcess = Process.GetCurrentProcess()) using (ProcessModule curModule = curProcess.MainModule) { return SetWindowsHookEx(ext_keyID, proc, GetModuleHandle(curModule.ModuleName), 0); } }соответственно вызов в мейне будет такойIntPtr _hookIDctrl = SetHook(_proc, 16);по сути ничего особо не меняется, только убирается глобальная переменная и за место нее кастомнаяи почему не канает делать винформ с аутпутом = консоль?бтв этот код работает не только для интера, но вообще для всех клавиш, вот они работнички майкрософта Изменено 25 ноября 2013 пользователем justice_st Поделиться сообщением Ссылка на сообщение
Tinplz #2102 25 ноября 2013 С консолью все просто. Перед тем как ее использовать, нужно ее создать: AllocConsole и ее семейство. А с хуком - непонятен вопрос. Все перестает работать - это расплывчатое определение. Когда я работал с кудой, то все переставало работать - это или перезагрузка дравера по таймауту, или ребут.Совсем недавно все переставало работать, когда процесс жрал 7гб оперативы и память начинала пэйджиться. Мануал ребут.Поэтому лучше уточни, как Именно у тебя Всё не работает.бтв, я давно уже в шарпе не писал, но может все же стоило бы выделить под поинтер память? Или оно и так работает. Поделиться сообщением Ссылка на сообщение
justice_st #2103 25 ноября 2013 (изменено) Ну я жмакал кнопки - они выводились в консольке. Суть была что этот хуюк улавливает сингл нажатие шифта и контрола и может их обрабатывать, при этом пох активна консоль или нет. Тот же регистерхоткей этого не может.Я вот переписал под это обработчик (выводим только если нажимается шифт или контрл, еще раскладку переключал заодно), все работало. Решил поменять вызов, сетхук вот етот - все, не работает. Я думал, вот указал автор этого кода вручную код 13 - это интер - значит оно на интер и реагировать должно, к нему привязано должно быть. Регистрируется то тоже всё на интер. Только вот отлавливались и выводились вообще все кнопки.Причем понял я из-за чего все накрылось тазом только через час гдетоС консолью все просто. Перед тем как ее использовать, нужно ее создать: AllocConsole и ее семейство.И из-за этого я не должен так делать? Мне прям буржуи так и написали - First off, you should not use console output in win forms. Изменено 25 ноября 2013 пользователем justice_st Поделиться сообщением Ссылка на сообщение
DIMAN123456789 #2104 25 ноября 2013 (изменено) http://blogs.msdn.co.../03/589423.aspxктонибудь может объяснить, почему все перестаёт работать если поменять sethook на private static IntPtr SetHook(LowLevelKeyboardProc proc, int ext_keyID) { using (Process curProcess = Process.GetCurrentProcess()) using (ProcessModule curModule = curProcess.MainModule) { return SetWindowsHookEx(ext_keyID, proc, GetModuleHandle(curModule.ModuleName), 0); } }соответственно вызов в мейне будет такойIntPtr _hookIDctrl = SetHook(_proc, 16);по сути ничего особо не меняется, только убирается глобальная переменная и за место нее кастомнаяи почему не канает делать винформ с аутпутом = консоль?бтв этот код работает не только для интера, но вообще для всех клавиш, вот они работнички майкрософта Может потому что функция setWindowsHookEx не ожидает приёма первым аргументом флага = 16?Судя по докам, доступные значения: 4,12,5,9,11,3,1,0,2,13,7,14,-1,10,6И вообще лучше всегда пользуйся константами, а не магическими переменными. Изменено 25 ноября 2013 пользователем DIMAN123456789 Поделиться сообщением Ссылка на сообщение
justice_st #2105 25 ноября 2013 Дак это получается вообще не код клавиши? Ну пздц Поделиться сообщением Ссылка на сообщение
Tinplz #2106 25 ноября 2013 (изменено) бтв да.HHOOK WINAPI SetWindowsHookEx( _In_ int idHook, _In_ HOOKPROC lpfn, _In_ HINSTANCE hMod, _In_ DWORD dwThreadId); хуету ты сделал какую-то http://msdn.microsoft.com/en-us/library/windows/desktop/ms644990(v=vs.85).aspx Изменено 25 ноября 2013 пользователем Tinplz Поделиться сообщением Ссылка на сообщение
justice_st #2107 25 ноября 2013 (изменено) То есть я поменял его 13 на моё 16, и все, пиздец?Корочи, есть идеи как устроен пунто свитчер? Вот с этой хуергой невозможно ввести большую букву - на шифте то бинд. Но всякие комбинации с контролом работают. Какой-то там хитровыебанный эвент стоит Изменено 25 ноября 2013 пользователем justice_st Поделиться сообщением Ссылка на сообщение
Tinplz #2108 25 ноября 2013 Так влезь под дизасмом и посмотри какие он функции импортит.Лично я себе это говно даже в тестовых целях на комп ставить не буду. Поделиться сообщением Ссылка на сообщение
justice_st #2109 25 ноября 2013 (изменено) Я тоже нехочу ставитьhttp://forum.ixbt.co...cgi?id=15:66130решил вот сам написать, осталось с шифтом (заглавные буквы) разобраться Изменено 25 ноября 2013 пользователем justice_st Поделиться сообщением Ссылка на сообщение
Tinplz #2110 25 ноября 2013 А словари какие использовать собираешься то? Он же вроде именно так таботает: быстрым поиском по словарям, и если не может найти слово после некоторого количества миссов, переключает словарь и пытается найти там. Поделиться сообщением Ссылка на сообщение
justice_st #2111 25 ноября 2013 Да мне на это пох (никогда не включал эту штуку), главное язык переключать одной кнопкой, это имба Поделиться сообщением Ссылка на сообщение
Tinplz #2112 25 ноября 2013 Да мне на это пох (никогда не включал эту штуку), главное язык переключать одной кнопкой, это имбаКроме пд язык в принципе не переключаю. В чем имба то Поделиться сообщением Ссылка на сообщение
Двапой #2113 26 ноября 2013 На винде нельзя дефолтными средствами забиндить смену раскладки на одну клавишу? Мобильное приложение для продоты https://play.google....id=ru.prodota.m Поделиться сообщением Ссылка на сообщение
TheDeadSkin #2114 26 ноября 2013 что значит на одну? на какую именно одну? Поделиться сообщением Ссылка на сообщение
prostoYaKrytoy #2115 26 ноября 2013 то и значит, что забиндить на 1ну клавишу, которую ты не юзаешь:))) или альт+клавиша, можно? Поделиться сообщением Ссылка на сообщение
Двапой #2116 26 ноября 2013 У меня на капс лок забинжено. Батя жив. Мобильное приложение для продоты https://play.google....id=ru.prodota.m Поделиться сообщением Ссылка на сообщение
TheDeadSkin #2117 26 ноября 2013 дефолтно на одну клавишу нельзя ну а вообще я хз, у меня 4 раскладки и альтшифт вполне устраивает Поделиться сообщением Ссылка на сообщение
KyKyLLLka #2118 26 ноября 2013 Всем привет! Нужна программа для построения блок схем, паскаль и С, сам пользуюсь визио но уже поднадоело, хочу просто написать код и получить блок схему! И чтобы всё было ровно и правильно и с возможностью переносить блок схему в Ворд, для дальнейшего распечатанья. Сам искал находил хуйню, может кто из вас посоветует. Поделиться сообщением Ссылка на сообщение
Ubububu #2119 26 ноября 2013 Всем привет! Нужна программа для построения блок схем, паскаль и С, сам пользуюсь визио но уже поднадоело, хочу просто написать код и получить блок схему! И чтобы всё было ровно и правильно и с возможностью переносить блок схему в Ворд, для дальнейшего распечатанья. Сам искал находил хуйню, может кто из вас посоветует.Код пишется по блок-схеме, а не наоборот. Поделиться сообщением Ссылка на сообщение
KyKyLLLka #2120 26 ноября 2013 Всем привет! Нужна программа для построения блок схем, паскаль и С, сам пользуюсь визио но уже поднадоело, хочу просто написать код и получить блок схему! И чтобы всё было ровно и правильно и с возможностью переносить блок схему в Ворд, для дальнейшего распечатанья. Сам искал находил хуйню, может кто из вас посоветует.Код пишется по блок-схеме, а не наоборот.У нас сейчас элементарные задачки, так что смысла не вижу, но выходят порой на 70 строк. Так что делать блок схему очень нежелательно хочется халявы Поделиться сообщением Ссылка на сообщение