递归火山软件开发平台

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
热搜: 火山 源码 类库
12
返回列表 发新帖
楼主: hrq520
打印 上一主题 下一主题

[视窗] 请求[ 服务类 ]添加[ 置服务启动类型 ]

[复制链接]

0

主题

27

帖子

943

积分

高级会员

Rank: 4

积分
943
11#
发表于 3 天前 | 只看该作者
yuangao 发表于 2025-3-31 09:14
感谢,  老吴, 为什么不添加进去..

不知道,可能偷懒吧
回复

使用道具 举报

5

主题

201

帖子

1748

积分

核心用户

用户组:菜鸟用户

Rank: 9Rank: 9Rank: 9

积分
1748
12#
发表于 3 天前 | 只看该作者
w5717 发表于 2025-3-31 09:51
不知道,可能偷懒吧
OpenSCManagerW  



<火山程序 类型 = "通常" 版本 = 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;
}
死活学不会
回复

使用道具 举报

0

主题

27

帖子

943

积分

高级会员

Rank: 4

积分
943
13#
发表于 3 天前 | 只看该作者

牛比,我那个版本是抄的易语言过来的,x64x86都可以用,W版本的不知道通不通用了
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-4-3 16:34 , Processed in 0.087536 second(s), 18 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

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