Большой Воронежский Форум
Страница 1 из 2
1 2 >
» Программирование>эмулятор клавиатуры
Torpedo 14:30 22.06.2008
Нужны какие-нибудь функции С++ (builder или visual studio) с помощью которых можно "сказать" виндовсу, что мол нажата такая-то клавиша. Кто знает отпишитесь, хорошо если будет еще пример кода или ссылка на него.... [Ответ]
Rаvel 14:57 22.06.2008
http://msdn.microsoft.com/en-us/libr...04(VS.85).aspx

Сообщение от :
keybd_event (VK_MENU, 0, KEYEVENTF_EXTENDEDKEY, 0);
keybd_event (VK_F4, 0, KEYEVENTF_EXTENDEDKEY, 0);
keybd_event (VK_F4, 0, KEYEVENTF_EXTENDEDKEY or KEYEVENTF_KEYUP, 0);
keybd_event (VK_MENU, 0, KEYEVENTF_EXTENDEDKEY or KEYEVENTF_KEYUP, 0);

Примерно так выглядит нажатие ALT+F4 на delphi, думаю на С++ будет не сильно отличаться, т.к. API-функция [Ответ]
Torpedo 15:47 22.06.2008
Да, так и есть спс [Ответ]
mlpav 15:18 28.06.2008
Кто нибудь может написать программку на переназначение клавиш в игре [Ответ]
DeniSS1 11:54 06.07.2008
А кто-нибудь может рассказать, как блокировать комбинацию клавиш Alt+Tab+Delete? Блок клавиатуры не помогает. [Ответ]
dn2k4 12:29 06.07.2008

Сообщение от DeniSS1:
блокировать комбинацию клавиш Alt+Tab+Delete?

Под какой операционкой? [Ответ]
Rаvel 12:40 06.07.2008
Назначить на них хоткей, и тогда это сообщение будет вылавливаться программой и не доходить до операционки [Ответ]
dn2k4 12:43 06.07.2008
Под виндой - если коротко, то

- Win9x - SystemParametersInfo(SPI_SETSCREENSAVERRUNNING,... ) блокирующая все спец кнопки
- NT/W2k/XP - замена GINA (»вопрос КС №42578«), требует перезагрузки, "моргает" при нажатии CAD
- NT/W2k/XP - сабклассинг окна SAS, очень грязный метод, возможны синие экраны при Shutdown, так же нелюбим многими антивирусами (некоторые из них просто тупо меняют имя окна, чтобы нечего было сабклассить).
-XP - включение WelcomeScreen (HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon\LogonType=1) плюс замена TaskMgr (HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options\taskmgr.exe\Debugger="?"), не требует перезагрузки,

Под вистой хз, скорей всего только свой подписаный драйвер.

Если подробно, то смотри, например
http://www.delphikingdom.com/asp/ans...IDAnswer=42578
http://www.delphikingdom.com/asp/ans...IDAnswer=45890

А вообще это все от лукавого... Как там было сказано - "при грамотной настройке политик в Альт-Контрол-Дел остается только кнопка "Отмена" [Ответ]
dn2k4 12:43 06.07.2008

Сообщение от Rаvel:
Назначить на них хоткей

А ты попробуй =) [Ответ]
dn2k4 12:52 06.07.2008

Сообщение от DeniSS1:
Alt+Tab+Delete?

А.... Сорри, как "альт-контрол-дел" прочитал =)

UPD: Alt+Tab+Delete - да, обычным хуком... [Ответ]
Rаvel 13:12 06.07.2008

Сообщение от dn2k4:
А ты попробуй =)

Затыкаюсь =) [Ответ]
DeniSS1 20:27 06.07.2008
Блин, очепятался! Alt+Ctrl+Del, конечно!
dn2k4, спасибо, но можно кусок кода? Даже если на Делфях?
[Ответ]
dn2k4 20:45 06.07.2008
По ссылкам походи, которые я давал - там будет пример msgina.dll на дельфях...

Про метод сабклассинга можешь почитать http://www.codeproject.com/KB/winsdk...ioWinLock.aspx, про сабклассинг других процессов в принципе написано тут: http://www.codeproject.com/KB/DLL/subhook.aspx. Да, по английски там =)

Но, повторюсь, все эти грешные методы по сути от беса лукавого, машину в синий экран вгоняющего. У твоей задачи наверняка есть другие, менее кривые решения. Политики в частности. [Ответ]
Part!zan 00:24 07.07.2008
DeniSS1, а зачем тебе блочить эту комбинацию? [Ответ]
xxx-men 06:43 07.07.2008
DeniSS1, в папке ситем32 замени taskmgr.exe на какой либо свой,
можно "эмулятор", тогда ваще все гламурно будет

