yuangao 发表于 2025-3-31 10:26 牛比,我那个版本是抄的易语言过来的,x64x86都可以用,W版本的不知道通不通用了 |
w5717 发表于 2025-3-31 09:51 <火山程序 类型 = "通常" 版本 = 1 /> 方法 置启动类型 <公开 静态 类型 = 逻辑型 @禁止流程检查 = 真 @视窗.外部头文件 = "..\\um\\winsvc.h"> 参数 服务名称 <类型 = 文本型> 参数 启动类型 <类型 = 变整数 注释 = "启动类型以下选项:2=自动;3=手动;4=禁用" @默认值 = 2> { @ SC_HANDLE schSCManager = NULL; @ SC_HANDLE schService = NULL; @ BOOL bresult = FALSE; // 打开服务控制管理器数据库(使用W版本) @ schSCManager = OpenSCManagerW(NULL, NULL, SC_MANAGER_ALL_ACCESS); @ if (schSCManager != NULL) @ { @ // 直接传递宽字符服务名称(无需转换) @ schService = OpenServiceW(schSCManager, (LPCWSTR)@<服务名称>, SERVICE_CHANGE_CONFIG); @ if (schService != NULL) @ { @ // 调用W版本配置函数 @ bresult = ChangeServiceConfigW( @ schService, @ SERVICE_NO_CHANGE, @ (DWORD)@<启动类型>, @ SERVICE_NO_CHANGE, @ NULL, NULL, NULL, NULL, NULL, NULL, NULL @ ); @ CloseServiceHandle(schService); @ } @ else @ { @ // 调试时获取错误码 @ // DWORD dwError = GetLastError(); @ } @ } @ CloseServiceHandle(schSCManager); @ return bresult; } |
yuangao 发表于 2025-3-31 09:14 不知道,可能偷懒吧 ![]() |
w5717 发表于 2025-3-30 18:51 感谢, 老吴, 为什么不添加进去.. |
本帖最后由 w5717 于 2025-3-30 18:55 编辑 https://wwtt.lanzn.com/iOanM2s55xcb winsvc.h 文件要到火山库里自己找,这份代码是借鉴 AI 生成后修改的,我最近也是用到服务类,发现没有 置启动类型 |
本帖最后由 yuangao 于 2025-3-25 17:05 编辑 至今,还是没有 使用命令方式吧 sc config XXXX star= demand demand(手动) auto(自动) disabled(禁止) |
hrq520 发表于 2024-5-13 14:54 搞二个服务试试。你怎么指定帐号和密码的么, 加扣扣交流下么, 我现在有一个服务,我是注入程序的 |
hrq520 发表于 2024-5-13 14:54 亲亲宝子,你听说过双向监控,多向监控吗? 不过好像也不太行。 想搞你,你防不住,如果只是想简单保护的话,注册2个服务,互相监控,发现状态不对就修改并重启计算机。 你查查 netsh 命令吧,不懂的找 通义千问。 比较其他智障AIchat,越问越迷糊。 就问:windows C++ 环境下,服务程序 检测自身状态变化。 另外,不是有服务中止 这个 事件吗? 你直接不容许他结束,完了修改状态,重启。 |
见性成佛 发表于 2024-5-13 11:53 这不好搞 重装服务 我是考虑过 但服务有些是指定用户账号和密码的 获取不到 就还原不了,最好还是直接 置服务启动状态,要不我也不发帖了 |
|Archiver|手机版|小黑屋|递归火山软件开发平台
( 鄂ICP备18029190号 )
GMT+8, 2025-4-4 12:17 , Processed in 0.093340 second(s), 22 queries .
Powered by Discuz! X3.4
© 2001-2017 Comsenz Inc.