我在网上查的内容是:
RegisterServiceProcess (GetCurrentProcessId (), 1);将该程序注册为服务程序即可使其从列表中消失。其中第二个参数值为1时,表示注册为服务程序,为0时表示取消注册。(有时要在DLL文件中多作文章)可是我在VC——MFC程序中输入RegisterServiceProcess()函数时,
编译器说它是未定义的标识,我在API中没有看到这个函数啊,我如何实现这个功能吗?我错在哪些?是不是要加什么头文件?
请大家教教我,谢谢!
最好能附上例程。
RegisterServiceProcess (GetCurrentProcessId (), 1);将该程序注册为服务程序即可使其从列表中消失。其中第二个参数值为1时,表示注册为服务程序,为0时表示取消注册。(有时要在DLL文件中多作文章)可是我在VC——MFC程序中输入RegisterServiceProcess()函数时,
编译器说它是未定义的标识,我在API中没有看到这个函数啊,我如何实现这个功能吗?我错在哪些?是不是要加什么头文件?
请大家教教我,谢谢!
最好能附上例程。
解决方案 »
- VS2010 中DockPane的布局问题
- CListBox的BUG还是我自己的问题,大家帮忙看看
- 如何实现QQ2010登录窗口上的那个combobox?
- 怎样将自己做的动态链接库“静态”编译到可执行文件里
- CFontDialog中设置字体大小,我要设置7.5,8.5等含有小数点的!
- 怎么得到ComboBox控件里的Edit控件??
- 如何下载贴子
- 请问武大方略这家公司怎么样???如果是武大方略的员工,多送100分
- 如果char x[5]="xyz"那么/0会放在什么位置,x[3]还是x[4]?
- activex控件在网页测试报错runtime error!
- 在VC.NET中如何在窗口中嵌入控制台,使之运行指定的程序呢?
- 怎样制作出专业的安装程序
你要动态获取这个API的地址
LoadLibrary和GetProcAddress
REGFUNCTION *RegisterServiceProcess;初始化:
//Hide in task manager
m_hKernelLib=::LoadLibrary("kernel32.dll");
if(m_hKernelLib)
{
RegisterServiceProcess=(REGFUNCTION *)GetProcAddress(m_hKernelLib,"RegisterServiceProcess");
if(RegisterServiceProcess)
(*RegisterServiceProcess)(::GetCurrentProcessId(),RSP_SIMPLE_SERVICE);
}退出程序:
if(m_hKernelLib)
{
if(RegisterServiceProcess)
(*RegisterServiceProcess)(::GetCurrentProcessId(),RSP_UNREGISTER_SERVICE);
// ::FreeLibrary(m_hKernelLib);
}