看起來好像有人已經完成了將可以使用的整個API .pas文件放在一起的艱苦工作。退房:
http://gr32ex.googlecode.com/svn/trunk/GR32Ex/Examples/DesktopSnow/GPSysHook/api/JwaWinSvc.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不是帕斯卡接口的一部分,但對於從BCB使用相同的代碼。如果編譯器是Free Pascal,那麼它帶有開箱即用的jwawinsvc。 –
今天早上我試了一下,效果很好。謝謝大家。 –