.netでの「長さ0のバイナリ値」作成方法 Create a new zero-length binary

投稿者: | 2010年6月17日

IEのポップアップブロックを解除してやるために、レジストリに値を書き込まなければいけない。
しかしVB.net 2008で長さ0のバイナリ値が作れなくて、少し困った。

VBScriptだと、Array()で長さ0のバイナリ値が作ることができるが、.netでのやり方がわからなかったので次の手順で検証。

1.IEでポップアップブロック解除の設定をして、レジストリに長さ0のバイナリの値を作る。
2.VBでその値を読み取るコードを書いて、読みとったらどんな型が入っているのかを確認。
結果:長さ0のバイナリを読み取った値の型はSystem.Arrayだった。

' Create a registry subkey to allow pop-up window
' how to set a zero-length binary registry value with vb.net
Imports Microsoft.Win32
Public Class Form1
Private Sub myFunc()
' Create a subkey
Dim regKey As RegistryKey = Registry.CurrentUser.CreateSubKey("Software\Microsoft\Internet Explorer\New Windows\Allow")
' set zero-length binary
regKey.SetValue("domain.comxxx", System.Array.CreateInstance(GetType(Byte), 0), RegistryValueKind.Binary)
regKey.Close()
End Sub
End Class