動画検索とダウンロードがワンクリック! 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  ~ひとり言~

Miesqueブックマーク メンテナンス

~ 12/06 作業状況 ~

12/06 09:45 データ移行完了
12/06 09:50 DNS切り替え
12/06 10:20 作業完了

あとはDNSが切り替われば、編集・参照も可能となります。

このページが閲覧できれば、ご利用の環境でDNSが正常に切り替わっていると思います。

~ 12/10 作業状況 ~

12/10 11:50 正常動作確認のため、新規追加、編集、削除を禁止
12/10 18:00 書き込み制限を解除
ご迷惑をおかけしました。


徹底解説HTML5マークアップガイドブック

Internet Explorer Plus

Miesque Internet Services

Windows Writer Plugin

   

Sleipnir Darksky Plugin

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