ページ

ラベル W-Zero3 の投稿を表示しています。 すべての投稿を表示
ラベル W-Zero3 の投稿を表示しています。 すべての投稿を表示

2009-07-08

clog.dbが作れない

最近何も作ってなかったので、Spb Mobile Shellで着信履歴を表示できないか調べています。
 
Spb Mobile Shellはdummy phone.dllを使うことで電話の発信ができるようになりますが、着信履歴を表示することはできません。 (ちなみに Pointui Home2は dummy phone.dllだけで着信履歴も表示可能でした)
 
Spb Mobile Shellは発着信履歴を clog.dbから直接読んでいるのだろうと考えて、直接着信履歴書き込むプログラムを作ってみました。
clog.dbの構造は一部わからないところもあるのですが、エミュレータ(Professioanl版)では正しく動いてくれました。
 
Classic版には clog.dbが無いので、自分で作ることにします。
#define COLUMN_1            MAKELONG(CEVT_I2        , 1)    // ? 1固定?
#define COLUMN_STARTTTIME   MAKELONG(CEVT_FILETIME  , 2)    // 開始時刻
#define COLUMN_ENDTIME      MAKELONG(CEVT_FILETIME  , 3)    // 終了時刻
#define COLUMN_CALLTYPE     MAKELONG(CEVT_I4        , 4)    // 4=不在着信, 5=発信, 6=着信, 7=拒否
                                                            // 5は?
#define COLUMN_PHONENUMBER  MAKELONG(CEVT_LPWSTR    , 6)    // 番号
#define COLUMN_DISPNAME     MAKELONG(CEVT_LPWSTR    , 7)    // 表示名
                                                            // 8は?
#define COLUMN_7            MAKELONG(CEVT_I4        , 9)    // ? 0固定?
#define COLUMN_PHONETYPE    MAKELONG(CEVT_LPWSTR    , 10)   // 番号区分(文字列)
#define COLUMN_8            MAKELONG(102            , 4096) // ? 本当は CEVT_AUTO_I4, 4096


static CEOID CreateClogDB(PCEGUID pGuid)
{
    CEDBASEINFOEX dbInfo        = {0};
    CEPROPSPEC dbProp[9]        = {0};

    dbInfo.wVersion             = 2;
    //dbInfo.wNumSortOrder        = 2;
    dbInfo.wNumSortOrder        = 0;
    dbInfo.dwFlags              = CEDB_VALIDCREATE;
    wcscpy(dbInfo.szDbaseName, _T("clog.db"));

    dbProp[0].wVersion          = 1;
    dbProp[0].propid            = COLUMN_1;
    dbProp[0].dwFlags           = NULL;

    dbProp[1].wVersion          = 1;
    dbProp[1].propid            = COLUMN_STARTTTIME;
    dbProp[1].dwFlags           = NULL;

    dbProp[2].wVersion          = 1;
    dbProp[2].propid            = COLUMN_ENDTIME;
    dbProp[2].dwFlags           = NULL;

    dbProp[3].wVersion          = 1;
    dbProp[3].propid            = COLUMN_CALLTYPE;
    dbProp[3].dwFlags           = NULL;

    dbProp[4].wVersion          = 1;
    dbProp[4].propid            = COLUMN_PHONENUMBER;
    dbProp[4].dwFlags           = NULL;

    dbProp[5].wVersion          = 1;
    dbProp[5].propid            = COLUMN_DISPNAME;
    dbProp[5].dwFlags           = NULL;

    dbProp[6].wVersion          = 1;
    dbProp[6].propid            = COLUMN_7;
    dbProp[6].dwFlags           = NULL;

    dbProp[7].wVersion          = 1;
    dbProp[7].propid            = COLUMN_PHONETYPE;
    dbProp[7].dwFlags           = NULL;

    dbProp[8].wVersion          = 1;
    dbProp[8].propid            = COLUMN_8;
    dbProp[8].dwFlags           = NULL;

    return CeCreateDatabaseWithProps(pGuid, &dbInfo, 9, dbProp);
}

 
こんな感じでデータベースはできたのですが、いくらデータを書いても肝心の着信履歴に表示されません。
いろいろ試してみると Professional版でもこの方法で clog.dbを作ると着信履歴が保存されないようです。 (最初に電話をかけると正しい clog.dbが作られる?)
 
ちょっとした違いなんだろうと思いますが、違いを見つけることができませんでした。
空のclog.dbを作るようなツールがあるといいんですけどね。
 

