Dll EnumServicesStatus pascal声明

Dll EnumServicesStatus pascal声明,dll,windows-services,pascal,Dll,Windows Services,Pascal,我正在用pascal调用EnumServicesStatus函数。但是如何声明它呢。 下面是OpenSCManager的一个示例 谢谢。看来有人已经完成了整合整个API.pas文件的艰巨工作,您可以使用它。退房: 搜索EnumServicesStatusA或EnumServicesStatusW;ANSI和Unicode都有。您可能会找到各种各样的结构、枚举和其他可以获取的东西 为了防止该文件的URL发生更改,其中相关的行包括: function EnumServicesStatusA(hSC

我正在用pascal调用EnumServicesStatus函数。但是如何声明它呢。 下面是OpenSCManager的一个示例


谢谢。

看来有人已经完成了整合整个API.pas文件的艰巨工作,您可以使用它。退房:

搜索
EnumServicesStatusA
EnumServicesStatusW
;ANSI和Unicode都有。您可能会找到各种各样的结构、枚举和其他可以获取的东西

为了防止该文件的URL发生更改,其中相关的行包括:

function EnumServicesStatusA(hSCManager: SC_HANDLE; dwServiceType: DWORD;
  dwServiceState: DWORD; lpServices: LPENUM_SERVICE_STATUSA; cbBufSize: DWORD;
  var pcbBytesNeeded, lpServicesReturned, lpResumeHandle: DWORD): BOOL; stdcall;
{$EXTERNALSYM EnumServicesStatusA}

function EnumServicesStatusW(hSCManager: SC_HANDLE; dwServiceType: DWORD;
  dwServiceState: DWORD; lpServices: LPENUM_SERVICE_STATUSW; cbBufSize: DWORD;
  var pcbBytesNeeded, lpServicesReturned, lpResumeHandle: DWORD): BOOL; stdcall;
{$EXTERNALSYM EnumServicesStatusW}

function EnumServicesStatus(hSCManager: SC_HANDLE; dwServiceType: DWORD;
  dwServiceState: DWORD; lpServices: LPENUM_SERVICE_STATUS; cbBufSize: DWORD;
  var pcbBytesNeeded, lpServicesReturned, lpResumeHandle: DWORD): BOOL; stdcall;
{$EXTERNALSYM EnumServicesStatus}

需要注意的是,$externalsym不是Pascal接口的一部分,而是用于相同代码的BCB。如果编译器是免费的Pascal,那么它附带了现成的jwawinsvc。我今天早上已经试过了,效果很好。谢谢大家。
function EnumServicesStatusA(hSCManager: SC_HANDLE; dwServiceType: DWORD;
  dwServiceState: DWORD; lpServices: LPENUM_SERVICE_STATUSA; cbBufSize: DWORD;
  var pcbBytesNeeded, lpServicesReturned, lpResumeHandle: DWORD): BOOL; stdcall;
{$EXTERNALSYM EnumServicesStatusA}

function EnumServicesStatusW(hSCManager: SC_HANDLE; dwServiceType: DWORD;
  dwServiceState: DWORD; lpServices: LPENUM_SERVICE_STATUSW; cbBufSize: DWORD;
  var pcbBytesNeeded, lpServicesReturned, lpResumeHandle: DWORD): BOOL; stdcall;
{$EXTERNALSYM EnumServicesStatusW}

function EnumServicesStatus(hSCManager: SC_HANDLE; dwServiceType: DWORD;
  dwServiceState: DWORD; lpServices: LPENUM_SERVICE_STATUS; cbBufSize: DWORD;
  var pcbBytesNeeded, lpServicesReturned, lpResumeHandle: DWORD): BOOL; stdcall;
{$EXTERNALSYM EnumServicesStatus}