はじめまして 翼です
早速なんですが、表題の通り サービスプログラムを別のインストールプログラム
でサービス登録しているのですが、
サービスが正常に起動している状態でログオフ⇒ログオンをした後、
ログオフ、シャットダウン、再起動が効かなくなります。
そのサービスを停止、または再起動すれば問題なくログオフ等できるように
なるのですが、原因がよくわかりません
デスクトップとの対話のチェックをはずせばログオフ等できるのですが、
対話が必要なのでチェックしたまま対応できればと思っております。
アドバイスのほど何卒よろしくお願いいたします
以下に CreateServiceの部分を貼り付けておきます
ーーーーーーーーーーーーーーーーーーーーーーーーー
SC_HANDLE service = ::CreateService(
scm, // SCM データベースのハンドル
m_sServiceName, // 開始したいサービスの名前
m_sServiceName, // 表示名
SERVICE_ALL_ACCESS & ~SERVICE_PAUSE_CONTINUE,
SERVICE_WIN32_OWN_PROCESS | SERVICE_INTERACTIVE_PROCESS,
SERVICE_AUTO_START,
SERVICE_ERROR_NORMAL,
m_sBinary_name,0,0,0,LocalSystem,0 );
サービスから起動されるアプリでMFCを使っていませんか?
MSDNにそれらしい記事があったのでURLを貼っておきます。
機械翻訳されて見づらいかもしれませんが参考までにどうぞ。
http://support.microsoft.com/kb/q164166/
サービスでハードを間接的(ドライバー等を介して)に動かしている場合に
ありえそうだと思います。
kure様 ITO様
ご返答ありがとうございます
kure様の仰るとおり MFCを使用したサービスプログラムです。
MFCを使用しないプログラムに差し替えて起動してみたところ正常に
ログオフが出来ました。
MSDNの対処方法で試してみます
ありがとうございました