2009-06-08

アドエスでAndroid

Androidのエミュレータで遊び始めた矢先、アドエスでAndroidが起動するROMイメージが公開されていました。
 
2009-06-05 WS011SH用Android(R1) 公開(暫定)します。
ほとんど機能が動かず、Android端末としては楽しめませんが、逆に色々遊ぶ余地はある(笑)ということで、遅くなりましたが公開(とっても暫定)です。
 
さっそく指示通りにファイルをコピー、LinuxLoaderから実行すると...
 
 
本当に(失礼) 起動しました、感動ものです。
 
今のところ起動するだけのようですが、作者の.h2o2さんが書かれている通り「逆に色々遊ぶ余地はある」と思います。
今後が楽しみですね。
 

2009-05-28

My Phone 日本語Beta

今日の新聞に載っていたのですが、本日(28日)からMy Phoneの日本語ベータが始まったようです。
 
携帯の全保存データ、初の無料バックアップ マイクロソフト
マイクロソフト(MS)日本法人(東京・渋谷)はMS製基本ソフト(OS)を搭載した携帯電話端末向けに、連絡先や写真などの保存データを無料でバックアップするサービスを28日から始める。各種情報をMSのデータセンターに自動転送して保存する。携帯電話会社などが有料でデータを保存するサービスはあるが、無料は国内で初めてという。
 
