Вызов диалогового окна безопасности Windows (в C# или VB.NET)

Я хотел бы знать, как вызвать Windows Security Dialog (нажмите ctrl+alt+del на НОТЕ рабочей станции окон: Я не хочу диспетчер задач!) программно.

НА AN РАБОЧАЯ СТАНЦИЯ XP не волнуйтесь о Win7 или Vista

Идеально с быстрым примером в C# (или VB.NET, если Вы должны),

Я искал многие из DLL такой как msgina.dll и я не могу найти его нигде!

Кроме того, просто вызов экрана пароля изменения был бы хорош!

8
задан ROMANIA_engineer 23 June 2017 в 22:08
поделиться

4 ответа

Вы можете попробовать вызвать функцию WlxLoggedOnSAS из GINA или WlxSasNotify из WinLogon. Но, боюсь, это не сработает. Но, возможно, это приведет вас к рабочему методу. И точно не будет работать в Vista / W7.

С другой стороны, диалог безопасности Windows может быть вызван только с помощью защищенной последовательности внимания (ctrl + alt + del) по соображениям безопасности.

2
ответ дан 6 December 2019 в 00:06
поделиться
0
ответ дан 6 December 2019 в 00:06
поделиться

Я могу представить себе что-то вроде этого: получить дескриптор рабочего стола, используя ' GetDesktopWindow ' , убедитесь, что фокус установлен на дескриптор, и отправьте нажатие клавиши 'Ctrl + Alt + Del' с помощью ' SendInput ' или используйте ' SendMessage ', чтобы отправить нажатия клавиш на этот дескриптор, возвращенный GetDesktopWindow . Не гарантируется, что это сработает, так как это бесполезно.

Надеюсь, это поможет, С уважением, Том.

0
ответ дан 6 December 2019 в 00:06
поделиться

Функции безопасности могут стоять на вашем пути для программного управления функциями безопасности, такими как диалог безопасности, с помощью Ctrl Alt Del . Я сталкивался с такими же проблемами.

О вашем запросе на вызов диалогового окна смены пароля .

IADsUser

", предназначенный для представления и управления учетной записью конечного пользователя в сети [и локально]. "

Если вам не хватает решений, вы можете создать свои собственные Быстрая форма Windows с полями пароля и связь с Windows IADsUser Interface с помощью провайдера WinNT для привязки к локальной (а не сетевой) учетной записи пользователя на машине XP.

GetObject("WinNT://MYCOMPUTER/jeffsmith,user") //WinNT provider

... и используйте метод ChangePassword (..) (ссылки на пример кода).

usr.ChangePassword szOldPass, szNewPass

Если вы пытаетесь вызвать функции Windows напрямую, чтобы заставить пользователя доверять процессу, то, по общему признанию, настраиваемая форма для изменения пароля может выглядеть немного глупо.

RunDLL32

Другой способ, который вы можете попробовать, - это программный вызов RunDLL32.exe из командной строки и нацеливание на правильную Win DLL, чтобы открыть диалоговое окно смены пароля. Один форум сказал, что следующее работает в XP, если SP2 не установлен. Я не могу проверить это, потому что у меня Vista.

rundll32.exe shell32.dll,Control_RunDLL password.cpl

Вы можете Google для многих из этих , однако, кажется, не хватает, чтобы изменить пароль или вызвать диалоговое окно безопасности Windows.

Информация Microsoft о Run32Dll

2
ответ дан 6 December 2019 в 00:06
поделиться
Другие вопросы по тегам:

Похожие вопросы: