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
    );
}

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

2 件のコメント:

bokura さんのコメント...

WILLCOM03で、S2U2用に導入させてもらいました。
SMS未読として動作しています。
ちなみに、自分が、MortScriptで未読メール数に移していたのは、
HKEY_CURRENT_USER
System\State\Messages\TotalEmail\Unread
Cunt
に件数をコピーしていました。

kazuaki さんのコメント...

bokuraさん こんばんは。
コメントありがとうございます。

本当はSMSにはライトメールの件数を表示したいところなのですが、Spb Mobile Shellのメールアイコンをクリックしたときに Outlookが立ち上がってしまうのでお茶を濁してしまいました。
Outlook固定は Pointui Home2でも同じような感じでした、何かいい方法があればいいのですが...。