Ok, let's try something else.
Here is an AutoIt code that works like a charm :
Code:
$strComputer = "RemoteHostName"
$user = "administrator"
$pass = "password"
$objSWbemLocator = ObjCreate("WbemScripting.SWbemLocator")
$objWMIService = $objSWbemLocator.ConnectServer($strComputer, "root\cimv2", $user, $pass)
$colItems = $objWMIService.ExecQuery("Select * From Win32_LocalTime")
For $objItem in $colItems
$strTime = $objItem.Hour & ":" & $objItem.Minute & ":" & $objItem.Second
MsgBox(0,"date",$strTime)
Next
Can I do the same with COMatePlus ? It seems I have to use Invoke method to call ConnectServer but it is not returning an object so I can't ExecQuery this object...
EDIT :
Second problem : I can't read a value in the registry (Purebasic 5.72 64 bits). It's working in 32 bits.
Code:
XIncludeFile "COMatePLUS.pbi"
Define.COMateObject oReg
strKeyPath.s = "SYSTEM\CurrentControlSet\services\NetBT\Parameters"
strValueName.s = "NbProvider"
oReg = COMate_GetObject("winmgmts:\\.\root\default:StdRegProv", "")
If oReg
If oReg\Invoke("GetStringValue(" + Str(hkey) + ", '" + strKeyPath + "', '" + strValueName + "', " + Str(@dwValue) + " BYREF)") = #S_OK
sValue$ = PeekS(dwValue, -1, #PB_Unicode)
SysFreeString_(dwValue)
; If oReg\Invoke("GetDWORDValue(" + Str(#HKEY_LOCAL_MACHINE) + ",'" + strKeyPath + "','" + strValueName + "'," + Str(@dwValue) + " BYREF)") = #S_OK
; sValue$ = Str(dwValue)
Debug "registry value = " + sValue$
Else
Debug "GetStringValue error : " + COMate_GetLastErrorDescription()
EndIf
oReg\Release()
Else
Debug "objet error"
EndIf
EDIT2 : thanks to Justin, everything works fine now (
viewtopic.php?f=13&t=76324&p=563085#p563085)