如何使用Delphi解鎖Windows鎖屏?我在Google或Stackoverflow上找不到任何東西。我已經嘗試使用keybd_event輸入密碼,但它看起來像事件不在鎖屏上工作。如何解鎖Windows鎖屏?
回答
您無法以編程方式從用戶空間解鎖鎖定屏幕。這是設計。
好的,讓我們來澄清一下。使用記錄的API,你不能這樣做。您需要對@Remko爲其SasLibEx產品完成的未記錄API進行反向工程。
同意。如果任意應用程序可以隨意解鎖PC,那將是巨大的安全風險。 – 2013-04-11 18:15:19
這實際上是鎖定屏幕的目的,鎖定你的電腦。 – 2013-04-11 18:35:30
我在想「終端服務客戶端」......也許我已經關閉了,但似乎有一種自動化的方式來解鎖用「自動」登錄的用戶帳戶。 – kobik 2013-04-11 20:54:29
Remko Weijnen在這個方向上有非常有趣的項目。他發佈了一個命令行工具(Winstation Locker),該工具能夠在不知道已鎖定計算機的用戶的密碼的情況下解鎖本地/ 遠程 Windows XP工作站。
對於Windows Vista及更高版本,他開發了SasLibEx **庫,該庫甚至可以解鎖特定的終端服務會話,而且不需要用戶名/密碼。
這兩種方法都要求您在目標計算機上擁有管理權限/帳戶。
請注意,所有這些工具的使用可能被視爲非法,不恰當,不容忍或刑事討厭的黑客(?)。應與您的客戶/僱主討論,並應謹慎使用!
** SasLibEx是一個商業產品
這其實是可以做到使用PowerShell,PSEXEC和Windows屏幕鍵盤。雖然一個程序不能發送輸入到winlogon,但是windows osk可以,而且肯定程序可以發送輸入到osk。
如果您提供示例,我接受您的答案作爲解決方案。 – fnkr 2014-08-22 19:17:55
注意:以下是遠程解決方案。
據我所知,鍵盤事件不會在鎖定屏幕上工作,除非你從默認桌面Winlogon中桌面交換機(桌面指的是所有活動的容器)
[背景]
默認桌面是您在閱讀本文時使用的桌面。 Winlogon中會當您按下被設置爲活動的一個按Ctrl + Alt + Del鍵
[XP]
你需要從默認切換到Winlogon桌面[查看參考],然後你會能夠通過獲取窗口句柄解鎖計算機
IntPtr windowHandle = (IntPtr)FindWindow(null, "Unlock Computer");//Getting Window handle
解鎖機發送用戶名和密碼到相應的編輯框。
參考 http://www.codeproject.com/Articles/16197/Remotely-Unlock-a-Windows-Workstation
[Win7的] 從遠程運行tsdiscon.exe。不知道這是如何工作的;但對我來說,它解鎖了鎖定屏幕。
此外,您需要添加tsdiscon.exe的註冊表項才能使用 Windows註冊表編輯器版本5。00 [HKEY_LOCAL_MACHINE \ SOFTWARE \微軟\的Windows NT \ CURRENTVERSION \ Winlogon中] 「DefaultDomainName」= 「域名」 「DefaultUserName」= 「則domainName \\ username」 的 「AutoAdminLogon」= 「1」 「 DefaultPassword 「=」 密碼」 – 2014-10-10 19:49:35
Steamlink(一種硬件,可以讓你流你的Steam遊戲的大屏幕)目前有一個問題,如果你的屏幕是在房子的不同部分,以發揮你需要步行到你的電腦解鎖它,然後走回你的大屏幕。
爲了使它不那麼痛苦,人在社會上came up with this script:
@powershell -NoProfile -ExecutionPolicy unrestricted -Command "$sessionid=((quser $env:USERNAME | select -Skip 1) -split '\s+')[2]; tscon $sessionid /dest:console" 2> UnlockErrors.log
它可以遠程解鎖你的電腦。你可以從Delphi調用tscon.exe來模擬它。
- 1. 如何解鎖鎖定屏幕?
- 2. 如何檢測在Windows Phone 8.1中鎖定/解鎖屏幕?
- 3. 解鎖的Android鎖屏
- 4. 解鎖Android鎖屏活動
- 5. Windows Phone 8檢測屏幕解鎖
- 6. FLAG_DISMISS_KEYGUARD解鎖屏幕
- 7. Android:解鎖屏幕
- 8. 如何解鎖FileStream鎖?
- 9. 關於屏幕鎖定和解鎖
- 10. 如何在Windows中鎖定屏幕?
- 11. 如何在mac中以編程方式「鎖定/解鎖」屏幕
- 12. Windows Phone鎖屏圖標
- 13. 如何在Android上檢測屏幕鎖定的鎖定和解鎖
- 14. 如何禁用解鎖屏幕編程
- 15. 如何繞過「滑動解鎖」屏幕
- 16. iOS會像鎖屏一樣顯示鎖定/解鎖滑塊嗎?
- 17. 如何鎖定/解鎖C#中的Windows應用程序窗體#
- 18. Android活動解鎖屏幕
- 19. 屏幕解鎖時崩潰
- 20. android解鎖屏幕意圖?
- 21. 如何解鎖mysql中的行鎖?
- 22. jqGrid:如何鎖定和解鎖網格?
- 23. 如何鎖定和解鎖jqGrid?
- 24. 如何解鎖svn?
- 25. XCode SVN鎖 - 解鎖
- 26. 如何鎖定屏幕?
- 27. 等待文件解鎖 - Windows
- 28. iPhone鎖屏
- 29. 鎖定屏幕
- 30. simultate iphone鎖屏
你的意思是這需要'CTRL + ALT + DEL'屏幕?因爲這是故意設計的,不可能從Windows以外的任何應用程序解鎖它。 – 2013-04-11 18:04:56
讓你的程序發送一封電子郵件給用戶:「嘿!請解鎖電腦。」 – 2013-04-11 18:15:07
我認爲這可以從內核模式完成,但我沒有準確的說明,如何做到這一點。同樣爲了讓任何東西進入內核模式,您需要獲得管理員的直接許可(爲了安裝內核模式驅動程序)。 – 2013-04-11 18:43:48