我想編寫一個應用程序,允許用戶在公司網絡中輸入他們的機器登錄憑證,然後將它們連接到該機器。顯然,遠程桌面連接的登錄憑據不再保存在Windows7(和Vista?)的* .RDP文件中,因此this approach不起作用。我知道我可以使用rundll32 keymgr.dll,KRShowKeyMgr
查看保存的憑據,但不知道如何以編程方式向此存儲添加憑據。任何指針或甚至代碼示例(最好在C#中,但任何事情都會發生)將不勝感激。使用C#/ Windows7連接並登錄到遠程桌面
0
A
回答
2
您仍然可以將密碼放在.rdp文件中,它仍然會遵守它們 - 除非有明確忽略它的組策略設置。
編輯:
對於它的價值,這文章是有點過殺人。在所有那些混亂的P/Invoke業務中都有一個託管包裝。如果您使用.NET 2.0使用ProtectedData
類,則有更簡單的方法。 (首先添加對System.Security程序集的引用)。
一旦你得到了補充參考,你可以這樣做:
public string Encrypt(string toEncrypt)
{
var userData = Encoding.Unicode.GetBytes(toEncrypt ?? String.Empty);
return "password 51:b:" + ToHexString(ProtectedData.Protect(userData, new byte[0], DataProtectionScope.CurrentUser));
}
private static string ToHexString(byte[] bytes)
{
if (bytes == null)
{
return String.Empty;
}
return bytes.Aggregate(new StringBuilder(), (sb, b) => sb.AppendFormat("{0:x2}", b)).ToString();
}
就是這樣。
+0
謝謝,非常有幫助! – Matthias
相關問題
- 1. 使用MSTSCLib登錄到遠程桌面
- 2. 連接到遠程桌面
- 3. Windows遠程桌面連接
- 4. 遠程桌面連接
- 5. 遠程桌面Web連接
- 6. 使用process.startinfo的遠程桌面連接
- 7. 遠程桌面連接 - C#事件
- 8. C#中的遠程桌面連接#
- 9. 連接到遠程桌面手動
- 10. 連接到遠程計算機 - 桌面
- 11. 使用c#.net進行遠程桌面連接從windows到linux使用c#.net
- 12. 遠程登錄桌面環境
- 13. 與MSTSCLib的遠程桌面連接
- 14. 遠程桌面連接中的SetForegroundWindow
- 15. 通過本地系統連接到遠程桌面連接
- 16. 可能使用PHP連接到遠程桌面?
- 17. Lync和遠程桌面連接
- 18. WinWait在遠程桌面連接中
- 19. UIAutomation和遠程桌面連接
- 20. 遠程桌面連接難題
- 21. 遠程桌面連接保持超時
- 22. 自動化遠程桌面連接
- 23. azure連接虛擬機遠程桌面
- 24. 檢測遠程桌面從服務在登錄時連接(W7/32)
- 25. 遠程桌面連接監視器
- 26. 檢測遠程桌面連接
- 27. Lync和遠程桌面連接,修訂
- 28. 遠程桌面連接 - 對話框
- 29. MessageBox.Show出現在遠程桌面連接
您仍然可以將密碼放在.rdp文件中,它仍然會遵守它們 - 除非有明確忽略它的組策略設置。 – vcsjones
你是完全正確的。您是否將您的評論重新發布爲我可以接受的答案? – Matthias
答案補充一點。 – vcsjones