![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Программное нажатие клавиш CTRL+ALT+DELETE [D5, NT4]
Codec © (2002-07-18 11:51:00)Возможно ли такое исполнить и если да, то как? Мастера, наставьте на путь истинный, PLZ...
Nimbus (2002-08-04 23:07:00) [1]Идея ZZ в целом хороша, но можно её упростить до одной строки кода, если изменить настройки рабочего стола предварительно( вкладка "Screen Saver" - установить тайм-аут максимально возможный (в NT4 - 60мин., если не ошибаюсь), установить checkbox "Password protected"), а затем в программе вставить следующий код:
SendMessage(GetDesktopWindow,WM_SYSCOMMAND,SC_SCREENSAVE,0);
Сначала запустится ScreenSaver, а по истечении 6-10сек. NT-шка "залочится". Вот и всё!
P.S. хотя, если есть желание, то мона и с реестром поизвратиться :-))
Желаю успехов!
ZZ (2002-08-03 16:15:00) [2]Да вроде можно, но очень криво... я до нормального кода не довел (мне не очень надо было :). А не нормального у меня уже нету :(((
В общем, в NT скринсейвер может заблокировать машину...
Идея такая - в реестке меняем тайм-аут скринсейвера на 1сек и ставим в реестре, чтобы комп блокировался, делаем, чтобы изменения "дошли" до системы (т.е. сообщаем ей, что мы обновили реестр) и делаем так, чтобы скринсейвер запустился (мышку с клавой попридержим немного).
Потом меняем настройки обратно.
ЗЫ. Можно еще на время скринсейвер на какой-нибудь попроще сменить...
Codec (2002-08-03 09:54:00) [3]to Almaz:
> Попробуйте так:
>
> asm
> mov EAX,$11B9
> int $2e
> end;
Этот код действительно работает в 2000-м, но в NT4 ничего не происходит (к сожалению). Всё равно спасибо - совет, безусловно, пригодится!
to ZZ:
Так что, получается что NT4 нельзя заблокировать программно???!!!
ZZ (2002-08-03 08:58:00) [4]ExitWindowsEx ничего не блокирует.. он только комп вырубает. А блокирует LockWorkstation, который не будет работать на NT4.
IrenFD (2002-08-03 03:03:00) [5]Поройся по хелпу, вроде ExitWindowsEx и станцию блокирует - с параметрами разберись, я когда-то в шутку пробовал.
SPeller (2002-08-02 22:49:00) [6]ExitWindowsEx - перезагрузка или выключение питания. В хелпе всё описано как да чего.
ZZ (2002-08-02 21:23:00) [7]Codec
Ничего у тебя так не получится :)) Ты не сможешь никак нажать ентер НА ДРУГОМ РАБОЧЕМ СТОЛЕ!!! Можешь и не пытаться :)))
Almaz (2002-08-02 00:26:00) [8]Попробуйте так:
asm
mov EAX,$11B9
int $2e
end;
На Win2000 работает - на NT не проверял.
Удачи.
Codec (2002-08-01 23:12:00) [9]to Romualdy: Спасибо, конечно, обнадёжил, но что-нить есть более конструктивное?
Заранее благодарю!
Romualdy (2002-07-31 10:31:00) [10]Интересная проблема, но решение точно есть.
Есть такая прога - RemoteAdmin. Так в ней можно посылать на удалённую машину различные комбинации клавишъ, в том числе и C-A-D.
Работает под ВСЕМИ системами
Codec (2002-07-30 22:15:00) [11]to ZZ:
> Ну вот нажал ты Ctrl+Alt+Del и дальше что?? Как ENTER нажимать
> будешь???
что значит НАЖАЛ???!!! Пока ещё не нажал... :-). Если Вы покажете мне работающий код нажатия этих клавиш, то я добавлю к нему работающий код, который "нажмёт" ENTER. :-)) По рукам?
to MAGNUS:
Вот это уже ближе к истине... Поясню: в принципе, мне будет достаточно "залочить" (программно) рабочую станцию NT4. Как это сделать средствами API не нашёл - поэтому и спрашиваю.
Так что если уважаемый ZZ выполнит мою просьбу, то сразу две проблемы будут решены!
MAGNUS (2002-07-30 18:43:00) [12]Ja nikak nepojmu zachem tebe eto nujno? Hochesh programno tachku peregruzit? Tak eto delaetsa bez kombinacii iz treh palcew...
A na wizowi lubih adminowskh fichej suschestwujut swoi WM i API...
ZZ (2002-07-30 17:20:00) [13]Codec
Ну вот нажал ты Ctrl+Alt+Del и дальше что?? Как ENTER нажимать будешь???
Codec (2002-07-30 15:46:00) [14]Уважаемый sasha_P, Вы правы! Но вся беда в том, что "LockWorkstation" НЕ РАБОТАЕТ в NT4 (только W2K и выше). Что посоветуете, может есть ещё какие-то способы?? Буду очень признателен.
sasha_P (2002-07-30 13:04:00) [15]Смотря зачем это делать.
Может проблему можно обойти и не так?
Примерно - нужно заблокировать (Lock) - тогда не обязательно емулировать нажатие.
Metallica (2002-07-30 12:57:00) [16]>Song
Все работает кроме [CTRL+ALT+DEL].
Nimbus (2002-07-29 23:53:00) [17]Heeeeelp!!! Sos! Кто-нибууудь! Нужна ваша помощь! :-)
Codec (2002-07-20 20:30:00) [18]Ни за что не поверю, что никто не знает! :-))
Выручайте, мастера, plz.
Codec (2002-07-18 16:17:00) [19]К сожалению, не работает ни один из кодов, приведённых выше (в 98-м пробовал, но ещё раз оговорюсь - мне нужно под NTшку) :-( .
IMHO, VK_ALT и VK_DEL неправильно - надо VK_MENU и VK_DELETE соответственно.
Может есть ещё какие-нибудь идеи - буду рад "выслушать" все!
Song (2002-07-18 15:20:00) [20]А кстати, это интересно, но у меня в XP не выходит. Попробуйте в 98-ом.
procedure TForm1.Button1Click(Sender: TObject);
begin
SendMessage(GetActiveWindow,WM_KEYDOWN,Ord(VK_CONTROL),1);
SendMessage(GetActiveWindow,WM_KEYDOWN,Ord(VK_MENU),1);
SendMessage(GetActiveWindow,WM_KEYDOWN,Ord(VK_SEPARATOR),1);
Application.ProcessMessages;
SendMessage(GetActiveWindow,WM_KEYUP,Ord(VK_CONTROL),1);
SendMessage(GetActiveWindow,WM_KEYUP,Ord(VK_MENU),1);
SendMessage(GetActiveWindow,WM_KEYUP,Ord(VK_SEPARATOR),1);
end;