1。很多工具都是通过枚举注册表的x项来得到startup的,但还有没有别的方法吗?或者有朋友能贴段代码出来吗?2。枚举service的代码,有没有GUI形式的呢?
解决方案 »
- vs2010 ribbon里怎么使项管理器中的项进行消息响应啊?
- dialog 有两个按钮,当点击其中一个按钮 对话框不消失,用什么方法解决
- 我是新手.ICMP校验和的校验和函数看不懂,谁能详细跟我解释一下,通俗易懂一点.
- control list 控件显示一块白
- 线程同步
- help me help me
- 如何在程序中切换网关,更改IP,DNS
- SNMP 中取回的数据 sysuptime 的转换问题,怎么知道是除以100,还是1000?
- 谁有Directx Draw的详细资料
- 格式显示数字?
- 如果头文件里用 static const 声明了一个二维数组,在CPP文件里初始化的时候~,能不能在构造函数里用循环初始化呢?
- 无法在VS6上安装SP5,老是提示无法检测到操作系统语言版本相匹配的VS6产品,安装程序退出
及HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion
启动目录
#include <winsvc.h>
void testSv()
{
SC_HANDLE hSCManager = NULL;
hSCManager = OpenSCManager(NULL, NULL, SC_MANAGER_ALL_ACCESS);
int nRet = 0;
if(hSCManager == NULL)
{
return ;
}
DWORD dwServicesReturned = 0;
DWORD cbBytesNeeded = 0;
DWORD cbBufSize = 0;
nRet = EnumServicesStatus(hSCManager,SERVICE_WIN32,SERVICE_STATE_ALL,NULL,0,&cbBytesNeeded,&dwServicesReturned,0);
ENUM_SERVICE_STATUS *lpServices = new ENUM_SERVICE_STATUS[cbBytesNeeded];
cbBufSize = cbBytesNeeded;
nRet = EnumServicesStatus(hSCManager,SERVICE_WIN32,SERVICE_STATE_ALL,lpServices,cbBufSize,&cbBytesNeeded,&dwServicesReturned,0);
if(nRet == 0)
{
return;
}
if(lpServices == 0)
{
CloseServiceHandle(hSCManager);
return;
}
for(DWORD i = 0; i < dwServicesReturned; i++, lpServices++)
{
cout << lpServices->lpDisplayName << endl;
}
CloseServiceHandle(hSCManager);
}http://blog.csdn.net/trojanth/archive/2005/12/13/537518.aspx