我已经把一个程序A写成nt服务形式(自启动形式)了,在服务列表中也是显示自动方式,但是第一次都需要手工启动,如何在程序中实现服务程序A的第一次自启动.另外,我有程序B需要控制服务程序A的启动与停止,如何实现这个过程?望各位能够给个解决方法或者建议,谢谢...
解决方案 »
- 用CEdit,如何实现类似combobox那样的功能?
- (散分贴)用VC获取天气信息的程序
- IOCP中的一个由线程引起的怪现象
- 请问如何更改计算机名(hostname名而非NetBIOS计算机名)
- 这种形式的选择添加文件的界面如何实现呢?
- 如何获得指定的USB设备(MP3播放器)的盘符问题
- 本人想学vc++,不知道看什么书,我已经熟练的掌握delphi,sqlserver,vfp,asp,熟悉oop编程!
- 一个帮助大家减肥的网站,我今天就减了2斤~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
- --------这个网页很差劲吗?给点意见吧!!!---------》》》》》
- ISAPI与窗体如何通讯?
- 多给分,重新开贴!!
- 高手指点
{
m_scm=OpenSCManager(
NULL,
NULL,
SC_MANAGER_CONNECT//允许连接到service control manager database
);
if (m_scm!=NULL)
{
m_svc=OpenService(
m_scm,
"AccessControlService",
SERVICE_START //Enables calling of the StartService function to start the service.
);
if (m_svc!=NULL)
{
//开始Service
StartService ( m_svc, //为指向Service的句柄,由OpenService返回
0, //为启动服务所需的参数的个数
NULL //为 启 动 服务所需的参数
);
CloseServiceHandle(m_svc);
CloseServiceHandle(m_scm);
GetDlgItem(IDB_STR)->EnableWindow(FALSE);
GetDlgItem(IDB_STOP)->EnableWindow(TRUE);
MessageBox("START SERVICE SUCCEEDS !");
}
else
{
DWORD error = GetLastError();
CString errcode ;
errcode.Format("启动服务错误,错误的类型识:%d",(int)error);
AfxMessageBox(errcode);
}
}
}