递归火山软件开发平台

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
热搜: 火山 源码 类库
查看: 3215|回复: 5
打印 上一主题 下一主题

[视窗] 【已解决】火山视窗开发的Windows服务能否作为GUI运行?

[复制链接]

22

主题

171

帖子

1412

积分

金牌会员

Rank: 6Rank: 6

积分
1412
跳转到指定楼层
楼主
发表于 2024-1-10 13:47:28 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 曼菲士 于 2024-1-11 11:11 编辑

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



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

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

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



回复

使用道具 举报

22

主题

171

帖子

1412

积分

金牌会员

Rank: 6Rank: 6

积分
1412
沙发
 楼主| 发表于 2024-1-10 15:39:39 | 只看该作者
本帖最后由 曼菲士 于 2024-1-10 15:41 编辑

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

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

回复

使用道具 举报

26

主题

352

帖子

2087

积分

核心用户

Rank: 9Rank: 9Rank: 9

积分
2087
板凳
发表于 2024-1-10 16:51:13 | 只看该作者
模块没有,测试不了.
回复

使用道具 举报

22

主题

171

帖子

1412

积分

金牌会员

Rank: 6Rank: 6

积分
1412
地板
 楼主| 发表于 2024-1-10 16:55:56 | 只看该作者

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

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

回复

使用道具 举报

22

主题

171

帖子

1412

积分

金牌会员

Rank: 6Rank: 6

积分
1412
5#
 楼主| 发表于 2024-1-10 17:45:48 | 只看该作者
我感觉问题在这里找可能有解决办法,但是里面好多东西不认识,论坛里面也没个说明。


像那些 CVolService,@sn,@n,CVolObject*什么的得消化一下才行,不知道改这里的代码有没有其它影响。

回复

使用道具 举报

22

主题

171

帖子

1412

积分

金牌会员

Rank: 6Rank: 6

积分
1412
6#
 楼主| 发表于 2024-1-11 11:32:08 | 只看该作者

不用改模块,只要在火山范例中修改一下代码即可,这样停止服务,重启服务都不会报错。
剩下就是看看怎么保留GUI界面激活了。



回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|小黑屋|递归火山软件开发平台 ( 鄂ICP备18029190号 )

GMT+8, 2024-11-23 23:10 , Processed in 0.090764 second(s), 21 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表