初めて投稿します。宜しくお願い致します。
質問ですが、WINDOWSで例えば、Oracle.exe等がサービスとして
上がっていないかを確認したいのですが、
APIはありますでしょうか?
それをVBで実現したいのですが、
どなたか知っている方ご教授ください。
その環境でWMIが使えるようになっているならば、
「Win32_Service」を使ってみては如何でしょうか。
とりあえず、「Oracle.exe」がサービス名なのかモジュール名なのかが
はっきりしなかったので、サービスの一覧を表示するサンプルを挙げておきます。
Private Sub Command1_Click()
Dim WMI As Object
Dim Services As Object
Dim Service As Object
Dim Prop As Object
Dim L As Long, P As Long
MsgBox "サービスの一覧を取得します。", vbInformation
ListView1.View = lvwReport
Set WMI = GetObject("winmgmts:")
With ListView1.ColumnHeaders
.Clear
.Add Width:=360
Set Services = WMI.Get("Win32_Service")
For Each Prop In Services.Properties_
.Add Text:=Prop.Name, Width:=720
Next
End With
Set Services = WMI.InstancesOf("Win32_Service")
On Error Resume Next
For Each Service In Services
L = L + 1
With ListView1.ListItems.Add(Text:=CStr(L))
P = 0
For Each Prop In Service.Properties_
P = P + 1
.SubItems(P) = Prop.Value
Next
End With
If L Mod 10 = 0 Then
DoEvents
End If
Next
Set Services = Nothing
Set WMI = Nothing
MsgBox "サービスの一覧を取得しました。", vbInformation
End Sub
ツイート | ![]() |