• 締切済み

サービスEXEのプロセス終了について

VC6.0 ATL COM AppWizard で作成したWindowsサービスについて質問です。 サービスが停止できなかった場合など、サービスEXEをタスクマネージャからプロセスの終了したいのですが、 Windows2000の場合、「アクセスが拒否されました。」と表示され、終了できません。 サービスEXEをタスクマネージャから終了できるのか、またそのために必要なコードをご教授願います。 サービス関連のロジックは ATL COM AppWizard で作成されたまま使用しております。

みんなの回答

  • GOGOV
  • ベストアンサー率54% (12/22)
回答No.2

タスクマネージャーから終了できないものでも、 サービスで停止することができます。 マイコン-(右クリ)管理-サービスとアプリケーション-サービス 対象サービスを右クリで停止でどうでしょうか? また、プログラムでのサービス停止のコードは下記を参考にしてください。

参考URL:
http://www.athomejp.com/goldfish/api/servicestartstop.asp
kazeen
質問者

補足

回答ありがとうございます。 私の説明不足で、質問の内容がうまく伝わっていないようです。申し訳ありません。 通常はサービスの停止ができています。 しかし、まれに停止に失敗します。(私のコーディングが原因) その時、サービスEXEがタスクマネージャに残ったままとなり、終了できない。 OSの再起動で復旧できるがそれは行いたくない。 よって暫定対処として、サービスEXEであってもタスクマネージャから終了できるように細工したい。 ATL COM AppWizardのデフォルトコーディングではできないのでようなので なにか追加コーディングが必要でしょうか?というのが質問の内容です。

  • GOGOV
  • ベストアンサー率54% (12/22)
回答No.1

サービスでの停止ではダメですか?

kazeen
質問者

補足

早速の回答ありがとうございます。 サービスの停止ができない場合があります。 本来なら停止できない理由を解決するのが本筋と思いますが、調査が難航しております。 納入先からは、プロセスで終了できればよいという妥協案を提示してもらっているので、暫定的対応としてプロセス終了を考えております。

関連するQ&A