请帮忙看看这段代码 调用windouw 服务接口的代码 调用OpenService返回0是为什么

一声雷响老子闪亮登场 2014-12-12 04:00:06
Type
SERVICE_STATUS = Record
dwServiceType: Cardinal;
dwCurrentState: Cardinal;
End;
HANDLE = Cardinal;

Const
SERVICE_ERROR_NORMAL = 1;

Const
//OpenSCManager函数操作权限
SC_MANAGER_ALL_ACCESS = $F003F; //所有权限

//OpenService函数操作权限
SERVICE_ALL_ACCESS = $F01FF; //所有权限

function ControlService(hService: HANDLE; dwControl: Cardinal; var ServiceStatus: SERVICE_STATUS): Boolean;
External 'ControlService@advapi32.dll stdcall';

function OpenService(hSCManager: HANDLE; lpServiceName: String; dwDesiredAccess: Cardinal): HANDLE;
External 'OpenServiceA@advapi32.dll stdcall';

function OpenSCManager(lpMachineName, lpDatabaseName: String; dwDesiredAccess: Cardinal): HANDLE;
External 'OpenSCManagerA@advapi32.dll stdcall';

function OpenServiceManager(): HANDLE;
begin
if UsingWinNT() then
begin
result := OpenSCManager('','',SC_MANAGER_ALL_ACCESS);
if result = 0 then
MsgBox('the servicemanager is not available', mbError, MB_OK)
end else begin
MsgBox('only nt based systems support services', mbError, MB_OK)
result := 0;
end;
end;

function IsServiceInstalled(ServiceName: string): Boolean;
var
hSCM : HANDLE;
hService: HANDLE;
begin
result := false;
hSCM := OpenServiceManager();
if hSCM <> 0 then
begin
hService := OpenService(hSCM,ServiceName,SERVICE_QUERY_CONFIG);
if hService <> 0 then
begin
result := true;
CloseServiceHandle(hService)
end;
CloseServiceHandle(hSCM)
end;
end;

我的操作系统是xp
调用OpenServiceManager可以返回句柄
查询的是MySQL服务肯定是存在的
...全文
217 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
谢谢各位的回答 是我程序编译编码的问题
lyhoo163 2014-12-13
  • 打赏
  • 举报
回复
MYSQL参数设置正确吗?
  • 打赏
  • 举报
回复
为什么会返回指定的服务未安装?我确认MySQL服务肯定是存在的
  • 打赏
  • 举报
回复
返回是1060
  • 打赏
  • 举报
回复
奇怪返回也是0
「已注销」 2014-12-12
  • 打赏
  • 举报
