火山软件开发平台

标题: 火山pc怎么写windows服务程序?好像都没人出教程 [打印本页]

作者: 雅婷    时间: 2021-9-15 01:14
标题: 火山pc怎么写windows服务程序?好像都没人出教程
火山pc怎么写windows服务程序?好像都没人出教程,不知道怎么做,我想把我之前用易语言开发的软件做一个能在进入桌面之前就已经启动并在后台响应的软件,易语言好像做不了,比如键鼠映射,想要在登录界面输入密码的时候就能用,输入完密码进入桌面也不用等十几秒启动时间

作者: b0y    时间: 2021-9-15 06:28
新建项目选择windows服务
作者: 创世魂    时间: 2021-9-15 09:41
新建项目选择windows服务
作者: 雅婷    时间: 2021-9-15 11:57
创世魂 发表于 2021-9-15 09:41
新建项目选择windows服务

然后呢,空白项目就可以吗?要怎样让另一个程序调用 或调用另一个程序
作者: qaz2428119    时间: 2021-9-15 13:27
如果你用易语言写过服务(API操作写服务),那基本用火山写也不难(前提是你会用火山)
作者: 雅婷    时间: 2021-9-15 14:10
本帖最后由 雅婷 于 2021-9-15 14:13 编辑
qaz2428119 发表于 2021-9-15 13:27
如果你用易语言写过服务(API操作写服务),那基本用火山写也不难(前提是你会用火山) ...

就是不会啊,api用哪个api?有没有例程提供一下,我在精易论坛问他们都叫我用精易模块,实在不会就叫我花钱定制,那还学个屁,关键的内容接触不到,就是想尽量不用模块的方式写软件也能从中学到一些东西。
作者: qaz2428119    时间: 2021-9-15 14:15
雅婷 发表于 2021-9-15 14:10
就是不会啊,api用哪个api?有没有例程提供一下,我在精易论坛问他们都叫我用精易模块,实在不会就叫我花 ...

使用API 写服务,那可是需要不低的功底,就是不知道你自己功底如何
你如果是想要现成的那就只能等别人开源了你在学习
作者: 雅婷    时间: 2021-9-15 14:18
qaz2428119 发表于 2021-9-15 14:15
使用API 写服务,那可是需要不低的功底,就是不知道你自己功底如何
你如果是想要现成的那就只能等别人开源 ...

就是说 我想实现让我的软件在进桌面之前就启动,这个功能很难吗?没有别的办法了吗
作者: 雅婷    时间: 2021-9-15 14:19
qaz2428119 发表于 2021-9-15 14:15
使用API 写服务,那可是需要不低的功底,就是不知道你自己功底如何
你如果是想要现成的那就只能等别人开源 ...

就是想做一个简单的自启动罢了,只不过是抢在进桌面之前启动,而且最好不受注销桌面的影响,注销了换个账户登录依然能用
作者: 雅婷    时间: 2021-9-15 14:22
qaz2428119 发表于 2021-9-15 14:15
使用API 写服务,那可是需要不低的功底,就是不知道你自己功底如何
你如果是想要现成的那就只能等别人开源 ...

能否给个例子源码分享学习一下
作者: 雅婷    时间: 2021-9-15 14:29
本帖最后由 雅婷 于 2021-9-15 14:32 编辑
qaz2428119 发表于 2021-9-15 13:27
如果你用易语言写过服务(API操作写服务),那基本用火山写也不难(前提是你会用火山) ...

还有那个win10固定任务栏的怎么实现啊? (, 下载次数: 13) ,我的好多问题到最后都这样不了了之了,发帖问也没问出个名堂来,想删帖又不知道在哪里删
作者: 雅婷    时间: 2021-9-15 14:40
qaz2428119 发表于 2021-9-15 13:27
如果你用易语言写过服务(API操作写服务),那基本用火山写也不难(前提是你会用火山) ...

就算不给例程,哪怕把实现这些功能需要用到哪些dll命令名称提供一下也可以呀,我也好到别的地方查资料去,啥也没提供没获取到有用的信息,这个帖子等于白问了,后面遇到同样问题看到的小白想学习也无从查起。对于这样的帖子我只想删除,因为无论对别人还是对自己都没有帮助
作者: 雅婷    时间: 2021-9-15 15:01
b0y 发表于 2021-9-15 06:28
新建项目选择windows服务

