動画検索とダウンロードがワンクリック! YouTubeとニコニコ動画に特化したツールバーをダウンロードして動画を楽しもう!!

Windows Mobile

我が家には開発用として提供いただいたWindows Mobileマシンがあるんです。そうW-ZERO3[es]です。

私とWinodws CEとの出会いはかなり古く、カシオからWindows CE 1.0 日本語版を搭載したハンドヘルドPCが発売される前に、USで発売されていた英語版の頃です。何故か仕事で、「お前が調査しろ」ということになって、新宿のヨドバシまでカシオペア (Cassiopeia)を買いに行きました。6~7万円くらいだったかな?

まだ、ESをあまり使いこなせていないんですが、少し気合いをいれてかかろうかと…
でもって、Windows Mobile 5/6の開発環境を一式インストール完了。ちょろっとアプリを作ってエミュレータで実行。やっぱ少し癖はありますが、以前と比べると開発環境も整備されています。エミュレータ上からちゃんとインターネットも見れるし。
 

とりあえず何はともあれ「通信からだな」ということで、wininet APIを使ったものを作成しました。
しかし、エミュレータで実行するとInternetOpenがエラーになる。何故? ドキュメントを見てもOS Versionsには、「Windows CE 2.0 and later.」と書いてあるし…。Windows Mobile 6のエミュレータでも同じ。実機でも同じ。パラメータをいろいろ変更してみても全然ダメ。GetLastErrorで詳細を表示するしかないかと、MessageBoxを使ってエラーを表示すると、こんなエラーになっています。
 

Windows MobileではWininet APIは使えない? だとしたら何故コンパイルが通る? WinSockを使うしかないのか? いろいろ考えてみてもよくわかりません。

HTTP通信できないと、どうにもならない(そんなことは無い)ので、ドキュメントでも調べてみることにします。
 
【追記】
原因がわかったので追記しておきます。
・InternetOpenにユーザーエージェントを指定しないと失敗する(NULLはダメ)
・アクセスタイプにINTERNET_OPEN_TYPE_DIRECT以外を指定してもInternetOpenは成功するが、取得したHINTERNETをInternetOpenUrlに指定すると失敗する(私の環境だけ?)
・GetLastErrorは信用できない(w

やっと通信できるようになりました。


コメント&トラックバック

トラックバックURL: http://darksky.biz/blog/archives/699/trackback/






Whim  ~ひとり言~

暑いんだけど・・・暑くないっていう人はいないよね?

ポケットモンスター ホワイト(仮称)

Internet Explorer Plus

Miesque Internet Services

Windows Writer Plugin

   

Sleipnir Darksky Plugin

ブログランキング・にほんブログ村へ