2013-08-30 138 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,而不是一个字符串。 –