我对CLSID有一点小问题。
我有一个(钩子)函数,它在参数中有一个REFCLSID。所以我想打印这个参数。
我做到了:
LPOLESTR pOleStr;
StringFromCLSID(rclsid,&pOleStr); //rclsid is a REFCLSID type.
ofstream myfile;
myfile.open("C:\\output.txt",ios::app);
myfile << pOleStr << std::endl;
myfile.close();但是在"output.txt“中,我只有一个8个字符的字符串,但是我应该有一个类似于: 111111-2222-3333-4444-000000000000的字符串。
所以如果有人有主意..。
谢谢。
发布于 2011-07-11 20:41:48
只是猜测,我认为LPOLESTR很宽,您必须使用以下命令将其转换为ASCII
CHAR szCLSID[60];
WideCharToMultiByte(CP_ACP, 0, pOleStr, -1, szCLSID, 60, NULL, NULL);之后也不要忘了使用CoTaskMemFree(pOleStr) :)
https://stackoverflow.com/questions/6649989
复制相似问题