Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Эмуляция CAD и Виста


Eraser ©   (2007-01-28 22:49:00) 

Задача такая, необходимо эмулировать Alt+Ctrl+Del в Висте. Права системы имеются.
В предыдущих версиях это делалось примерно так

function CADEmulateThreadFunct(Parameter: Pointer): Integer;
var
 hDesktop, hDeskPrev: HDESK;
begin
 Result := 0;
 try
   hDeskPrev := GetThreadDesktop(GetCurrentThreadId);
   hDesktop := OpenDesktop('Winlogon', 0, false,
     DESKTOP_CREATEMENU or DESKTOP_CREATEWINDOW or
     DESKTOP_ENUMERATE or DESKTOP_HOOKCONTROL or
     DESKTOP_WRITEOBJECTS or DESKTOP_READOBJECTS or
     DESKTOP_SWITCHDESKTOP or GENERIC_WRITE);
   if not SetThreadDesktop(hDesktop) then
     beep;
   PostMessage(HWND_BROADCAST, // "SAS Window"
     WM_HOTKEY, 0, MAKELONG(MOD_CONTROL or MOD_ALT, VK_DELETE));
   SetThreadDesktop(hDeskPrev);
   CloseDesktop(hDesktop);
 finally
   EndThread(0);
 end;
end;


при условии, что вызывающий код выполняется с правами системной учетной записи.
Однако в Висте "SAS Window", как и всю GINA убрали. Т.о. образом данный метод не подходит.

Повторюсь. Мне ненужно перехватыватьCAD, мне его нужно эмулировать... возможно в висте появилась какая-то ф-ция вроде LockWorkstation.. но я не нашел.

Спасибо.


Eraser   (2007-01-29 21:44:00) [1]

> [1] BiN ©   (29.01.07 12:22)

да знаю, что есть )) нужно что-то похожее только для CAD )

> [2] Piroxyline ©   (29.01.07 14:27)

эт вряд ли.. хотя не пробовал.. пробовал еще давно под XP, там не подходило вроде.


Piroxyline   (2007-01-29 14:27:00) [2]

А "ручное" нажатие на кнопки не подойдет? Через keybd_event (или как оно там)?


BiN   (2007-01-29 12:22:00) [3]


> возможно в висте появилась какая-то ф-ция вроде LockWorkstation.
> . но я не нашел.


Не знаю насчет CAD-диалога, но LockWorkStation есть и в висте.


Наверх

Титульная страница Поиск, карта сайта Написать письмо