2017-09-27 84 views
0

這種閱讀REG_SZ是路徑在註冊表中的鍵值:無法使用Visual Basic網/工作室

Computer\HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Applications\appname.EXE\shell\open\command 

有一個關鍵

默認類型:REG_SZ與此內容:

"D:\programs\entry1\entry 2\appname.EXE" "%1" 

如何在字符串中獲得「D:\ programs \ entry1 \ entry 2 \ appname.EXE」?我不能用通常的方法做到這一點,我猜這是由reg_sz類型造成的?

+1

使用[正確的RegistryView](https://msdn.microsoft.com/en-us/library/microsoft.win32.registrykey.openbasekey(v = vs.110).aspx)。 。 –

回答

0

REG_SZ包含一個字符串值,所以你應該能夠得到(默認) - 值是這樣的:

Dim regKey As Microsoft.Win32.RegistryKey 
regKey = Microsoft.Win32.Registry.LocalMachine.OpenSubKey("SOFTWARE\Classes\Applications\appname.EXE\shell\open\command", False) 
Dim s As String = regKey.GetValue("", "<value not found>").ToString 

或者,如果需要另一個值,則只需更改以下行:

Dim s As String = regKey.GetValue("anothervalue", "<value not found>").ToString 
+0

您好MatSnow,這條線 昏暗參考譯文字符串= regKey.GetValue(「」,「<值未找到>」)的ToString 在 結束 異常未處理 System.NullReferenceException:「對象引用不設置到的實例一個東西。' regKey是無。 我認爲原因是(默認)條目作爲名稱。 感謝您的想法, Juergen – Juergen

+0

@Juergen如果密鑰不存在,則會發生此異常。 – MatSnow

+0

對我感到羞恥,對不起。感謝您的快速幫助!克林斯曼 – Juergen