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-07-02

Tech・EdでWM関連のセッションが...?

今夏注目の新製品を徹底解説 | Microsoft Tech·Ed Japan 2009 久しぶりにTech・Edのサイトを覗いてみるといつの間にか Windows Mobileの文字が追加されていました。
 
Tech・Ed オープン ステージ

「本当はすごい Windows Mobile エミュレーター の使いこなし術 ~そして 6.5 へ」
 
但し、テクニカルセッションではなくオープンステージなんですね...。
テクニカルセッションが1時間以上あるのに対してオープンステージは15分程度しかありません。 3日間で 15分だけというのは少し寂しいですね。
 
本番までにもう少しWindows Mobile関連のセッションが増えてくれると嬉しいのですが...。
 

2009-06-29

Google Syncがフリガナ対応?

テスト用にアドエスを引っ張り出して環境構築をしました。
必要なソフトを厳選している分、メインの 03よりも綺麗な環境になっています。
 
ところでGoogle Syncの設定中に気がついたのですが、いつの間にか連絡先のフリガナが正しく同期できるようになっていますね。
 
Google Contacts側でどこにフリガナが入っているのかわかりませんが、同期する度に消されてしまうよりははるかにマシです。
(もしかしたら MyPhoneでも改善されているのかも...と思って試してみたのですが、見事にフリガナが消えてしまいました...)

あとはLive Meshのように端末のファイル同期もできると完璧なのですが、GoogleにはSky Driveのようなオンラインストレージのサービスが無いので望み薄なのでしょうか。
なかなか決定的な方法は無いものですね。
 

VAIO type C

会社の女の子から新しく買ったPCの設定を頼まれました。
届いたのはソニーの VAIO type C。 少し丸みを帯びたかわいいデザインのPCです。
 
とりあえず Windows Updateをしていると、適用される修正プログラムの名前にやたらと64の文字が目につきました。
あらためて仕様を確認してみると、OSは Vista 64ビットでメモリは 4GBとの事。
10万円ちょっとのエントリーモデルとは思えないスペック。どうりでVistaが恐ろしく軽快に動くはずです。
 
Sony Style(ソニースタイル)  
つまり、いつの間にか自分ののPCはエントリーレベル以下になってしまったのですね(笑
何だか世間から取り残された気分でした。
 

2009-06-22

ルート検索

先週、Google Japan Blogに「ルート案内 API が日本でも使えるようになりました」というエントリがありました。
これまで国外でしか使えなかったルート検索APIが日本国内にも対応したとの事です。
 
そしてモバイルGoogleマップもいつの間にか 3.0.16にバージョンアップ。
 
相変わらず修正内容は不明ですが、きっとルート検索絡みなのだと思います。
試しに大阪駅から南紀白浜までのルート検索をしてみたところかなり正確なルートを表示してくれました。

 
ところで ここ数日 Virtual Earth改め(?)Bing Mapsで遊んでいます。
Bing Mapsにもルート検索APIがあるのでどんな結果が返ってくるか試してみました。
var map = new VEMap('mapframe');
map.LoadMap(new VELatLong(34.701542,135.497668), 17, VEMapStyle.Road, false, VEMapMode.Mode2D, true, 1);

var options = new VERouteOptions();
options.DistanceUnit = VERouteDistanceUnit.Kilometer;
map.GetDirections([new VELatLong(34.701542,135.497668), new VELatLong(33.67637,135.387411)], options);
 
出発地点と目的地はうまく指定できなかったので座標で直接指定しています。
結果はこんな感じ。
 
 
なんとなく雰囲気はわからないでもないのですが、一般道の情報などは無茶苦茶です。
早く国内に対応して欲しいですね。(Windows Mobile用のクライアントの正式版も・・・)
 

2009-06-21

新機種が気になる

T-01Aがかなりすごいらしいですね。(大きさもすごいらしいですが...)
聞けば聞くほど実物を見たくなってドコモショップを覗いてきました。
 
結果、モックすら無し(笑
田舎のドコモショップなので在庫すら無い様子...
 
代わりに「Googleモバイルサービスガイド」なるパンフレットがあったので頂いてきました。
 
 
「ケータイでのGoogleサービスがさらに使いやすくなったHT-03Aが登場」との事ですが、こちらもモックなし パンフレットもなし。
電撃で WILLCOM 03後継とか発表してくれないかなぁと妄想しています。
 

2009-06-18

気がつけば

最近 HT-03Aの情報ばかりチェックしていて 気がつかなかった(失礼)のですが、明日から T-01Aが発売されるのですね。
 
YouTubeで TV CMが流れていました。
 
 
あれ?何だかカッコイイですよ?
大きすぎという前評判だったんですが、あまり大きさを感じさせないのは映像の撮り方でしょうか?
 
気がつかなかったと言えば ブログ開設して2年が過ぎていました。 よく三日坊主で終わらなかったと自分に感心します。
次の1年続ける事ができるように 新しい燃料が欲しいところですね。