递归火山软件开发平台

标题: 【已解决】火山视窗开发的Windows服务能否作为GUI运行? [打印本页]

作者: 曼菲士    时间: 2024-1-10 13:47
标题: 【已解决】火山视窗开发的Windows服务能否作为GUI运行?
本帖最后由 曼菲士 于 2024-1-11 11:11 编辑

用C++写了个Windows服务实例,通过进程互斥实现GUI和Services同时存在,任务管理器中能看到两个同名不同PID的进程,在Windows服务管理中也可以随意停止或重启该服务都没有问题。
但是咱们火山写的Windows服务实例开始运行都正常,任务管理器中能看到两个同名不同PID的进程,但是只要停止或重启该服务就会出现服务被卸载的问题。
(, 下载次数: 36)
(, 下载次数: 29)

是不是火山视窗的Windows服务不能作为GUI进程和服务进程同时存在?
(, 下载次数: 6)

C++的例子在 https://blog.csdn.net/weixin_41890599/article/details/108771452

这两个我是在Windows 11上测试的。




作者: 曼菲士    时间: 2024-1-10 15:39
本帖最后由 曼菲士 于 2024-1-10 15:41 编辑

我把C++的服务安装、启动、停止、卸载的控制代码放入火山里面也是不能解决该问题,可能是火山服务程序的机制问题?主要是服务运行这个地方。 (, 下载次数: 34)
安装成功之后,不调用一次是无法启动服务的,提示失败,调用一次后就可以启动服务了,在不退出原始进程的前提下,重启服务就会报错,然后最初安装的服务会被删除,在服务列表中找不到项目。

不知道怎么改才能像C++那种同一个EXE执行服务进程和GUI进程并存呢?


作者: 白雪皑皑0306    时间: 2024-1-10 16:51
模块没有,测试不了.
作者: 曼菲士    时间: 2024-1-10 16:55
白雪皑皑0306 发表于 2024-1-10 16:51
模块没有,测试不了.

精易模块bbs.125.la有下载

安装服务用火山自带的不能更改某些参数,所以才用的精易模块。


作者: 曼菲士    时间: 2024-1-10 17:45
我感觉问题在这里找可能有解决办法,但是里面好多东西不认识,论坛里面也没个说明。
(, 下载次数: 28)
(, 下载次数: 33)
像那些 CVolService,@sn,@n,CVolObject*什么的得消化一下才行,不知道改这里的代码有没有其它影响。


作者: 曼菲士    时间: 2024-1-11 11:32
(, 下载次数: 36)
不用改模块,只要在火山范例中修改一下代码即可,这样停止服务,重启服务都不会报错。
剩下就是看看怎么保留GUI界面激活了。








欢迎光临 递归火山软件开发平台 (https://bbs.voldp.com/) Powered by Discuz! X3.4