2012-10-01 45 views
-1

我想要做以下的事情要做我的Java項目: -陷阱鍵盤輸入的登錄屏幕

  1. 鎖定Windows桌面。
  2. 檢測Windows桌面被鎖定時的按鍵事件。
  3. 將輸入的鍵從鍵盤保存在文本文件中。

第一步是使用此代碼完成的:

Runtime rt = Runtime.getRuntime(); 
Process pr = rt.exec("C:\\Windows\\System32\\rundll32.exe user32.dll,LockWorkStation"); 
+5

對於這一點Java是錯誤的語言,但我不確定它應該完成。 –

+1

爲什麼要在輸入密碼時記錄按鍵? –

+3

Mh,鎖定工作站就是這樣:鎖定工作站。就像陷印Ctrl-Alt-Del是一個您不容易陷入的「受保護」擊鍵一樣,登錄屏幕與用戶桌面屏幕完全分離。在Windows API中,有一個「WinStation」的概念。在用戶的「WinStation」上運行的內容與顯示登錄屏幕時運行的內容完全隔離。這意味着您不會輕鬆編寫在用戶桌面上執行的應用程序,並監視登錄屏幕處於活動狀態時鍵入的擊鍵。至少不使用官方(記錄)的Windows API。 – TheBlastOne

回答

1

用戶應用程序將永遠無法做到這一點,由於安全問題。但是,如果您使用驅動程序攔截較低級別的輸入,則可以繞過限制。 This StackOverflow question討論了一個類似的問題。 The linked driver看起來很適合您的目的。