2013-08-30 136 views
1

我想讀取遠程桌面的端口號,但它不起作用。如何從註冊表中讀取值?

MSDN states,這是在

HKEY_LOCAL_MACHINE \系統\ CurrentControlSet \控制\的TerminalServer \ WinStations \ RDP-TCP \ PORTNUMBER

這是存在於我的註冊表在Windows 8的關鍵。

private void Form1_Load(object sender, EventArgs e) 
{ 
    txtPort.Text = (string) Registry.GetValue(@"HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\TerminalServer\WinStations\RDP-Tcp", "PortNumber", ""); 
} 

返回的字符串爲空。

正確答案:

private void Form1_Load(object sender, EventArgs e) 
{ 
    txtPort.Text = Registry.GetValue(@"HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp\", "PortNumber", -1).ToString(); 
} 
+5

你檢查的實際註冊表,以查看是否有一個值嗎? –

+1

您是否有權檢查註冊表的用戶正在運行Visual Studio?嘗試運行VS作爲管理員 –

+0

我沒有檢查註冊表,但不是空格。我的錯。 –

回答

7

有沒有在「終端服務器」的空間:

@"HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp" 
                   ↑ 
+0

+1,作爲答案。 DTB。 –

+6

史詩般使用箭頭的方法 – CodingIntrigue

+2

它是一個int,而不是一個字符串。 –