WINDOWSのサービスプログラム開発

WINDOWSのサービスプログラム開発

開発段階:

  1、新規作成 - >その他 - >サービスアプリケーション

  2、今のフレームワークプログラムを提供していることは、オープンサービス1ウィンドウを取るために持って、説明するためにいくつかの属性があります。

  AllowPause:許可するかどうかを中断

  AllowStop:ストップを許可するかどうか

  依存性:依存関係、サービスまたはグループに依存しているサービスのサービスの設定を開始

  表示名:「サービス」ウィンドウが表示さの名のもとに

  trueに設定し、次のことができた場合:インタラクティブWindowsのデスクトップとの対話のために、我々はサービスでフォームを表示したい場合は、この設定はtrue、別の必須stWin32サービス種別に設定する必要があります。

  パスワード:パスワード

  StartType:起動モード

  私たちは、フォームとの対話をサービスにしたい場合は3、次の手順を実行します。

  プロジェクトに新しいフォームを作成fmMain

  その後のOnStartでサービス1でコードを書きます

  手順TService1.ServiceStart(送信者:TService; varが開始:ブール);

  ベギン

  開始:=真;

  Svcmgr.Application.CreateForm(TFmMain、fmMain)。

  FmMain.show;

  終わり;

  OnStopコード

  手順TService1.ServiceStop(送信者:TService; VAR停止:ブール);

  ベギン

  停止:=真;

  FmMain.Free;

  終わり;

  サービスの開始時にこれが新しいフォームと表示されます

  4、翻訳が完了した後、我々はサービス、インストール方法をインストールすることができます。

  APPNAMEは/ウィンドウにcmdとインストールの実行、

  如F:\帳\ DService \ Project1.exeをインストール/

  サービスのインストールが完了するように、

  5.同様に、このコマンドを削除すると、CMDウィンドウAPPNAME /アンインストール中に入力されます

  如F:\帳\ DService \ Project1.exeを/アンインストール

  その他について:

  デバッグサービスプログラムについて1、

  我々は、サービスが複数のフォームを持って開発する場合、デバッガは間違いなく大きな問題です

  実際には、サービスプログラムは、仮定のコンパイル、常に条件をコンパイルすることにより、サービスプログラムや通常の実行可能プログラムを生成し、行ったり来たり、私たちはコンパイルするための条件を追加することができ、切り替えることを防止するために、標準のWin32プロジェクトのビットに変更することができます条件NormalAppは、次の場所で条件を指定してコンパイルする必要があります

  プロジェクトファイル、基準ユニット

  {$ IFDEF NormalApp}

  フォーム、

  {$のELSE}

  SvcMgr、

  {$ ENDIF}

  プロジェクトの初期化

  {$ IFDEF NormalApp}

  Application.Initialize;

  Application.CreateForm(TFmMain、FmMain)。

  Application.Run;

  {$のELSE}

  そうでない場合はApplication.DelayInitializeまたはApplication.Installingその後、

  Application.Initialize;

  Application.CreateForm(TService1、サービス1)。

  Application.Run;

  {$ ENDIF}

  このように、我々は/条件サービスの手順を切り替えるために追加することにより、コンパイルNormalAppと、ウィンドウの一般的なプログラムを削除することができます

おすすめ

転載: www.cnblogs.com/hnxxcxg/p/11204839.html