只能发送消息过去,由那边响应消息启动。
解决方案 »
- 奇怪的消息循环
- 关于XML文件的问题.请教一下大家
- Office自动化开发遇到的"服务器正在运行"的问题
- 天,这是什么:Run-Time Check Failure #2 - Stack around the variable 'dlg' was corrupted.
- 按钮问题
- 晕,delphi写的dll在vb里调用。出错退出
- 请问如何修改可执行文件的图标?
- 如何获取outlook新建联系人的窗口呢?
- 你知道的炫美界面?
- 个位VC的哥儿们快来帮个忙(高分回报)
- 控件运行状态时,如何调用控件的属性页并进行属性设置,改变控件运行状态?
- 紧急求助,Client--COM--SQL Server 三层中实现存储过程时类型对应问题
{
SERVICE_STATUS ssStatus; DWORD dwOldCheckPoint;
DWORD dwStartTickCount;
DWORD dwWaitTime; SC_HANDLE schSCManager;
SC_HANDLE schService; BOOL bRet = TRUE; schSCManager = OpenSCManager(
(LPCTSTR)strMachineName,
SERVICES_ACTIVE_DATABASE,
SC_MANAGER_CREATE_SERVICE
); if (schSCManager)
{
schService = OpenService(
schSCManager,
(LPCTSTR)strServiceName,
SERVICE_ALL_ACCESS); if (schService)
{
if (!StartService(schService, 0, NULL) )
{
DWORD dwError = GetLastError();
if (dwError != ERROR_SERVICE_ALREADY_RUNNING)
{
DisplayErrorText (dwError);
bRet = FALSE;
}
}
if (!QueryServiceStatus( schService, &ssStatus) )
{
DWORD dwError = GetLastError();
DisplayErrorText (dwError);
bRet = FALSE;
}
dwStartTickCount = GetTickCount();
dwOldCheckPoint = ssStatus.dwCheckPoint; while (ssStatus.dwCurrentState == SERVICE_START_PENDING)
{
dwWaitTime = ssStatus.dwWaitHint / 10; if( dwWaitTime < 1000 )
dwWaitTime = 1000;
else if ( dwWaitTime > 10000 )
dwWaitTime = 10000; Sleep( dwWaitTime ); if (!QueryServiceStatus( schService, &ssStatus) )
break;
if ( ssStatus.dwCheckPoint > dwOldCheckPoint )
{
dwStartTickCount = GetTickCount();
dwOldCheckPoint = ssStatus.dwCheckPoint;
}
else
{
if(GetTickCount()-dwStartTickCount > ssStatus.dwWaitHint)
break;
}
} if (ssStatus.dwCurrentState == SERVICE_RUNNING) bRet = TRUE; CloseServiceHandle(schService);
}
else
{
DWORD dwError = GetLastError();
DisplayErrorText (dwError);
bRet = FALSE;
} CloseServiceHandle(schSCManager);
}
else
{
DWORD dwError = GetLastError();
DisplayErrorText(dwError);
bRet = FALSE;
} return bRet;
}