Visual Basic .NET で WebBrowser コントロールをホストしてフォーム データをポストする方法

ExcelVBAからVB.NET移植でちょっと困った。

VBAでは

    strHeaders = "Content-Type: application/x-www-form-urlencoded " & vbCrLf

    'StrConv で 変換して、バイト型の配列に強引に入れる。
    bPostData = StrConv("company=smbc&url=" & url1 & "&url2=" & url2, vbFromUnicode)

    objIE_smbc.Navigate strURL, navNoReadFromCache, , bPostData, strHeaders

とUnicodeからバイト型配列に変換していたのでVB.NETで

bPostData = System.Text.Encoding.Unicode.GetBytes(poststring)

って感じで変換させたら上手く行かなかった。

bPostData = ASCIIEncoding.ASCII.GetBytes(poststring)

とASCIIからの変換なら上手くいった。元々の文字列が英数しか使ってなかったので、勝手にそう変換されてるのかな?


ネタ元