回复
用GetLastError()看一下错误码
合肥信息技术21年课堂考核作业《计算机应用基础》 合肥信息技术21年课堂考核作业《计算机应用基础》全文共16页,当前为第1页。合肥信息技术21年课堂考核作业《计算机应用基础》全文共16页,当前为第1页。计算机应用基础 合肥信息技术21年课堂考核作业《计算机应用基础》全文共16页,当前为第1页。 合肥信息技术21年课堂考核作业《计算机应用基础》全文共16页,当前为第1页。 在Word 2010的"页面设置"中,默认的纸张大小规格是( )。 A、16K B、A4 C、A3 D、4 参考答案:B 下列对于网络应用服务软件的说法哪一个是不正确的( )。 A、网络应用服务软件的主要用途是提供网络应用服务,所以所需的硬件整体配置较高,无故障运行时间较长 B、网络应用服务软件往往由各机构提供,一般需要提供公网IP地址以供各地客户端访问 C、网络应用服务软件对安全性要求也较高,一般硬件服务器不能用作个人单机日常使用 D、网络应用服务软件一般需要较高的显示部件,尤其是显卡配置较高,提供显示加速用 参考答案: D 在Excel中,如果单元格A5的值是单元格A1、A2、A3、A4的平均值,则不正确的输入公式为( )。 A、=AVERAGE(A1:A4) B、=AVERAGE(A1,A2,A3,A4) C、=(A1+A2+A3+A4)/4 D、=AVERAGE(A1+A2+A3+A4) 参考答案: D 关于信息处理机器采用的是模拟式还是数字式工作方式,以下说法哪一个不正确( )。 A、信息处理机器在采集信息时,一般需要采用模拟式方式,然后进行数字化 B、电子数字式计算机电路中有时需要设计模拟电路来对信号进行调整 C、模拟式计算机器在各方面都比不上数字式工作方式 D、模拟式计算机器在可重复性上比不上数字式工作方式的计算机器 参考答案: C 关闭"当前窗口"或结束"当前应用程序的运行"的快捷键是( )。 A、Alt+F4 B、Ctrl+F4 C、Ctrl+Alt+del D、Alt+F3 参考答案: A Excel工作表是一个很大的表格,其左上角的单元是( )。 合肥信息技术21年课堂考核作业《计算机应用基础》全文共16页,当前为第2页。合肥信息技术21年课堂考核作业《计算机应用基础》全文共16页,当前为第2页。A、11 合肥信息技术21年课堂考核作业《计算机应用基础》全文共16页,当前为第2页。 合肥信息技术21年课堂考核作业《计算机应用基础》全文共16页,当前为第2页。 B、AA C、A1 D、1A 参考答案: C Windows 10操作系统的特点不包括( )。 A、图形界面 B、多任务 C、即插即用(英文为 Plug-and-Play,缩写为PnP ) D、卫星通信 参考答案: D PowerPoint中,用自选图形在幻灯片中添加文本时,在菜单栏中选哪个菜单开始( ) A、视图 B、插入 C、格式 D、工具 参考答案: B 信息的拥有者(信息本体)主要是通过以下哪一种方式,将所属信息投影到信息的物质载体之上( )。 A、信息本体与信息载体之间的相互作用,影响改变了信息载体的某种状态,改变了的状态承载着信息本体的某些信息 B、信息离开信息本体转移传递到信息载体 C、信息只能在人的参与下才能进行信息传递 D、没有相互作用,就没有信息投影 参考答案: A 屏幕保护程序中的口令,主要是为保护数据不被他人修改而设置的。 A、正确 B、错误 参考答案: 正确 总线只能是物理上距离较近的部件才能共享。 A、正确 B、错误 参考答案: 错误 Word文档中,打开的对话框的大小是能改变的。 A、正确 B、错误 参考答案: 错误 合肥信息技术21年课堂考核作业《计算机应用基础》全文共16页,当前为第3页。合肥信息技术21年课堂考核作业《计算机应用基础》全文共16页,当前为第3页。 合肥信息技术21年课堂考核作业《计算机应用基础》全文共16页,当前为第3页。 合肥信息技术21年课堂考核作业《计算机应用基础》全文共16页,当前为第3页。 在Excel中,假定存在一个数据库工作表,内含:姓名、专业、奖学金、成绩等项目,现要求对相同专业的学生按奖学金从高到低进行排序,则要进行多个关键字段的排序,并且主关键字段是姓名。 A、正确 B、错误 参考答案: 错误 Word程序中,可以使用"标尺"设置缩进。 A、正确 B、错误 参考答案: 正确 剪贴板是Windouw的一块临时存储区,用户可以在剪贴板上对文本进行复制、剪切或粘贴等操作。 A、正确 B、错误 参考答案: 正确 指令也是一种二进制编码。 A、正确 B、错误 参考答案: 正确 信息就是物质。 A、正确 B、错误 参考答案: 错误 Word程序死机时,可以使用Ctrl+Alt+Shift快捷键启动任务管理器。 A、正确 B

1,183

社区成员

发帖
与我相关
我的任务
社区描述
Delphi Windows SDK/API
社区管理员
  • Windows SDK/API社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