2013-04-01 52 views

回答

0

看起來好像有人已經完成了將可以使用的整個API .pas文件放在一起的艱苦工作。退房:

http://gr32ex.googlecode.com/svn/trunk/GR32Ex/Examples/DesktopSnow/GPSysHook/api/JwaWinSvc.pas

搜索EnumServicesStatusAEnumServicesStatusW; 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} 
+0

隨着注意$ externalsym不是帕斯卡接口的一部分,但對於從BCB使用相同的代碼。如果編譯器是Free Pascal,那麼它帶有開箱即用的jwawinsvc。 –

+0

今天早上我試了一下,效果很好。謝謝大家。 –