WCHAR wcText[100] = {0};
WCHAR *pText = wcText;
WCHAR **ppText = &pText;
HRESULT hr = pDialogCustomize->GetEditBoxText(dwCtrlID, ppText);
编辑框包含文本“5000”,但GetEditBoxText
方法不会返回此文本。
如何从编辑框中获取文字?
答案 0 :(得分:2)
根据http://msdn.microsoft.com/en-us/library/bb775908%28VS.85%29.aspx,GetEditBoxText为您分配并返回一个字符串(以后必须使用CoTaskMemFree释放)。我假设你在函数调用后检查wcText数组,它是空的?这是因为GetEditBoxText正在改变pText的值。
尝试:
WCHAR *pText = NULL;
HRESULT hr = pDialogCustomize->GetEditBoxText(dwCtrlID, &pText);
if (S_OK == hr && NULL != pText)
// function succeeded and pText points to a buffer of text that must free when done using