2013-11-22 57 views
0

我無法從註冊表中使用CRegKey :: QueryStringValue() 檢索字符串值以下是我的代碼,請讓我知道要去哪裏worng.Here是代碼。未使用CRegKey :: QueryStringValue檢索鍵值

bool bResult; 
int nSize = 50; 
LPTSTR csKeyValue = NULL; 
bResult = m_cKey.QueryStringValue(_T(REGISTRY_VALUE_NAME),csKeyValue,(ULONG*)&nSize); 
if(bResult == ERROR_SUCCESS){ 

    return true; 
} 

有人請幫助我,指點我正確的方向。 在此先感謝。

+1

QueryStringValue的返回值是一個LONG!不是一個傻瓜。將bool合併爲ERROR_SUCCESS不合理。返回的是什麼?值是來自系統的錯誤代碼... – xMRi

回答

1

csKeyValue必須是指向將接收字符串數據的緩衝區的指針。你的指向NULL,這是行不通的。聲明具有足夠大小的緩衝區,例如wchar_t KeyValue [1024]並傳遞KeyValue。

+0

值得注意的是,使用['RegQueryValueEx'](http://msdn.microsoft.com/zh-cn/library/ms724911.aspx)不會更麻煩,並允許查詢所需的緩衝區大小。 – IInspectable