建立了一个支持MFC的win32 console,写了个windows服务程序,没有和用户交互的界面,在后台运行正常,在任务管理器里可以看到 ServiceTest System 。
现在想和用户有个界面的交互,所以在创建服务时,将第五个参数改成SERVICE_WIN32_OWN_PROCESS|SERVICE_INTERACTIVE_PROCESS,
之后又添加了一个对话框资源类CInterDlg;
如果我在ServiceMain里调用
CInterDlg dlg;
dlg.DoModal();
的话,服务启动不了;没办法,我尝试在Install()//安装函数
之后调用
CInterDlg dlg;
dlg.DoModal();
服务可以启动,但是问题是在任务管理器里,可以看到对话框另外以一个单独的进程存在,而不是服务进程的一份子,如下所示:ServiceTest Adiministrator
ServiceTest System等于说这个服务用了两个进程。在关闭服务时由于不能有效释放对话矿资源,导致关闭服务失败大家看看这个为什么会这样?对话矿应该也算是服务进程的一部分吧?为什么会两个进程?
把一个没有交互的服务程序改成通过一个对话矿交互的服务程序需要注意什么问题?
谢谢了
现在想和用户有个界面的交互,所以在创建服务时,将第五个参数改成SERVICE_WIN32_OWN_PROCESS|SERVICE_INTERACTIVE_PROCESS,
之后又添加了一个对话框资源类CInterDlg;
如果我在ServiceMain里调用
CInterDlg dlg;
dlg.DoModal();
的话,服务启动不了;没办法,我尝试在Install()//安装函数
之后调用
CInterDlg dlg;
dlg.DoModal();
服务可以启动,但是问题是在任务管理器里,可以看到对话框另外以一个单独的进程存在,而不是服务进程的一份子,如下所示:ServiceTest Adiministrator
ServiceTest System等于说这个服务用了两个进程。在关闭服务时由于不能有效释放对话矿资源,导致关闭服务失败大家看看这个为什么会这样?对话矿应该也算是服务进程的一部分吧?为什么会两个进程?
把一个没有交互的服务程序改成通过一个对话矿交互的服务程序需要注意什么问题?
谢谢了
解决方案 »
- VC中"->"是什么意思?
- 请问如何在OnDraw() 里面刷新 GDI 画的图像?
- CEdit::CreateEx() 如何建一个独立的没有父窗口的窗口?
- vc在编译的时候出的问题!
- MDI中如何能在打开一文档之时,同时关闭其它所有已打开的文档
- 本人在MSFlexGrid中放一ComboBox,我KAO,每次点ComboBox时,它就隐藏了!!!
- COleDateTime和time_t的问题?
- 100分请来拿,不要了!(分:生不带来,死不带去)
- 高分求教基于IE内核浏览器的FLASH插件如何加载
- :================请教高手怎样改变列表控件任意列的背景颜色??======================
- 菜鸟问:关于VC++6.0的一个运行问题
- 多线程中创建socket有疑问???
即使有变通的方法,也不是可以适用于所有操作系统的