Сообщение от Part!zan:
а зачем тебе блочить эту комбинацию?

тсс, аццкое ][акерство....
[Ответ]
AIM-9M 07:24 07.07.2008
Автор, скажи лучше, чего ты хочешь добиться в итоге? Может тебе лучше настройками политики безопасности озаботиться? [Ответ]
Part!zan 19:29 07.07.2008

Сообщение от xxx-men:
ситем32 замени taskmgr.exe на какой либо свой

А причем тут КАД? Там не только таскманагер, но возможность сменить пароль тек. юзера, заблокировать-выключить комп и т.д. Замена таскманагера не поможет. Короче, цель автора неясна... [Ответ]
xxx-men 20:14 07.07.2008
Part!zan, как причом, а телепатия типа для ламеров???

если стоит ХР(99%) то при нажатии КАД запускаеца taskmgr.exe, можно его тупо убить , и КАД отключена
[Ответ]
Part!zan 19:59 08.07.2008

Сообщение от xxx-men:
телепатия типа для ламеров

см. мой статус )))

Сообщение от xxx-men:
если стоит ХР(99%) то при нажатии КАД запускаеца taskmgr.exe

Сразу видно, что ХР у тебя не стоит... Про нажатии КАД вылазит окошко "Безопасность Виндовс" (из которого, среди прочего, можно вызвать таскманагер). А таскманагер по контрол-шифт-эск вылазит... [Ответ]
AIM-9M 07:35 09.07.2008
xxx-men,
Part!zan,
не спорьте, то, что случается при нажатии на КАД, зависит от настройки политик безопасности. [Ответ]
DeniSS1 13:00 09.07.2008
Part!zan, AIM-9M, xxx-men, цель довольно проста: сделать незакрываемое окно. Кнопку с крестиком я уже заблокировал, в меню, которое появляется при щелчке по окну в панели задач, тоже строчку "закрыть" ликвидировал, от Alt+F4 помогает хоткей. А от CAD не помагает ничего, но немного спасает убирание строки ShowWindow(); Но всё равно можно закрыть его, завершив процесс. Поэтому и ищу способы блока
P.S. У меня при нажатии и CAD, и CSE вылезает диспечер задач.
[Ответ]
Rаvel 13:38 09.07.2008

Сообщение от :
Timer1.Interval:=10;

procedure TForm1.Timer1Timer(Sender: TObject);
var h: HWND;
begin
h:=FindWindow(nil, 'Диспетчер задач Windows'); //если другой язык ОС , то просто заголовок
if h<>0 then
PostMessage(h, wm_quit, 0, 0);
end;

Если скажем так...? Думаю на С++ легко перевести, т.к. опять же функции виндовые
И от диспетчера остаются только неубитые иконки в трее xD [Ответ]
dn2k4 14:26 09.07.2008

Сообщение от DeniSS1:
сделать незакрываемое окно

Воистину многие знания порождают многие печали... =)

Чтобы сделать незакрываемое окно надо не крестик убирать, а WM_CLOSE или как оно там обрабатывать. Хочешь другого ты, сдается мне =) [Ответ]
DeniSS1 15:08 09.07.2008

Сообщение от dn2k4:
Чтобы сделать незакрываемое окно надо не крестик убирать, а WM_CLOSE или как оно там обрабатывать.

Долбануться! Всё, вопросов больше нет. [Ответ]
Part!zan 19:50 09.07.2008
DeniSS1, от убийства процесса обрабатывание WM_CLOSE не спасет. А зачем тебе незакрываемое окно вообще нужно? [Ответ]
dn2k4 19:59 09.07.2008

Сообщение от Part!zan:
от убийства процесса обрабатывание WM_CLOSE не спасет

Кстати да. Причем никто, кроме политики, не помешает мне запустить taskkill =) [Ответ]
Part!zan 20:11 09.07.2008
dn2k4, помимо тасккилл есть масса других "убивалок", так что политики тут тоже в пролете. Процесс не может убить юзер, у которого не хватит привилегий. Но так как админ может все, то... Хотя, если попортить админские права политиками, может че и выйдет. Но это уже разбой среди бела дня и "простителен" только вредоносному ПО. ) [Ответ]
...Neptun... 02:04 10.07.2008

Сообщение от Part!zan:
DeniSS1, А зачем тебе незакрываемое окно вообще нужно?

Просто он делает особую...уличную магию.. XD [Ответ]
xxx-men 11:48 02.08.2008
DeniSS1, у мну пропал диспечер задач, признавайся твой вирус? [Ответ]
Part!zan 14:35 02.08.2008
xxx-men, пропил небось... На курсах по мультимедии ))) [Ответ]
Страница 1 из 2
1 2 >
Вверх