• VC#

C#のWebBrowserでUserAgentを変更する

C#のWebBrowserにiPhoneのUserAgentを設定するには以下のようにすればよい。この方法だと1種類のUAしか使えないですね。C#も.netも素人なので、原理はよくわかっていませんが、このコードで実際にUAが書き換わり、iPhone向けの画面が表示されました。

[cc lang=”c#”]
using System.Runtime.InteropServices;

namespace WindowsFormsApplication
{
public partial class SomeApp: Form
{

[DllImport(“urlmon.dll”, CharSet = CharSet.Ansi)]
private static extern int UrlMkSetSessionOption(int dwOption, string str, int nLength, int dwReserved);
const int URLMON_OPTION_USERAGENT = 0x10000001;
string ua = “Mozilla/5.0 (iPhone; U; CPU like Mac OS X; en)”;

public SomeApp()
{
InitializeComponent();
UrlMkSetSessionOption(URLMON_OPTION_USERAGENT, ua, ua.Length, 0);
}
[/cc]

参考
「IEコンポーネントでUserAgentを書き換える」  windowsアプリ

jaJapanese