もしかしてフリガナ問題等が解決したのかと思ってアドエスを同期してみたのですが、しっかりフリガナが消されてしまいました(笑
メッセージ自体も先日のベータの段階で日本語化されていたので今回何が変わったのかよくわかりません。
 
 
...そのメッセージも少し変なところが残っていますね。
 
正式版までに機能強化される事を期待しています。
 

2009-05-23

FakeMailCnt修正

先日公開していた FakeMailCntを修正しました。
 
 
実行ファイルをクォートしていなかったため、ご指摘頂いた通り"Program Files"等 空白を含むフォルダ以下に配置した場合にプログラムを起動できていませんでした。
 
たぶん、tmail.exeを STMail.exeに書きかえる部分で「なんだクォートしなくてもいじゃん」と思った(Windowsフォルダにあったのでパスを書かなくて良かった)のを勝手に脳内で変換していたようです。
 
というわけで取得したファイル名を""で囲む処理だけを追加しました。
やっぱりCStringがお手軽でいいですね。以前教えてもらった通り、CString→LPCTSTRなら明示的キャストも不要でした。
// **********************************************************************
// イベント登録
//
static HRESULT RegisterEventApp()
{
    NOTIFICATIONCONDITION   nc;
    TCHAR                   szExePath[MAX_PATH];
    CString                 strPath;

    // 起動パスを取得    
    ZeroMemory(szExePath, MAX_PATH);
    GetModuleFileName(NULL, szExePath, MAX_PATH);
    strPath.Format(_T("\"%s\""), szExePath);

    nc.ctComparisonType   = REG_CT_ANYCHANGE;
    nc.dwMask             = MAXDWORD;
    nc.TargetValue.dw     = 0;

    // レジストリの監視をシステムに登録
    return  RegistryNotifyApp(
        Z3M_REG_ROOT            ,
        Z3M_REG_PATH            ,
        Z3M_REG_VALUE           ,
        APP_NAME                ,
        strPath                 ,
        NULL                    ,
        NULL                    ,
        0                       ,
        0                       ,
        &nc
    );
}

着信件数についても そろそろなんとかしたいですね。
 

2009-05-20

My Phone Beta

My Phoneが Betaになって誰でも登録できるようになったようです。
 
My Phone Beta Opened to All Users!
With today’s release, we’re opening the beta to all users -- no more waiting list or promotional codes! So you can tell your friends, family and colleagues with Windows Mobile phones to visit http://myphone.microsoft.com and start using My Phone today.
 
Betaになってメニューが日本語化されています。
あと広告も増えていますね(笑
 
 
ただ、日本語化されただけで相変わらず連絡先にフリガナがありません。
今後に期待しましょう。
 

2009-05-14

Pointui Home2

仕事が忙しくて何もできない間にSpb Mobile Shellの試用期間終がわってしまったのですが、shareEDGEのサイトを見ていると15日までは 20%オフとなっていたので あわてて購入しました。
 
でも、いろいろなサイトを見ていると Pointui Home2もなかなかいい感じとの事。
こちらもフリー版があるので試してみる事にしました。
 
少し前の情報では日本語が通らないといった話もあったのですが、最新版ではなんの問題もなく表示されています。
動作もなかなか軽快ですね。
 
dummy phone.dllを入れることで電話機能も使えました。
また、Spb Mobile Shellでは表示できなかった発着信履歴もちゃんと表示されます。(Spb Mobile Shellは clog.dbを直接見ているのでしょうね)
 
ただ、メールはSpb Mobile Shell同様 Outlook固定のようです。
そういえば WM6.5になって PocketIEは機能強化されるようですが、Outlookはどうなるんでしょうか。
楽しみなような不安なような...(笑
 

2009-04-30

Live Meshクライアント アップデート

いつものように Live Meshを起動したところ「Time mismatch with server」というエラーが出ました。
 
「たぶんデバイスの時間の設定がおかしいから見直してみてよ」と書かれていますが、特におかしいところは見当たりません。
 
よくよく調べて見ると Live Meshのクライアントが新しくなっていました。
 
Service Update for Mac, Mobile, Live Desktop (April 27, 2009)
The Live Mesh team is pleased to announce that our next update to Live Mesh for Mac and Windows Mobile will be available later today is now available.
 
更新すると何の問題もなく起動します。
ちょっと紛らわしいエラーメッセージですね。
 

2009-04-29

Spb Mobile Shell3 設定中(メール)

引き続きSpb Mobile Shell3を設定しています。
 
Spb Mobile Shell3でメールのアイコンをタップすると Outlookが起動します。
ここで ZERO3メールを起動させたくて 標準で使うメールソフトを指定していると思われる HKLM\Software\Microsoft\Shell\Rai\:MSINBOX\1を変更してみたのですが変化はありません。
 
ただ、代わりに(?)SMSのアイコンをタップするとレジストリで指定したソフトが起動するようになりました。
違いはよくわかりませんが、結果よければ全てよしという事でデスクトップにSMSのウィジェットを配置(笑
 
続いて未読件数ですが、計画通り力技で解決する事に...。
ZERO3メールの未読件数は HKCU\Software\Sharp\PhoneStatus\Status14に入っているので、これをSMSの未読件数を記録しているHKCU\System\State\Messages\sms\Unread\Countにコピーするだけのツールを作りました。 一度実行するとシステムに登録され、ZERO3メールの未読件数が変わるたびに自動的に実行されます。
ついでに標準メール(と思われる)レジストリをZERO3メールに変更します。
 
FakeMailCntを実行した後で Spb Mobile Shell3にSMSのウィジェットを配置してみてください。
 

2009-04-28

Spb Mobile Shell3 設定中

昨日に引き続き Spb Mobile Shell3の設定中です。
 
Spb Mobile Shell3には 「プロフェッショナルホーム」と「ライフスタイルホーム」の2種類のホーム画面があります。
このうち「ライフスタイルホーム」はAndroidのように左右にスクロールし、壁紙の変更やウィジェットの配置が可能です。
対して「プロフェッショナルホーム」はカスタマイズの余地は無いようです。(プロフェッショナルの意味がよくわかりませんが...)
 
という事で まずは手軽に壁紙の変更。
プログラムをインストールしたフォルダにいくつかサンプルがありますが、壁紙は 960×748で作ってやればいいみたいです。
とりあえずopendesktop.orgから適当な壁紙を貰ってきてサイズを合わせてみました。
 
 
壁紙に設定するとこんな感じになりました。
指で弾くと画面が左右にスクロールして壁紙の見える部分も少しだけ移動します。風景写真がよく合いそうですね。
 

2009-04-27

Spb Mobile Shell3

Spb Mobile Shell3がかなりすごいらしいという話を聞いて試してみました。
 
 
結論から言うと「本当にすごい」です。
指タップ中心の操作なのですが、驚くほどレスポンスが良くて使いやすいです。
やはりWILLCOM 03(というか Windows Mobile)はやればできる子だったんですね(笑
 
shareEDGEの紹介ページによるとZERO3ではいくつか制限事項もあるようですが、この軽快さの前では大した問題では無いのではないでしょうか。
 
分かっている問題および使用上の注意点
WILLCOM ZERO3での問題
WILLCOM Zero3のすべての機種では、電話に関する機能(通話、着信数、信号強度)などの機能が動作しません。写真付きの連絡先から直接電話をかけることができません。
実際、電話発信については oriさんのdummy phone.dllを Windowsフォルダにコピーしておくだけでなんの問題もなく動きました。
着信数やメールの未読数の表示は力技でなんとかなりそうですよね。
 
あとは未読数をタップしたときに ZERO3メールが立ち上がって欲しい事と、無線LAN・Bluetoothの状態を画面で確認したいくらいでしょうか。
自分でウィジェットを作るような余地があればいいのですが... 後2週間ほど試用期間があるのでいろいろ調べてみようと思います。
 

2009-04-11

モバイルGoogleマップ 3.0.1.4

モバイルGoogleマップの新しいバージョンが出ていたので試してみました。
 
 
いつの間にか無線LANで接続していると現在位置が表示されるようになったのですね。ちょっとびっくりしました。
 
表示された場所は最寄のウィルコムアンテナ付近だったので もしやウィルコムの基地局情報を利用している?と思ったのですが、無線LANを切ると「一時的に現在地を検出できません」と表示されます。
という事は無線LANの情報をもとに現在位置を調べているという事ですよね。
 
自宅で拾える無線LANの信号はそう多くないので、もしかしたら我が家のSSID等が位置情報とひも付けされているのでしょうか?
便利なのですが、少し怖い機能ですね。

2009-03-10

今月のフリーテーマが結構かっこいい件について

いつの間にか今月のフリーテーマが更新されていました。
 
その中で気に入ったのがこちらのテーマ。
 
Retro ClockのVGAのスキンと合っています。
設定で表示を右側に寄せてやると背景がよく見えて更にかっこよくなりました。
 

2009-03-03

My Phone

いつの間にかインストールできてしまった My Phoneですが、思ったほど使いこなせていません。
 
Google Syncを使っているとMy Phoneでカレンダー、連絡先、TODOが同期できないので どちらか一方しか使う事が出来ないのですが、Google Syncにはメインのカレンダーしか同期できない、連絡先のフリガナがなくなる、TODOが無いという問題があり、My PhoneにはWeb画面で入力できる項目が少なすぎるという問題があります。
 
ただ、まだベータとは言え My Phoneは少し画面がシンプルすぎますよね。
 
 
ちょうどMy Phone Teamのブログに"We are listening"というタイトルでよく挙げられる要望が紹介されていました。
  • Windows Live Serviceとの連携強化
  • 同期できるデータの種類を増やす
  • MyPhone Webページの操作性
やはりみんな考える事は一緒ですね。 私もLive Serviceとの連携に一票入れます。
 

2009-03-02

文字列置き換え

WhereNowで取得した座標をパラメータにして特定のURLを開きたいというご要望を頂きました。
あらかじめ「http://maps.live.com/default.aspx?v=2&cp=%lat~%lng&lvl=15」のような設定をしておいて%lat、%lngを置き換えればいいのですね。
 
ところが最近、何もコードを書いてなかったので単純な文字列の置き換えで手が止まってしまいました。
 
真面目に書こうとも思ったのですが、結局CStringに逃げる事に...。
TCHAR->CStringは = で渡すだけ、CString->TCHARはLPCTSTRでキャストするだけ(でいいはずですよね?)というお手軽さです。
 
static VOID OpenCustomURL()
{
    SHELLEXECUTEINFO    sei             = {0};
    CString             strUrl          = g_szCustomURL;
    TCHAR               szLatitude[32]  = _T(""),
                        szLongitude[32] = _T("");

    wsprintf(szLatitude,  _T("%f"), g_dblLatitude);
    wsprintf(szLongitude, _T("%f"), g_dblLongitude);
    strUrl.Replace(_T("%lat"), szLatitude);
    strUrl.Replace(_T("%lng"), szLongitude);

    sei.cbSize = sizeof(sei);
    //sei.fMask  = SEE_MASK_NOCLOSEPROCESS;
    sei.fMask  = 0;
    sei.hwnd   = NULL;
    sei.lpVerb = _T("open");
    sei.lpFile = (LPCTSTR)strUrl;
    ShellExecuteEx(&sei);
}

 
肝心の機能ですが、今いる部屋が圏外の為 ちゃんとテストできていません(笑
明日にでも外で試してみます。
 

2009-02-10

Google Sync

しばらくニュースをチェックしていない間に面白そうなものがいくつも発表されていました。
 
その中でも一番驚いたのがGoogle Sync
ActiveSyncでGoogleカレンダーとGmailの連絡先が同期できるようになりました。
 
しかも Google Appsでも対応しているので独自ドメインで運用していても安心です。 (設定はダッシュボードでEnable Google Syncにチェックを入れるだけ)
 
 
なんでもGoogle Syncは Gooleが ActiveSyncプロトコルのライセンスを受けて開発したものだとか..。
マイクロソフトもMy Phoneという名前で同期サービスを提供してくれるようですが、Googleに先を越されちゃいましたね。
 
ただ、現状 Google SyncはGoogle Calendar Syncと同様にメインのカレンダーしか同期できないようです。(iPhoneだと 5つまで同期できるようですが...)
また Gmailの連絡先にはフリガナが無いので、連絡先を同期させるとフリガナが???に置き換わって困った事になってしまいます。
 
そういう意味では やはりMy Phoneに期待したいですね。
 

2009-01-27

カーナビに接続したいのだけど...

車を乗り換えました。
新しい車はBluetoothでハンズフリー通話ができたり、データ通信で渋滞情報等を取得できるようです。 どの分野も技術の進歩は著しいですね。
 
ただ、車はあまり詳しくないという事もあって細かい仕様をほとんどチェックしてなかったためにいろいろな問題が出ています。
 
最大の問題は WILLCOM 03がHFP(とDUN-GW?)に対応してないがためにカーナビから認識してもらえない事です。 (WILLCOM 03側にナビの名前が出てくるのですが、ナビではWILLCOM 03を認識してくれません)
 
 
HFP、DUNをサポートしているドコモの携帯(M702iS)はなんの問題もなくペアリングできているので、次機種に期待したいところです。
 
当然 Bluetoothでデータ通信をする事もできないのですが、よく見ると有線で接続する方法もありませんでした...
別のカーナビを選んでおけば今のW-SIMを使って新つなぎ放題の定額料金で通信できていたようなのですが、今回は別契約で専用のカードを用意する必要がありそうです。
 
やはり何事も事前の調査が重要という事ですね。
 

2008-12-11

他にもいろいろ やって来た

昨日のLive Meshに続いて、今日もいろいろ更新されていました。
 
まずはモバイルGoogleマップ。
google.comの方にあります。
 
ついにストリートビュー対応になりました。
と言ってもうちの近所には全く関係ないんですけどね。都会に出かけたときに役に立つ...かな?
 
ところで、自分のWILLCOM 03に今回のモバイルGoogleマップをインストールしようとすると、必ずインストールに失敗してしまいます。
インストールの最後にモバイルGoogleマップが起動してキャッシュやお気に入りを残すか確認されるのですが、ここで何かボタンを押すとプログラムが落ちてインストール失敗になるようです。
 
あらかじめキャッシュを消したりもしてみたのですが、どうにもうまく行かずに出した結論が「確認ダイアログが出た時点でリセット」という荒業(笑
 
一応、動いているので良しとします。
皆さんの環境ではちゃんとインストールできましたか?
 
続いて、個人的には最重要アプリのSkype
 
ついついSmartphone版を落としそうになりますが、Skype的にはSmartphoneは非タッチパネルのデバイスという事みたいなので Pocket PC版を落としましょう。
 
起動時のスプラッシュ画面がWVGA対応になっていました(笑
 
通話品質も向上したそうですが、PHS回線だと異世界からの通信のようになってしまいます。無線LANならなんとか話せるレベルでしょうか...。
まぁ話したいときは普通に電話しますよね。本体が電話機な訳ですし。
 
Skypeの真価はIMとしての利用だと思います。オフラインの間のログが他のメンバーから補完されるのはとても便利です。
 
最後は Opera Mobile 9.5 for WILLCOM 03
 
ウィルコムの説明ページを読むためにははパケット接続が必要ですが、プログラム自体はOperaのページから直接落とせました。
インストールする前にopera6.adrと opera.iniを保存しておきましょう。
 
文字入力時に勝手にSIPが起動しなくなったそうです。
これまではNullKeyboardと自作のChgSIPで小細工をしていたのですが、ようやく不要になりますね。
他にも縦画面、横画面の切り替え時の表示が改善されたそうです。
 
昨日・今日と重要なアプリの更新が続いて 03がどんどんパワーアップしています。
他にも気になるツールがいくつか出ているので、しばらくは環境の見直しで遊べそうです。
 

2008-12-10

Live Mesh for Mobileがやって来た

ついに日本からも Live Mesh for Mobileが利用できるようになったようです。
 
Expanded Live Mesh for Mobile CTP
The recent service update to Live Mesh addresses many of the issues users reported since we opened the Mobile CTP on Oct 30.
 
With the release of the updated Live Mesh for Mobile version 0.9.3424.9, we are expanding the CTP to more users. We are also lifting the country restrictions on access to the CTP - it is now open to all countries.
上記ページ内にあるリンクを踏むとLive Meshのデバイス一覧でモバイルデバイスを追加できるようになります。
 
 
早速 WILLCOM 03を追加してみましたが、デジカメで撮影した画像があっというまに同期しました。 普段使っているPCのフォルダも問題なく同期できます。Word Mobile、Excel Mobileの活躍の場が増えそうですね。
 
ただ、ファイル数が多いとPHS回線は少しつらいかもしれません。 とりあえず同期のスケジュールは手動にしておきました。
 
それでもファイル同期については圧倒的に便利になりました。 環境を再構築するような場合でも、Live Meshのクライアントだけあれば、他はすべてMeshから持ってくる事ができますね。
 
後はスケジュール同期のいい方法があれば完璧なのですが...。
 

2008-11-06

BluetoothでActiveSync

以前 設定で試行錯誤しましたが、今回はコードの話。
Bluetooth経由でActiveSyncを開始するツールを作りたくて少し調べていました。
 
Windows Mobile 5以降であれば ActiveSyncStart()を使うと簡単に同期を開始する事ができるようです。
引数も何もなしで呼び出すだけで同期が開始されます。とても楽ですね。
 
でも、Bluetoothで接続して同期する方法がどうしてもわかりませんでした。
 
いろいろ検索しているうちに Windows Mobile Teamのブログのコメント欄を見つけました。
 
Windows Mobile Team Blog Start & Stop ActiveSync
Monday, November 28, 2005 6:14 PM by Alex Kac
Why won't this let us choose Sync over BT?
Monday, November 28, 2005 8:22 PM by windowsmobile
Excellent question :) I'll log that as a suggestion.
 
-Robert
 
「Bluetooth経由のSyncは選べないんですか?」という質問に「いい質問ですね。提案として覚えておきます」と回答していました。
つまり方法は無いという事でしょうか?
 
標準のActiveSyncに「Bluetoothから接続」というメニューがあるからには何らかの方法でできるはずなのですが、思ったよりも手間がかかりそうですね。
 

2008-11-04

電源供給中の判別 その2

WifiInfoで「電力供給中は無線LANを自動切断しない方がいい」というご要望を頂きました。
 
電力供給中ってどうやって判定するんだっけ...と思ったのですが、よく考えると以前も同じような事をしていましたね。
「充電中かどうかはレジストリの監視で可能ですが満充電になると判定できなくなるので、GetSystemPowerStatusEx2()を使わないといけませんね」という話でした。
 
一方でアドエスやWILLCOM 03はUSB給電が可能で、この場合は HKLM\Drivers\USB\FunctionDrivers\UsbChargingで判定が可能です。
 
両方レジストリで判定できればRegistryNotifyCallback()で監視すればいいのですが、結局はいちいち問い合わせてやらないといけません。ちょっと面倒ですね。
static BOOL PowerIsSupplying()
{
    SYSTEM_POWER_STATUS_EX2 systemPowerStatus   = {0};
    DWORD                   dwUsbCharging       = 0;

    // AC電源
    if (0 == GetSystemPowerStatusEx2(&systemPowerStatus, sizeof(systemPowerStatus), TRUE)) {
        systemPowerStatus.ACLineStatus = AC_LINE_UNKNOWN;
    }
    if (AC_LINE_ONLINE == systemPowerStatus.ACLineStatus) {
        return TRUE;
    } else {
        // USB給電も調査
        if (S_OK != RegistryGetDWORD(
                HKEY_LOCAL_MACHINE                  ,
                _T("Drivers\\USB\\FunctionDrivers") ,
                 _T("UsbCharging")                  , // 0:無効 1:給電中
                &dwUsbCharging)) {
            dwUsbCharging = 0;
        }
        return (1 == dwUsbCharging);
    }
}

 
ところで、たった今このエントリを書きながら「充電台に乗せたらActiveSync開始するようなツール作れば便利かも」と閃きました。
似非クレイドルみたいで便利だと思うんですがどんなもんでしょうか?