2017-09-27 10 views
0

これでREG_SZ読み取ることができませんレジストリ内のキーへのパスです。この内容でREG_SZ:は、Visual Basicのネット/メーカー

キー

デフォルト・タイプがあり

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

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

「D:\ programs \ entry1 \ entry 2 \ appname.EXE」を文字列にするにはどうすればよいですか?私は通常の方法でこれを行うことができません、これはreg_szタイプによって引き起こされると思いますか?あなたは(デフォルト)を得ることができる必要がありますので

+1

[正しいレジストリビュー](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、このライン 暗いSとして文字列= regKey.GetValue(「」、「<値が見つかりません>」)のToString は例外未処理 System.NullReferenceExceptionで終わる:「のインスタンスに設定されていないオブジェクト参照オブジェクト。 regKeyは何もありませんでした。 私はその理由が名前としての(デフォルト)エントリだと思います。 ありがとうございます。 Juergen – Juergen

+0

@Juergenこの例外はキーが存在しない場合に発生します。 – MatSnow

+0

私には恥ずかしい、すみません。あなたの早い助けてくれてありがとう!ユルゲン – Juergen