am i crazy ???
Posted: Fri Dec 02, 2016 7:20 pm
here is a code to get the manufacturer of my pc :
When i try, i obtain NOTHING.
When i remove the messagerequeter, it works
How is it possible ?
Code: Select all
DataSection
CLSID_WbemAdministrativeLocator:
Data.l $CB8555CC
Data.w $9128
Data.w $11D1
Data.b $AD, $9B, $0, $C0, $4F, $D8, $FD, $FF
IID_IWbemLocator:
Data.l $DC12A687
Data.w $737F
Data.w $11CF
Data.b $88, $4D, $0, $AA, $0, $4B, $2E, $24
EndDataSection
Procedure.s modele()
#CLSCTX_INPROC_SERVER = $1
#WBEM_FLAG_RETURN_IMMEDIATELY = $10
#WBEM_FLAG_FORWARD_ONLY = $20
#RPC_C_IMP_LEVEL_IMPERSONATE = 3
#RPC_C_AUTHN_LEVEL_DEFAULT = 0
If CoInitializeEx_(0, #COINIT_MULTITHREADED) = #S_OK
If CoInitializeSecurity_(0, -1, 0, 0, #RPC_C_AUTHN_LEVEL_DEFAULT, #RPC_C_IMP_LEVEL_IMPERSONATE, 0, 0, 0) = #S_OK
pLocator.IWbemLocator
If CoCreateInstance_(?CLSID_WbemAdministrativeLocator, 0, #CLSCTX_INPROC_SERVER, ?IID_IWbemLocator, @pLocator) = #S_OK
pServices.IWbemServices
If pLocator\ConnectServer(@"root\cimv2", 0, 0, 0, 0, 0, 0, @pServices) = #S_OK
pEnum.IEnumWbemClassObject
If pServices\ExecQuery(@"WQL", @"SELECT * FROM Win32_ComputerSystem", #WBEM_FLAG_RETURN_IMMEDIATELY | #WBEM_FLAG_FORWARD_ONLY, 0, @pEnum) = #S_OK
pObject.IWbemClassObject
v.VARIANT
returned.l
If pEnum\Next(#WBEM_INFINITE, 1, @pObject, @returned) = #S_OK
VariantInit_(@v)
If pObject\Get(@"model", 0, @v, 0, 0) = #S_OK
retour$ + PeekS(v\bstrVal)
VariantClear_(@v)
EndIf
pObject\Release()
EndIf
pEnum\Release()
EndIf
pServices\Release()
EndIf
pLocator\Release()
EndIf
EndIf
CoUninitialize_()
EndIf
ProcedureReturn retour$
EndProcedure
Debug modele()
End
If InitNetwork() = 0
MessageRequester("Error", "Impossible d'initialiser le reseau !")
EndIf
When i remove the messagerequeter, it works



How is it possible ?