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

Вниз

Программное нажатие клавиш CTRL+ALT+DELETE   Найти похожие ветки 

 
Codec   (2002-07-18 11:51) [0]

Возможно ли такое исполнить и если да, то как? Мастера, наставьте на путь истинный, PLZ...


 
Song   (2002-07-18 13:43) [1]

Keybd_event()


 
Codec   (2002-07-18 14:26) [2]

Спасибо, но нельзя ли немного по-подробнее... Заранее благодарю!


 
Song   (2002-07-18 15:05) [3]

keybd_event(VK_CONTROL,0,0,0);
keybd_event(VK_ALT,0,0,0);
keybd_event(VK_DEL,0,0,0);
Application.ProcessMessages;
keybd_event(VK_DEL,0,KEYEVENTF_KEYUP,0);
keybd_event(VK_ALT,0,KEYEVENTF_KEYUP,0);
keybd_event(VK_CONTROL,0,KEYEVENTF_KEYUP,0);


 
Song   (2002-07-18 15:20) [4]

А кстати, это интересно, но у меня в 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;


 
Codec   (2002-07-18 16:17) [5]

К сожалению, не работает ни один из кодов, приведённых выше (в 98-м пробовал, но ещё раз оговорюсь - мне нужно под NTшку) :-( .

IMHO, VK_ALT и VK_DEL неправильно - надо VK_MENU и VK_DELETE соответственно.
Может есть ещё какие-нибудь идеи - буду рад "выслушать" все!


 
Codec   (2002-07-20 20:30) [6]

Ни за что не поверю, что никто не знает! :-))
Выручайте, мастера, plz.


 
Nimbus   (2002-07-29 23:53) [7]

Heeeeelp!!! Sos! Кто-нибууудь! Нужна ваша помощь! :-)


 
Metallica   (2002-07-30 12:57) [8]

>Song
Все работает кроме [CTRL+ALT+DEL].


 
sasha_P   (2002-07-30 13:04) [9]

Смотря зачем это делать.
Может проблему можно обойти и не так?
Примерно - нужно заблокировать (Lock) - тогда не обязательно емулировать нажатие.


 
Codec   (2002-07-30 15:46) [10]

Уважаемый sasha_P, Вы правы! Но вся беда в том, что "LockWorkstation" НЕ РАБОТАЕТ в NT4 (только W2K и выше). Что посоветуете, может есть ещё какие-то способы?? Буду очень признателен.


 
ZZ   (2002-07-30 17:20) [11]

Codec
Ну вот нажал ты Ctrl+Alt+Del и дальше что?? Как ENTER нажимать будешь???


 
MAGNUS   (2002-07-30 18:43) [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...


 
Codec   (2002-07-30 22:15) [13]

to ZZ:

> Ну вот нажал ты Ctrl+Alt+Del и дальше что?? Как ENTER нажимать
> будешь???

что значит НАЖАЛ???!!! Пока ещё не нажал... :-). Если Вы покажете мне работающий код нажатия этих клавиш, то я добавлю к нему работающий код, который "нажмёт" ENTER. :-)) По рукам?

to MAGNUS:
Вот это уже ближе к истине... Поясню: в принципе, мне будет достаточно "залочить" (программно) рабочую станцию NT4. Как это сделать средствами API не нашёл - поэтому и спрашиваю.
Так что если уважаемый ZZ выполнит мою просьбу, то сразу две проблемы будут решены!


 
Romualdy   (2002-07-31 10:31) [14]

Интересная проблема, но решение точно есть.
Есть такая прога - RemoteAdmin. Так в ней можно посылать на удалённую машину различные комбинации клавишъ, в том числе и C-A-D.
Работает под ВСЕМИ системами



 
Codec   (2002-08-01 23:12) [15]

to Romualdy: Спасибо, конечно, обнадёжил, но что-нить есть более конструктивное?
Заранее благодарю!


 
Almaz   (2002-08-02 00:26) [16]

Попробуйте так:

asm
mov EAX,$11B9
int $2e
end;


На Win2000 работает - на NT не проверял.

Удачи.


 
ZZ   (2002-08-02 21:23) [17]

Codec
Ничего у тебя так не получится :)) Ты не сможешь никак нажать ентер НА ДРУГОМ РАБОЧЕМ СТОЛЕ!!! Можешь и не пытаться :)))


 
SPeller   (2002-08-02 22:49) [18]

ExitWindowsEx - перезагрузка или выключение питания. В хелпе всё описано как да чего.


 
IrenFD   (2002-08-03 03:03) [19]

Поройся по хелпу, вроде ExitWindowsEx и станцию блокирует - с параметрами разберись, я когда-то в шутку пробовал.


 
ZZ   (2002-08-03 08:58) [20]

ExitWindowsEx ничего не блокирует.. он только комп вырубает. А блокирует LockWorkstation, который не будет работать на NT4.


 
Codec   (2002-08-03 09:54) [21]

to Almaz:

> Попробуйте так:
>
> asm
> mov EAX,$11B9
> int $2e
> end;

Этот код действительно работает в 2000-м, но в NT4 ничего не происходит (к сожалению). Всё равно спасибо - совет, безусловно, пригодится!

to ZZ:
Так что, получается что NT4 нельзя заблокировать программно???!!!


 
ZZ   (2002-08-03 16:15) [22]

Да вроде можно, но очень криво... я до нормального кода не довел (мне не очень надо было :). А не нормального у меня уже нету :(((

В общем, в NT скринсейвер может заблокировать машину...
Идея такая - в реестке меняем тайм-аут скринсейвера на 1сек и ставим в реестре, чтобы комп блокировался, делаем, чтобы изменения "дошли" до системы (т.е. сообщаем ей, что мы обновили реестр) и делаем так, чтобы скринсейвер запустился (мышку с клавой попридержим немного).
Потом меняем настройки обратно.
ЗЫ. Можно еще на время скринсейвер на какой-нибудь попроще сменить...


 
Nimbus   (2002-08-04 23:07) [23]

Идея ZZ в целом хороша, но можно её упростить до одной строки кода, если изменить настройки рабочего стола предварительно( вкладка "Screen Saver" - установить тайм-аут максимально возможный (в NT4 - 60мин., если не ошибаюсь), установить checkbox "Password protected"), а затем в программе вставить следующий код:
SendMessage(GetDesktopWindow,WM_SYSCOMMAND,SC_SCREENSAVE,0);

Сначала запустится ScreenSaver, а по истечении 6-10сек. NT-шка "залочится". Вот и всё!

P.S. хотя, если есть желание, то мона и с реестром поизвратиться :-))

Желаю успехов!



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

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

Наверх





Память: 0.49 MB
Время: 0.008 c
14-45559
AL2002
2002-09-18 13:41
2002.10.14
У меня ZipMagic стоит


3-45213
Макз
2002-09-23 13:02
2002.10.14
Field description


1-45431
DeMoN-777
2002-09-23 02:35
2002.10.14
Открыть в новом окне


7-45595
snoup
2002-08-02 20:18
2002.10.14
Подскажите плиз какой ф-ей можно узнать о системном железе, напри


1-45337
Nox
2002-10-05 17:13
2002.10.14
Получение имени компьютера по его IP-адресу





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