然后呢,空白项目就可以吗?要怎样让另一个程序调用 或调用另一个程序,直接用执行可以吗,还是要别的什么操作
作者: b0y    时间: 2021-9-15 15:39
新建服务项目 有详细注释可以看看的
作者: qaz2428119    时间: 2021-9-15 17:09
雅婷 发表于 2021-9-15 14:40
就算不给例程,哪怕把实现这些功能需要用到哪些dll命令名称提供一下也可以呀,我也好到别的地方查资料去 ...

火山的 服务类 就包含了全部需要的API,只不过是H文件的
作者: qaz2428119    时间: 2021-9-15 17:14
雅婷 发表于 2021-9-15 14:29
还有那个win10固定任务栏的怎么实现啊?,我的好多问题到最后都这样不了了之了,发帖问也没问出个名堂来, ...

不是全部啥功能火山现在都可以实现,而且把C++语法包装成火山是很麻烦的一件事,没有好处(自己又没有需求)谁会无偿的包装它
作者: qaz2428119    时间: 2021-9-15 17:15
雅婷 发表于 2021-9-15 14:22
能否给个例子源码分享学习一下

火山的例子 没有,E的例子倒是有个,只是很长时间没看过这个例子了不知道是否还可以运行
作者: qaz2428119    时间: 2021-9-15 17:17
雅婷 发表于 2021-9-15 14:19
就是想做一个简单的自启动罢了,只不过是抢在进桌面之前启动,而且最好不受注销桌面的影响,注销了换个账 ...

我服你,我回你一个帖子你给我五六个回复,
只要不是用户级的服务,就可以在系统启动的时候启动,就不会受销毁影响
作者: 雅婷    时间: 2021-9-15 19:05
本帖最后由 雅婷 于 2021-9-15 19:07 编辑
qaz2428119 发表于 2021-9-15 17:17
我服你,我回你一个帖子你给我五六个回复,
只要不是用户级的服务,就可以在系统启动的时候启动,就不会受销 ...

没玩习惯贴吧的看一条回一条要等很久的模式,我把它当聊天软件了,想到什么没说清楚的就再发一条补充
作者: 雅婷    时间: 2021-9-15 19:08
qaz2428119 发表于 2021-9-15 17:15
火山的例子 没有,E的例子倒是有个,只是很长时间没看过这个例子了不知道是否还可以运行 ...

那能否翻出来看看
作者: huay6    时间: 2021-9-16 11:25
雅婷 发表于 2021-9-15 14:18
就是说 我想实现让我的软件在进桌面之前就启动,这个功能很难吗?没有别的办法了吗 ...

很简单。用火山写好程序,安装为服务即可。
作者: huay6    时间: 2021-9-16 11:26
雅婷 发表于 2021-9-15 14:22
能否给个例子源码分享学习一下

写的系统服务,没有进入桌面前就已经启动了。所以没啥问题。比如你要在未加载桌面前启动你自己想要的应用,一个写成服务,一个写窗口EXE。很简单。
作者: 雅婷    时间: 2021-9-16 16:24
huay6 发表于 2021-9-16 11:26
写的系统服务,没有进入桌面前就已经启动了。所以没啥问题。比如你要在未加载桌面前启动你自己想要的应用 ...

要写两个一样的exe是吗?写成服务要不要另外加什么代码,还是直接当做普通窗口程序来写,编译为服务就会自动启用了?然后服务启动成功后就 执行(4, 取运行目录()+“/“+“xxx.exe“)就可以了吗?
作者: 雅婷    时间: 2021-9-16 16:30
qaz2428119 发表于 2021-9-15 14:15
使用API 写服务,那可是需要不低的功底,就是不知道你自己功底如何
你如果是想要现成的那就只能等别人开源 ...

