Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/string/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
ATL如何将BSTR*str转换为注册表项.SetValue(LPCTSTR str类型 自从我做C++以来,已经有好几年了,更不用说ATL代码< /P>了。_C++_String_Atl_Bstr - Fatal编程技术网

ATL如何将BSTR*str转换为注册表项.SetValue(LPCTSTR str类型 自从我做C++以来,已经有好几年了,更不用说ATL代码< /P>了。

ATL如何将BSTR*str转换为注册表项.SetValue(LPCTSTR str类型 自从我做C++以来,已经有好几年了,更不用说ATL代码< /P>了。,c++,string,atl,bstr,C++,String,Atl,Bstr,我有一种需要外科手术帮助的方法:( 这是一个移动应用程序,所以我不想使用CString和MFC 我需要将BSTR*str转换为正确的LPCTSTR类型,以便在registry Set.Value方法中使用 STDMETHODIMP CAXSampleCtl::SendMSG(BSTR* str) { CRegKey key; key.Create(HKEY_LOCAL_MACHINE, _T("MyKeyName")); key.SetValue( str <&

我有一种需要外科手术帮助的方法:(

这是一个移动应用程序,所以我不想使用CString和MFC

我需要将BSTR*str转换为正确的LPCTSTR类型,以便在registry Set.Value方法中使用

STDMETHODIMP CAXSampleCtl::SendMSG(BSTR* str)
{
    CRegKey key;

    key.Create(HKEY_LOCAL_MACHINE, _T("MyKeyName"));

    key.SetValue( str <<<--- nope, _T("MyValueName"));

    key.Flush();

    key.Close();

    return S_OK;
}
STDMETHODIMP caxsamplelectl::SendMSG(BSTR*str)
{
克雷基键;
创建(HKEY_LOCAL_MACHINE,_T(“MyKeyName”));

key.SetValue(str
COLE2T
宏仅适用于您,请参阅

要转换为BSTR,请将现有字符串传递给的构造函数 要从BSTR转换,请使用COLE2[C]DestinationType[EX], 比如COLE2T


为什么不直接用UNICODE定义的代码编译呢?