Форум: "WinAPI";
Текущий архив: 2013.03.22;
Скачать: [xml.tar.bz2];
ВнизHook&Uac Найти похожие ветки
← →
QAZ (2009-12-15 19:14) [0]столкнулся с проблеммой, когда хукаеца клава только тогда, когда активно приложение без админ. прав
если запускать под админом то все ОК, но так нельзя
вопрос. как ловить все хуки без админ.прав ?
зы. почему на форме для вопроса нет чекбоксов Vista&Win7?
← →
DVM © (2009-12-15 20:12) [1]
> как ловить все хуки без админ.прав ?
WH_KEYBOAD_LL
← →
DVM © (2009-12-15 20:13) [2]WH_KEYBOARD_LL
← →
brother © (2009-12-16 04:41) [3]> Vista
уже старо и не актуально ;)
← →
Егорка (2009-12-16 11:30) [4]
> WH_KEYBOARD_LL
:) собственно с ним и проблемма
← →
QAZ (2009-12-16 12:15) [5]
> :) собственно с ним и проблемма
вово у меня тоже этот хук используется,забыл сразу написать
← →
Сергей М. © (2009-12-16 12:37) [6]
> с ним и проблемма
> у меня тоже этот хук используется
И оба поди реализовали его в dll)
← →
QAZ (2009-12-16 13:13) [7]неа :) в самой проге
← →
Сергей М. © (2009-12-16 13:50) [8]
> QAZ (16.12.09 13:13) [7]
И чего говорит результат вызова SetWindowsHookEx ?
← →
QAZ (2009-12-16 14:25) [9]говорит "вот тибе хендл процедуры, иди с миром"
и собствено НЕ хукает только если активно окно проги под админом
← →
QAZ (2009-12-16 14:32) [10]также хотелось бы слышать версии
не людей у которых стоит ХР и они предпологают что...
а тех кто сидит на Висте\Семерке и у них это работает :)
← →
DVM © (2009-12-16 19:51) [11]Если бы WH_KEYBOAD_LL у меня в Win7 не работал, я бы не писал, однако ж все работает. И админских прав не требует.
← →
DVM © (2009-12-16 19:56) [12]Я уже этот код выкладывал, выложу еще раз. Под W7 прекрасно работает без админских прав.
{******************************************************************************}
{* Module: DisableLowLevelKeys.cpp *}
{* Notices: Written 2000 Jeffrey Richter *}
{* *}
{* Translated by: Dmitry Muratov *}
{* 2008 *}
{******************************************************************************}
program DisableLowLevelKeys;
uses
Windows, Messages;
const
LLKHF_ALTDOWN = KF_ALTDOWN shr 8;
WH_KEYBOARD_LL = 13;
type
TKBDLLHOOKSTRUCT = record
vkCode: DWORD;
scanCode: DWORD;
flags: DWORD;
time: DWORD;
dwExtraInfo: DWORD;
end;
PKBDLLHOOKSTRUCT = ^TKBDLLHOOKSTRUCT;
var
hhkLowLevelKybd: HHOOK;
//------------------------------------------------------------------------------
function LowLevelKeyboardProc(nCode: integer; wParam: WPARAM; lParam: LPARAM): LRESULT; stdcall;
var
fEatKeystroke: boolean;
p: PKBDLLHOOKSTRUCT;
begin
fEatKeystroke := false;
if nCode = HC_ACTION then
begin
case wParam of
WM_KEYDOWN,
WM_SYSKEYDOWN,
WM_KEYUP,
WM_SYSKEYUP:
begin
p := PKBDLLHOOKSTRUCT(lParam);
fEatKeystroke := ((p^.vkCode = VK_LWIN) or (p^.vkCode = VK_RWIN)) or
((p^.vkCode = VK_TAB) and ((p^.flags and LLKHF_ALTDOWN) <> 0)) or
((p^.vkCode = VK_ESCAPE) and ((p^.flags and LLKHF_ALTDOWN) <> 0)) or
((p^.vkCode = VK_ESCAPE) and ((GetKeyState(VK_CONTROL) and $8000) <> 0)) or
((p^.vkCode = VK_F4) and ((p^.flags and LLKHF_ALTDOWN) <> 0));
end;
end;
end;
if fEatKeystroke then
result := 1
else
result := CallNextHookEx(0, nCode, wParam, lParam);
end;
//------------------------------------------------------------------------------
begin
// Install the low-level keyboard & mouse hooks
hhkLowLevelKybd := SetWindowsHookEx(WH_KEYBOARD_LL, LowLevelKeyboardProc, hInstance, 0);
// Keep this app running until we"re told to stop
MessageBox(0,
PChar("Alt+Esc, Ctrl+Esc, WIN, Alt+F4, and Alt+Tab are now disabled." + #13#10 +
"Click "Ok" to terminate this application and re-enable these keys."),
PChar("Disable Low-Level Keys"),
MB_OK);
// Remove hooks
UnhookWindowsHookEx(hhkLowLevelKybd);
end.
← →
QAZ (2009-12-16 20:00) [13]и как он у тибя креатица\обрабатывается ?
← →
QAZ (2009-12-16 20:00) [14]опередил :)
← →
DVM © (2009-12-16 20:01) [15]
> и как он у тибя креатица\обрабатывается ?
что конкретно непонятно в коде?
← →
QAZ (2009-12-16 20:06) [16]бгг. не работает :)
у тибя уак вобще включен ?
← →
DVM © (2009-12-16 20:08) [17]
> у тибя уак вобще включен ?
конечно включен.
← →
QAZ (2009-12-16 20:13) [18]ну не работает
запускаеш любую прогу от одмина
запускаеш хукер
когда активен хукер,жмем Win ,пуск не вылазит - чудо
когда активна одминпрога,жмем Win ,пуск вылазит - ватафака ?
← →
QAZ (2009-12-16 20:18) [19]проверено как в х32 так и в х64,обе чистые, тестовые
← →
DVM © (2009-12-16 20:18) [20]
> QAZ (16.12.09 20:13) [18]
Ааа. Я понял о чем ты. Очень странно был сформулирован вопрос и я было подумал, что у тебя ловушка не отрабатывает вовсе.
А она не отрабатывает только для приложений запущенных "От имени администратора". Ну что ж, все верно, так и должно быть. Если хочешь чтобы работала для приложений запущенных и от имени администратора, то саму ловушку ты должен устанавливать от имени администратора. Нормальное поведение.
← →
QAZ (2009-12-16 20:22) [21]ну еперный театр, опять не поняли вопроса :(
а я веть уточнял в [9]
← →
QAZ (2009-12-16 20:26) [22]для этого и других хуков обезательно иметь окно?
ато пробовал както ,есть окно ловит\нету не ловит
в этом вот тоже окно есть от месажбокса...
← →
DVM © (2009-12-16 20:26) [23]
> QAZ
вот тут такой же вопрос там почитай ответы
http://bugtraq.ru/cgi-bin/forum.mcgi?type=sb&b=21&m=156636
← →
DVM © (2009-12-16 20:41) [24]
> QAZ (16.12.09 20:26) [22]
окна тут ни причем, в этом примере Рихтера оно только для того, чтобы продемонстрировать эффект и не дать программе завершиться сразу.
← →
Игорь Шевченко © (2009-12-16 23:29) [25]"Еще не хотелось бы видеть открытого коверканья русского языка, использования уличного сленга. Это конечно не наказуемо, но помните, что Ваши слова будут читать люди, которые с ними могут быть незнакомы, или они им просто неприятны."
← →
QAZ (2009-12-17 12:48) [26]я не коверкаю,а реально не знаю русского языка,стараюсь как могу
← →
TIF © (2009-12-22 18:39) [27]> стараюсь как могу
imho, стараться с гуглом проще. For example:
http://translate.google.com/#uk|ru|
Страницы: 1 вся ветка
Форум: "WinAPI";
Текущий архив: 2013.03.22;
Скачать: [xml.tar.bz2];
Память: 0.51 MB
Время: 0.061 c