掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
サービスの起動確認をするには? (ID:4285)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
SCManagerを開き、Serviceを開いてから、QueryServiceStatusでステータスチェックします。 例えば、 Edit1, Memo1, Button1を貼り付け、Button1のOnClickイベントに、 procedure TForm1.Button1Click(Sender: TObject); var service: TServiceStatus; mhnd, shnd: SC_HANDLE; begin mhnd := OpenSCManager(nil, nil, SC_MANAGER_ALL_ACCESS); if mhnd = 0 then begin Memo1.Lines.Add('OpenSCManager failed.'); Exit; end; shnd := OpenService(mhnd, PChar(Edit1.Text), SERVICE_ALL_ACCESS); if shnd = 0 then begin Memo1.Lines.Add('OpenService failed.'); CloseServiceHandle( mhnd ); Exit; end; if QueryServiceStatus(shnd, service) then begin case service.dwCurrentState of SERVICE_STOPPED: Memo1.Lines.Add('Stoped'); SERVICE_START_PENDING: Memo1.Lines.Add('Start Pending'); SERVICE_STOP_PENDING: Memo1.Lines.Add('Stop Pending'); SERVICE_RUNNING: Memo1.Lines.Add('Running'); SERVICE_CONTINUE_PENDING: Memo1.Lines.Add('Continue Pending'); SERVICE_PAUSE_PENDING: Memo1.Lines.Add('Pause Pending'); SERVICE_PAUSED: Memo1.Lines.Add('Paused'); end; end; CloseServiceHandle( shnd ); CloseServiceHandle( mhnd ); end; こんな感じです。 uses節に、winsvcを追加してください。
←解決時は質問者本人がここをチェックしてください。
戻る
掲示板システム
Copyright 2020 Takeshi Okamoto All Rights Reserved.