首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > VB >

QueryServiceConfig2用法,该怎么解决

2012-02-19 
QueryServiceConfig2用法如题QueryServiceConfig2在VB中能用吗怎么用谢了BOOLWINAPIQueryServiceConfig2A(

QueryServiceConfig2用法
如题   QueryServiceConfig2在VB中能用吗    
怎么用谢了

'BOOL
'WINAPI
'QueryServiceConfig2A(
'         SC_HANDLE       hService,
'         DWORD               dwInfoLevel,
'         LPBYTE             lpBuffer,
'         DWORD               cbBufSize,
'         LPDWORD   pcbBytesNeeded
'         );
'#define   SERVICE_CONFIG_DESCRIPTION           1
'#define   SERVICE_CONFIG_FAILURE_ACTIONS   2

Private   Declare   Function   QueryServiceConfig2   Lib   "advapi32.dll "   _
            Alias   "QueryServiceConfig2A "   _
            (ByVal   hService   As   Long,   _
            dwInfoLevel   As   Long,   _
            lpBuffer   As   Byte,   _
            cbBufSize   As   Long,   _
            pcbBytesNeeded   As   Long)   As   Long
Const   SERVICE_CONFIG_DESCRIPTION   =   1
Const   SERVICE_CONFIG_FAILURE_ACTIONS   =   2

Private   Const   SC_MANAGER_CONNECT   =   &H1
Private   Const   SC_MANAGER_CREATE_SERVICE   =   &H2
Private   Const   SC_MANAGER_ENUMERATE_SERVICE   =   &H4
Private   Const   SC_MANAGER_LOCK   =   &H8
Private   Const   SC_MANAGER_QUERY_LOCK_STATUS   =   &H10
Private   Const   SC_MANAGER_MODIFY_BOOT_CONFIG   =   &H20

Private   Const   READ_CONTROL   =   &H20000

Private   Const   STANDARD_RIGHTS_READ   =   (READ_CONTROL)
Private   Const   STANDARD_RIGHTS_WRITE   =   (READ_CONTROL)
Private   Const   STANDARD_RIGHTS_EXECUTE   =   (READ_CONTROL)
Private   Const   STANDARD_RIGHTS_REQUIRED   =   &HF0000
Private   Const   STANDARD_RIGHTS_ALL   =   &H1F0000


Private   Const   SC_MANAGER_ALL_ACCESS   =   (STANDARD_RIGHTS_REQUIRED   Or   SC_MANAGER_CONNECT   Or   SC_MANAGER_CREATE_SERVICE   Or   SC_MANAGER_ENUMERATE_SERVICE   Or   SC_MANAGER_LOCK   Or   SC_MANAGER_QUERY_LOCK_STATUS   Or   SC_MANAGER_MODIFY_BOOT_CONFIG)

'   Service   object   specific   access   type
Private   Const   SERVICE_QUERY_CONFIG   =   &H1
Private   Const   SERVICE_CHANGE_CONFIG   =   &H2
Private   Const   SERVICE_QUERY_STATUS   =   &H4
Private   Const   SERVICE_ENUMERATE_DEPENDENTS   =   &H8
Private   Const   SERVICE_START   =   &H10
Private   Const   SERVICE_STOP   =   &H20
Private   Const   SERVICE_PAUSE_CONTINUE   =   &H40
Private   Const   SERVICE_INTERROGATE   =   &H80
Private   Const   SERVICE_USER_DEFINED_CONTROL   =   &H100

Private   Const   SERVICE_ALL_ACCESS   =   (STANDARD_RIGHTS_REQUIRED   Or   SERVICE_QUERY_CONFIG   Or   SERVICE_CHANGE_CONFIG   Or   SERVICE_QUERY_STATUS   Or   SERVICE_ENUMERATE_DEPENDENTS   Or   SERVICE_START   Or   SERVICE_STOP   Or   SERVICE_PAUSE_CONTINUE   Or   SERVICE_INTERROGATE   Or   SERVICE_USER_DEFINED_CONTROL)




Private   Sub   Form_Load()
Dim   hSCM   As   Long,   hSVC   As   Long
Dim   lRet   As   Long,   lBytesNeeded   As   Long,   lBytesNeeded1   As   Long

        hSCM   =   OpenSCManager(vbNullString,   vbNullString,   SC_MANAGER_ALL_ACCESS)
        hSVC   =   OpenService(hSCM,   "wmi ",   SERVICE_ALL_ACCESS)
        ReDim   Config(0)   As   Byte
        lRet   =   QueryServiceConfig2(hSVC,   SERVICE_CONFIG_DESCRIPTION,   Config(0),   lBytesNeeded,   lBytesNeeded1) '没一点反应     不知道该怎么用
        CloseServiceHandle   (hSVC)
        CloseServiceHandle   (hSCM)
End   Sub

[解决办法]
http://www.tech-archive.net/Archive/VB/microsoft.public.vb.winapi/2004-04/0156.html

热点排行
Bad Request.