MFC/VC下制御windowsサービス——サービスを停止し、サービスを起動する
1412 ワード
OS:Windows 7 64ビット(テスト済み、Windows 10は使用できません)
実行環境:Visual Studio 10
ファイルコード:Unicode
追加するヘッダファイル:
参考記事:
C++インストール、削除、起動サービス
vc++起動と停止サービス【回転】
実行環境:Visual Studio 10
ファイルコード:Unicode
追加するヘッダファイル:
#include <winsvc.h>
void CXXXDlg::ServiceRun()
{
SERVICE_STATUS ssStatus;
// ServiceControl Manager
SC_HANDLE shServiceManager = OpenSCManager(NULL,SERVICES_ACTIVE_DATABASE,SC_MANAGER_ALL_ACCESS);
//
SC_HANDLE shDefineService = OpenService(shServiceManager,_T("Tomcat8"),SERVICE_ALL_ACCESS);
if((QueryServiceStatus(shDefineService,&ssStatus))==0)
{
AfxMessageBox(_T(" "),MB_ICONINFORMATION);
}
// ,
SC_HANDLE stService;
if(ssStatus.dwCurrentState==SERVICE_STOPPED)
{
//AfxMessageBox(" Tomcat8 ",MB_ICONINFORMATION);
stService = OpenService(shServiceManager,_T("Tomcat8"),SERVICE_START|GENERIC_EXECUTE);
StartService(stService,0,NULL);
CloseServiceHandle(stService);
}
//else //
//{
// //AfxMessageBox(" Tomcat8 ",MB_ICONINFORMATION);
// stService=OpenService(shServiceManager,"Tomcat8",SERVICE_STOP|GENERIC_EXECUTE);
// ControlService(stService,SERVICE_CONTROL_STOP,&ssStatus);
// CloseServiceHandle(stService);
//}
CloseServiceHandle(shDefineService);
CloseServiceHandle(shServiceManager);
}
参考記事:
C++インストール、削除、起動サービス
vc++起動と停止サービス【回転】