當我嘗試使用下面的代碼來獲取用戶名,我已經成功地獲取用戶名:從C++中的SID獲取用戶名失敗?
hres = pSvc->GetObject(L"Win32_SID.SID='S-1-5-82-1036420768-1044797643-1061213386-2937092688-4282445334'", 0, NULL, &pclsObj, NULL);
但分配SID爲變量時,按如下
std::string SID = "S-1-5-82-1036420768-1044797643-1061213386-2937092688-4282445334";
hres = pSvc->GetObject(L"Win32_SID.SID=SID", 0, NULL, &pclsObj, NULL);
然後我得到了以下錯誤:
Connected to root\CIMV2 WMI namespace
GetObject failed Error code = 0x8004103a
IDispatch error #3642
你能否建議我在GetObject方法中正確的輸入。
當初始化性病的SID :: wstring的,我得到了錯誤錯誤C2440:初始化:不能從轉換「的char [47]」到「類std :: basic_string,class std :: allocator >' 沒有構造函數可以採用源類型,或構造函數重載解析模糊不清 –
user2499879
@ user2499879對不起,我錯過了字符串文字上的'L'前綴。固定。 – Angew
現在我得到了另一個錯誤:錯誤C2679:二進制'+':沒有操作符定義,它需要一個類型的右手操作數'class std :: basic_string,class std :: allocator >'(或者沒有可接受的轉換) –
user2499879