2007-07-29

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

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







Posted by darksky  :  2007-07-29 02:42        このエントリをはてなブックマークに追加このエントリをdel.icio.usに追加このエントリをniftyクリップに追加    

Related Posts

  • No related posts. ...

Leave a Comment

Please note:
Comment moderation is enabled and may delay your comment. There is no need to resubmit your comment.


 楽天 


 アマゾン 
のだめカンタービレ #21 (21) (講談社コミックスキス) 和書 1位: のだめカンタービレ #21 (21) (講談社コミックスキス)
講談社
発売日:2008-08-11
価格:   

BEST FICTION(DVD付) ポピュラー音楽 1位: BEST FICTION(DVD付)
エイベックス・エンタテインメント
価格:   

人志松本のすべらない話 ザ・ゴールデン 初回限定盤 DVD 1位: 人志松本のすべらない話 ザ・ゴールデン 初回限定盤
よしもとアール・アンド・シー
価格:   

I-O DATA機器 USB 2.0/1.1対応 外付型ハードディスク 500GB HDCN-U500 エレクトロニクス 1位: I-O DATA機器 USB 2.0/1.1対応 外付型ハードディスク 500GB HDCN-U500
アイ・オー・データ
価格:   

Norton Internet Security 2008 ソフトウェア 1位: Norton Internet Security 2008
シマンテック
価格:   

デビルサマナー 葛葉ライドウ対アバドン王 Plus(真・女神転生III NOCTURNE マニアクス クロニクル エディション同梱) ゲーム 1位: デビルサマナー 葛葉ライドウ対アバドン王 Plus(真・女神転生III NOCTURNE マニアクス クロニクル エディション同梱)
アトラス
価格:   



患者の死を予知する猫     夏の日