No.1ベストアンサー
- 回答日時:
ありがとうございます。
このページにはたどり着いたのですが、
サンプルまで探せませんでした。
見つけることができました!
試してみます。
No.3
- 回答日時:
すみません。
ミス訂正で#2 を差し替えます。転記ミスです。Public Function StopService( _
ByVal ServiceName As String, _
Optional ByVal WaitMilisecondTime As Long = 5000) As Long
' 目 的 : サービスの停止
' 引 数 : ServiceName サービス名 (String)
' 戻り値 : 成功:0 / 失敗:1 (Long)
Dim ServiceList As Object
Dim Service As Object
Dim Sql As String
Dim lRet As String
Sql = "Select * From Win32_Service Where Name='" & ServiceName & "'"
Set ServiceList = CreateObject("WbemScripting.SWbemLocator") _
.ConnectServer.ExecQuery(Sql)
For Each Service In ServiceList
If Service.State = "Running" Then
lRet = Service.StopService()
Sleep WaitMilisecondTime
End If
Next
StopService = IIf(lRet = 0, 1, 0)
Set ServiceList = Nothing
End Function
ありがとうございます。
確かにAPIより楽そうですね。
こういう方法があるとは知りませんでした。
勉強になりました。
もうAPIで作成してしまったのですが、
時間があったら試してみます!
No.2
- 回答日時:
こんにちは。
KenKen_SP です。API より WMI の方が楽じゃない?
Option Explicit
Private Declare Sub Sleep Lib "kernel32.dll" (ByVal dwMilliseconds As Long)
Public Function StopService( _
ByVal ServiceName As String, _
Optional ByVal WaitMilisecondTime As Long = 5000) As Long
' 目 的 : サービスの停止
' 引 数 : ServiceName サービス名 (String)
' 戻り値 : 成功:0 / 失敗:1 (Long)
Dim ServiceSet As Object
Dim Service As Object
Dim Sql As String
Dim lRet As String
Sql = "Select * From Win32_Service Where Name='" & ServiceName & "'"
Set ServiceList = CreateObject("WbemScripting.SWbemLocator") _
.ConnectServer.ExecQuery(Sql)
For Each Service In ServiceList
If Service.State = "Running" Then
lRet = Service.StopService()
Sleep WaitMilisecondTime
Next
StopService = IIf(lRet = 0, 1, 0)
Set ServiceSet = Nothing
End Function
待機については、サービスの状況を Service.State で調べられます。
Running (動作中)
Stopped (停止)
たいていは、この2つ。その他にも
Paused (一時停止)
Continuing (続行中)
がありますが。
サービス開始なら、Service.StartService() です。関数は別途作成して
下さい。エラーコードは StopService とは異なりますよ。0 で成功、
10 なら既に稼動中です。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・街中で見かけて「グッときた人」の思い出
- ・「一気に最後まで読んだ」本、教えて下さい!
- ・幼稚園時代「何組」でしたか?
- ・激凹みから立ち直る方法
- ・1つだけ過去を変えられるとしたら?
- ・【あるあるbot連動企画】あるあるbotに投稿したけど採用されなかったあるある募集
- ・【あるあるbot連動企画】フォロワー20万人のアカウントであなたのあるあるを披露してみませんか?
- ・映画のエンドロール観る派?観ない派?
- ・海外旅行から帰ってきたら、まず何を食べる?
- ・誕生日にもらった意外なもの
- ・天使と悪魔選手権
- ・ちょっと先の未来クイズ第2問
- ・【大喜利】【投稿~9/7】 ロボットの住む世界で流行ってる罰ゲームとは?
- ・推しミネラルウォーターはありますか?
- ・都道府県穴埋めゲーム
- ・この人頭いいなと思ったエピソード
- ・準・究極の選択
- ・ゆるやかでぃべーと タイムマシンを破壊すべきか。
- ・歩いた自慢大会
- ・許せない心理テスト
- ・字面がカッコいい英単語
- ・これ何て呼びますか Part2
- ・人生で一番思い出に残ってる靴
- ・ゆるやかでぃべーと すべての高校生はアルバイトをするべきだ。
- ・初めて自分の家と他人の家が違う、と意識した時
- ・単二電池
- ・チョコミントアイス
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
DataGridViewのカラムに自動で連番
-
backgroundworkerについて C#
-
VBS + WMI リモートレジストリ
-
コントロールキー、シフトキー...
-
【至急】フォトショップの「自...
-
メッセージボックスを前面に表...
-
どこにもフォーカスを当てたくない
-
"判定"の英語表現について
-
至急!! ノートパソコンを3年...
-
C#でButtonのフォーカス枠を消...
-
CapCutで、人の目からビームを...
-
画像解析ソフトImageJでの楕円...
-
波形が表示できるミュージック...
-
自分の声に無線でしゃべってる...
-
WMP12で歌詞を表示したい
-
ctrl+c(copy)を実行するbat構文
-
ゆっくりムービーメーカーでセ...
-
他の人には声だして挨拶してる...
-
OPPO A54 5Gを使っています。 ...
-
どういう意味
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
DataGridViewのカラムに自動で連番
-
DirectSoundの仕組みと使い方。
-
VBとAdobe Acrobat SDKを使用し...
-
バイナリデータをOracleテーブ...
-
VB6.0を勉強するにあたって
-
ランダムで数を表示するには
-
C言語で電話帳機能を実現
-
リッチテキストエディタ サンプル
-
リッチクライアントの凄さが知...
-
コントロールキー、シフトキー...
-
jQuery スライド(カルーセル)...
-
施設予約システム
-
VBScriptの勉強方法
-
ロゴデザインの本に付属のCD-RO...
-
(至急!!)CodeIgniterでのCSV...
-
JavaScriptでシンプルなアプリ...
-
ホームページで簡単にフォトギ...
-
領域を分割する線の作成を自動...
-
Flash5 → PHP の変数受け渡し
-
サービスの停止
おすすめ情報