2007-10-09

Pocket PCのサービス(その2)

先日調べかけだったサービスの実行方法ですが、ActivateServiceに HKLM\Servicesに登録した名前を指定することで実行できました。
g_hService = ActivateService(_T("OOSNotifier"), 0);
if (!g_hService) {
    dwError = GetLastError();
    MessageBox(NULL, _T("ダメだった"),   _T("OOSNotifier"), MB_OK);
}
 
終了するときはDeregisterServiceを使います。
if (g_hService) {
    DeregisterService(g_hService);
}
 
 
この方法で OOSNotifierをサービス化してみたのですが、やはりサスペンド中は動作しませんでした。
 
そんなに甘くはないですね(笑
 
あえて利点を挙げるとすれば service.exeのスレッドとして動くので、プロセス数を消費しないという事でしょうか...。
 
サスペンド中であれば一時的にサスペンドを中断してみたら動いてくれないかな...と期待しているのですが、今日はこの辺で。
 

0 件のコメント: