定期的に実行されるC++アプリケーションを作成したいと思います。 Windowsサービスとよく似ています。 C++でWindowsサービスを作成することは可能ですか?はいの場合はどうですか?Windowsサービス(C++)
これに関するチュートリアルはありますか?
EDIT:Windowsサービス用のインストーラはどのように作成できますか?
定期的に実行されるC++アプリケーションを作成したいと思います。 Windowsサービスとよく似ています。 C++でWindowsサービスを作成することは可能ですか?はいの場合はどうですか?Windowsサービス(C++)
これに関するチュートリアルはありますか?
EDIT:Windowsサービス用のインストーラはどのように作成できますか?
別の答えに示されているように、あなたは、通常のC++プログラム(main
で始まる)を作成し、というのWindowsを伝えるためにStartServiceCtrlDispatcher
のWin32 APIを呼び出す必要がありますこのプログラムをサービスとして実行したいとします。 this function can be found in MSDNに関するいくつかの情報
また、Windowsサービスコントロールパネルにサービスをインストールするように、サービスをインストールする必要があります。もちろん、アンインストール機能も提供する必要があります。通常、3つの機能(すなわち、インストール、アンインストールおよび実行)はすべて単一の実行可能ファイルで処理される。これらの3つの違いは、コマンドラインパラメータによって示されます。
使用しているVC++のバージョンを指定していません。管理された.NETコードを使用する場合は、WindowsサービステンプレートがVisual Studioにあらかじめ組み込まれているため、非常に簡単です。
しかし、VC++ 6(または100%アンマネージドコード)を使用している場合は、多くの低レベルの詳細を知る必要があります。 ATLまたはMFCのノウハウ(以前のバージョンのコンパイラ/ランタイムを使用している場合)によって、選択肢が異なります。
これはcreating Windows Services using C++の良いチュートリアルです。
C++は、従来のアプローチが動作するCと十分に互換性があります。アプリケーションは通常のC++プログラム(main
で始まる)としてビルドします。起動時にStartServiceCtrlDispatcher
に電話して、プログラムがサービスとして実行できることをOSに通知します。 Windowsはクラスを内部的に使用することに気にしません。
もちろん可能です。可能なだけでなく、ネイティブAPIが設計されているものです(実際はCですが、十分に近い)。
を参照してくださいジェフリヒターの著書「Windows 2000用のプログラミングサーバー側アプリケーション」
デーモン/サービスを少しでも作成できるようにするPOCO C++ライブラリを確認してください。
多分私は遅れていますが、私は作成するWindowsサービスのためのC++クラスを作成し、共有コード をしたい、あなたは必要な私の基本クラスからクラスを継承cWinService http://sprogram.com.ua/en/articles/how-write-service-for-windows-with-cpp
ください。あなたが何か観察しているなら私に連絡してください。 私はちょうど勉強しているC++のウィザードではありません;)
これはこれに関するいくつかの良い記事です。 1.http://msdn.microsoft.com/en-us/library/ms685967%28VS.85%29.aspx 2.devx.com/cplus/Article/9857/1954 – sid
どのように私はWindowsサービスのインストーラを作成できますか? – sid
@sydは、使用するインストーラによって異なります。あなたが最小限のもので行くならば、個々のサービスのコマンドラインインストールは非常に簡単です。 – Jaywalker