我现在写的软件是用api键盘钩子和key bd模拟按键,不用自带的,现在想让它在进桌面之前就开始模拟按键
作者: huay6    时间: 2021-9-16 16:50
雅婷 发表于 2021-9-16 16:30
我现在写的软件是用api键盘钩子和key bd模拟按键,不用自带的,现在想让它在进桌面之前就开始模拟按键 ...

那不好意思帮不了你
作者: 火绒    时间: 2021-9-16 17:08
懒,但凡建立过火山的中服务程序,就会看到他不是个空白的,基本的用法都给你写好了。自己不试试,还在这怪这怪那
作者: 雅婷    时间: 2021-9-16 21:06
本帖最后由 雅婷 于 2021-9-16 21:30 编辑
huay6 发表于 2021-9-16 16:50
那不好意思帮不了你

(, 下载次数: 15) (, 下载次数: 13) (, 下载次数: 15) (, 下载次数: 12) 知乎找的方法失败了,而且不知道怎么回事这个失败的服务好像删不掉,想调试的没法调试

作者: 雅婷    时间: 2021-9-16 21:20
huay6 发表于 2021-9-16 16:50
那不好意思帮不了你

为啥呢为啥呢为啥呢
作者: qaz2428119    时间: 2021-9-17 22:43
雅婷 发表于 2021-9-16 16:30
我现在写的软件是用api键盘钩子和key bd模拟按键,不用自带的,现在想让它在进桌面之前就开始模拟按键 ...

进入桌面前,好像有隔离,还有就是没有显示设备的情况下是无法操作鼠标键盘的,具体不是很清楚
还有一点就是,登录界面与系统桌面这是两个不同的绘制层
作者: 雅婷    时间: 2021-9-18 04:49
qaz2428119 发表于 2021-9-17 22:43
进入桌面前,好像有隔离,还有就是没有显示设备的情况下是无法操作鼠标键盘的,具体不是很清楚
还有一点就是 ...

所以无解吗?我记得锁屏情况下输入法好像可以切换,怎么办到的,或者有没有更快速启动我的软件的办法,我记得杀du软件好像每次都是最先启动,然后**出广告和开机时间提醒,它怎么办到的
作者: b0y    时间: 2021-9-18 07:45
开机启动用服务 注册表 任务计划都可以 注册表启动 任务计划启动更简单
作者: qaz2428119    时间: 2021-9-20 10:45
雅婷 发表于 2021-9-18 04:49
所以无解吗?我记得锁屏情况下输入法好像可以切换,怎么办到的,或者有没有更快速启动我的软件的办法,我 ...

输入法 不靠服务启动,靠的是注入DLL或者叫主动调用法(具体没有研究输入法,不过也就是相应的窗口发送消息,有系统加载输入法DLL)
进入系统前,桌面应用好像有安全隔离,可服务又与桌面有隔离
具体要怎么做需要去研究与服务有关的东西
作者: b0y    时间: 2021-9-20 12:05
火山新建服务 代码都写好了 自己加个启动exe
作者: 雅婷    时间: 2021-9-26 17:24
qaz2428119 发表于 2021-9-20 10:45
输入法 不靠服务启动,靠的是注入DLL或者叫主动调用法(具体没有研究输入法,不过也就是相应的窗口发送消息, ...

所以就是说l两个方法都无解了是吗 [/笑哭]
作者: 雅婷    时间: 2021-9-26 17:28
b0y 发表于 2021-9-18 07:45
开机启动用服务 注册表 任务计划都可以 注册表启动 任务计划启动更简单

我现在用的是注册表启动,任务计划需要手动创建吧?
作者: nuan1989    时间: 2021-9-26 18:26
qaz2428119 发表于 2021-9-15 17:14
不是全部啥功能火山现在都可以实现,而且把C++语法包装成火山是很麻烦的一件事,没有好处(自己又没有需求) ...

明摆着, 包装一下给不会的人用. 给非专业人员用. 你如果c++玩的溜的话, 嫌麻烦也正常.
作者: qaz2428119    时间: 2021-9-30 16:57
nuan1989 发表于 2021-9-26 18:26
明摆着, 包装一下给不会的人用. 给非专业人员用. 你如果c++玩的溜的话, 嫌麻烦也正常.  ...

不懂C++不单单是麻烦这么简单




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