- PR -

Windowsサービスの停止

1
投稿者投稿内容
よしな
常連さん
会議室デビュー日: 2003/06/16
投稿数: 20
投稿日時: 2005-03-11 16:04
いつもお世話になります。

知識不足で申し訳ありませんが、ご教授願います。
行いたいことですが、VB.net(Windowsアプリ)で
WWWサービスを起動、停止したいと思っています。

Dim sc As New ServiceController
sc.DisplayName = "World Wide Web Publishing"

と続き sc.Stop()で停止をしようと思ったのですが、
デバッグするとsc.DisplayName = ***と設定した段階で
サービスが停止してしまいます。

これは、仕様なのでしょうか?
現在はMachineNameは設定してなくローカルです。

よろしくお願いします。

はぎ丸
常連さん
会議室デビュー日: 2005/02/02
投稿数: 36
投稿日時: 2005-03-11 16:22
カネさん、こんにちは。

引用:

sc.DisplayName = "World Wide Web Publishing"


↑ここが気になるのですが、
DisplayNameの説明を見ると、
「サービスの表示名。サービスを識別するために使用します。」
と書いてあります。

また、コンストラクタの説明を見ると、
「ローカル コンピュータの既存のサービスに関連付けられている ServiceController クラスの新しいインスタンスを初期化します。」
と書いてあるので、"World Wide Web Publishing"を指定するならば
コンストラクタで指定すべきなのではないかと思います。

http://dobon.net/vb/dotnet/system/servicecontroller.html
↑ここにサービスの操作について書いてあるのを見つけました。
 参考まで。
rvmx
大ベテラン
会議室デビュー日: 2002/09/26
投稿数: 184
お住まい・勤務地: 愛媛県
投稿日時: 2005-03-11 16:44
今日は

既に動いているサービスを操作するなら、newでなくて
現在のサービスを取得し(ServiceController.GetServices)で一致するものを探せば
操作できると思いますけど。
よしな
常連さん
会議室デビュー日: 2003/06/16
投稿数: 20
投稿日時: 2005-03-11 16:56
早速の回答ありがとうございます。

一度試してみます。
どっとねっとふぁん
ぬし
会議室デビュー日: 2005/02/23
投稿数: 935
投稿日時: 2005-03-14 14:31
C#のサンプルですけど、IISをリスタート(停止後に開始)しているものがあります。
http://homepage3.nifty.com/dotnetfan/console/console22.html
このレベルならVB.NETに置き換えるのは簡単だと思います。
1

スキルアップ/キャリアアップ(JOB@IT)