Имитация последовательности клавиш Control-Alt-Delete в Vista и XP - PullRequest
5 голосов
/ 23 сентября 2008

Могу ли я симулировать в коде C # / C ++ Управление + Alt + Удалить последовательность в Vista? Когда UAC включен / отключен? Как это делается в XP?

Можете ли вы предоставить пример кода, который работает в Vista?

Ответы [ 5 ]

6 голосов
/ 11 мая 2009

Существующий код для имитации безопасной последовательности внимания (SAS), который большинство людей называют управляющим alt delete или ctrl-alt-del, больше не работает в Windows Vista. Похоже, что Microsoft предлагает библиотеку, которая экспортирует функцию под названием SimulateSAS (). Он не является общедоступным, и его следует запросить, отправив письмо по адресу saslib@microsoft.com.

Существует подобная библиотека , доступная со следующими функциями:

  • Работает как с, так и без Контроль учетных записей (UAC)
  • Поддерживает ток, консоль и любой сеанс сервера терминалов
  • Не нужен драйвер
  • Вызывающее приложение не нужно быть подписанным или иметь специальный манифеста
  • Поддерживает многократное программирование языки

Обратите внимание, что эта библиотека не является бесплатной. Между тем вы можете связаться с info@simulateas.com, если вы заинтересованы в этом.

2 голосов
/ 21 января 2015

Пожалуйста, используйте ниже информацию, "saslib@microsoft.com" устарела и с меньшей вероятностью получить какие-либо ответы. Ниже информации достаточно.

Начиная с общедоступной операционной системы Windows 7 и сопровождающего ее комплекта для разработки программного обеспечения (SDK), функциональность SAS для приложений Vista будет доступна только через Windows SDK. Поддержка выпуска по электронной почте пакета SASLIB, и saslib будет прекращено.

Информацию о том, как загрузить SDK платформы, можно найти на странице центра загрузки Microsoft для «Windows SDK для Windows 7 и .Net Framework 3.5 SP1» по следующей ссылке: http://www.microsoft.com/downloads/details.aspx?FamilyID=c17ba869-9671-4330-a63e-1fd44e0e2505&displaylang=en.

После установки этого SDK вы найдете распространяемый файл sas.dll в каталоге повторного распространения:

\ Program Files \ Microsoft SDKs \ Windows \ v7.0 \ redist \ x86 \ sas.dll

\ Program Files \ Microsoft SDKs \ Windows \ v7.0 \ redist \ amd64 \ sas.dll

\ Program Files \ Microsoft SDKs \ Windows \ v7.0 \ redist \ ia64 \ sas.dll

0 голосов
/ 05 декабря 2017

Вы должны вызывать следующий код только из процесса обслуживания

HDESK desktop = OpenDesktopW(L"Winlogon", 0, TRUE,
    DESKTOP_CREATEMENU | DESKTOP_CREATEWINDOW | DESKTOP_ENUMERATE | 
    DESKTOP_HOOKCONTROL | DESKTOP_WRITEOBJECTS | DESKTOP_READOBJECTS |
    DESKTOP_SWITCHDESKTOP | GENERIC_WRITE);
int result = SetThreadDesktop(desktop);
if (result)
{
    HMODULE sasdll = LoadLibraryA("sas.dll");
    if (sasdll)
    {
        typedef void(__stdcall * SendSAS_t)(BOOL);
        SendSAS_t sendSAS = (SendSAS_t)GetProcAddress(sasdll, "SendSAS");
        if (sendSAS)
            sendSAS(FALSE);
    }
}
CloseDesktop(desktop);
0 голосов
/ 31 июля 2012

Я добавил этот URL в закладки, надеюсь, это поможет. http://softltd.wordpress.com/simulate-ctrl-alt-del-in-windows-vista-7-and-server-2008/

0 голосов
/ 23 сентября 2008

сообщение (HWND_BROADCAST, WM_HOTKEY, 0, MAKELONG (MOD_ALT | MOD_CONTROL, VK_DELETE));

Вы получаете PostMessage от пользователя32 dll

edit: Статья CodeProject, для которой есть код

edit: В VNC обсуждается обсуждение того, почему это не сработает в Vista, и как настроить UAC, чтобы разрешить это.

...