atl相关内容

使用ATL CImage从内存缓冲区加载图像

如何使用CImage从BYTE *数组加载图像? 到目前为止,我的解决方法是简单地创建一个临时文件,但是有时此操作非常昂贵... 可能有一些库,但是我不想链接到其他库,我所需要的只是获取图像大小并有效地显示在屏幕上,而CImage就是我所需要的... p-> pbData是一个BYTE *数组,而p-> dwDataLen是一个DWORD,用于保存数组大小 我的代码: ATL:: ..
发布时间:2020-09-13 18:42:12 C/C++开发

将BSTR转换为LPCWSTR

这是我的需要 BSTR l_strArgs; LPCWSTR sth; //---- //--- OutputDebugStringW(sth); 如何将BSTR转换为LPCWSTR? 是否有仅标头库,可以将任何字符串类型(Microsoft)转换为LPCWSTR类型? 解决方案 只需介绍NULL场景,您就可以开始使用 BSTR l_strArgs; LPCWSTR ..
发布时间:2020-09-13 18:42:07 C/C++开发

如何抑制“此应用程序中仍然有活动的COM对象",请参见图5.关闭应用程序时出错?

我已经编写了一些ATL COM对象,这些对象用于在C ++ Builder应用程序中进行拖放. 由于无法控制的原因,当用户尝试关闭应用程序时,我的应用程序仍然具有活动的COM对象.这是因为使用我的对象的其他COM客户端似乎缓存了我的COM对象,并且没有释放它们-结果,当用户单击"X"关闭我的程序时,我的COM对象的引用计数仍然大于零. .这会导致用户收到如下不友好的消息: 我希望我的应 ..
发布时间:2020-09-13 18:42:02 C/C++开发

正确的单撇号与撇号?

右单引号(U + 2019) 与 撇号(U + 0027) 这两个字符有什么区别? 我遇到了这个问题,其中我使用CAtlString从资源文件中加载字符串,并且在某些Windows安装中,当尝试加载包含U + 2019的字符串时,LoadString失败,但是在其他Windows安装中却可以使用. U + 2019字符出现在我从Word复制的资源文件中的字符串中,而U + 0027出现 ..
发布时间:2020-09-13 18:42:00 其他开发

如何比较两个BSTR或CComBSTR?

比较两个CComBSTR的正确方法是什么?我尝试使用 bool operator ==( const CComBSTR& bstrSrc ) const throw( ); 但是,即使两个ComBSTR相同,它也总是返回false.它不能正常工作. 我必须先将 CComBSTRs 转换为ANSI字符串,然后再使用strcmp吗? 谢谢! -bc 解 ..
发布时间:2020-09-13 18:41:57 C/C++开发

使用C ++将托管事件公开给COM

有可能公开用C#编写的托管事件,以公开并在使用c ++编写的COM对象中使用.不太熟悉com和atl.您能否说明一下MSDN文章中显示的示例的C ++方面会是什么样子? http://msdn.microsoft.com/en-us/library/dd8bf0x3.aspx 显示的VB6代码证明它是可行的. 解决方案 C ++中最简单的方法是IMO,借助ATL的IDispEv ..
发布时间:2020-09-13 18:41:54 C#/.NET

如何使用COM在两个进程之间传输数据(用于IPC-进程间通信)

我对COM有一定的了解,并且想了解COM如何帮助数据传输.假设有两个进程,Process-A和Process-B,并且它们两个都希望彼此共享一些数据,那么当然有很多RPC机制,但是我想使用COM. 您无法创建COM dll,因为它会变得特定于进程并且无法使用 我们可以创建一个单吨COM EXE服务器并将结构包装在COM CoClass中并将其成员公开为属性,然后...不知道如何做吗? ..
发布时间:2020-09-13 18:41:51 其他开发

使用Visual C ++ Express 2010时找不到atlbase.h

因此,我尝试将项目从Windows XP的早期版本移至Windows 7的Visual C ++ Express 2010.在找不到atlbase.h的地方,我遇到了各种各样的错误.这不是什么大问题,但我想记录一下我对其他人的解决方案. 从以前的安装中复制以下PlatformSDK文件,并将它们放在Windows 7计算机上. PlatformSDK/include/atl Pl ..
发布时间:2020-09-13 18:41:47 其他开发

作为MS Visual C ++ 2005 ATL合并模块的替代品,我需要分发哪些文件?

当前,我正在分发包含三个合并模块的软件产品: Microsoft_VC80_CRT_x86.msm ATL.msm policy_8_0_Microsoft_VC80_ATL_x86.msm 某些客户使用了不喜欢这些MSM文件的打包技术(我认为是因为他们在写入WinSxS时遇到技术问题).我可以直接将dll文件直接分发到应用程序的"Program Files"文件夹中吗,如果需要,则需要 ..
发布时间:2020-07-28 04:40:05 其他开发

为什么从Visual Studio 2008中删除了在新的ATL项目中使用属性的选项?

这是MSDN注释中的文本:“根据ATL Internals(第2版)一书,不建议使用属性,并且不应在新的ATL项目中使用." 但是为什么?! 解决方案 在ATL中,这些属性是编译器的把戏.它们不像C#中的属性那样是平台的核心部分.与宏相比,它们还更容易调试,并且转储生成的属性代码的方法很麻烦. 我怀疑另一个问题可能是C ++编译器的兼容性和标准遵循性.属性并不能构成更漂亮的C ..
发布时间:2020-07-27 06:55:24 其他开发

示例ATL对话框窗口

有人可以帮我找到一个有主窗口和一些组件的最新的,可运行的ATL项目吗?请为上帝的爱,不要告诉我使用WTL/Qt或其他.我需要ATL.没有关于它的最新项目.我只需要一个主窗口,仅此而已.我能找出其余的. 先谢谢了. 解决方案 好的,为了上帝的爱:模板+对话框窗口中的Visual Studio 2010 C ++/ATL EXE项目. 来源: 跟踪: AtlDialogSam ..
发布时间:2020-07-27 05:24:37 C/C++开发

ATL简单对象向导-“对象Xxx已存在"错误

我正在尝试使用Visual Studio 2005中的 ATL简单对象向导在我的DLL中创建一个新的COM对象. 我输入对象的简称,所有其他字段都将导出. 但是,当我在向导中单击 Next 时,会出现以下错误消息: Object 'IXxxInterfaceName' already exists 我已经在整个解决方案中搜索了所有对IXxxInterfaceName的引用,但 ..
发布时间:2020-07-27 01:18:18 C/C++开发

在Visual Studio 2017中添加ATL简单对象

我正在Visual Studio 2017中处理旧的ATL/COM项目. 在Visual Studio的早期版本中,您可以选择“添加类",然后选择选项“添加简单ATL对象"以将COM类添加到项目中. Visual Studio 2017中似乎完全缺少此选项. 选项已被移动吗? 我错过了安装选项吗? Visual Studio是否无法将我的项目识别为ATL项目? (它是使用较 ..
发布时间:2020-07-27 00:22:55 其他开发

如何从CEdit控件获取文本

我是ATL的新手.所以请原谅我问这个问题. 问题描述: 一个CEdit控件被添加到ATL对话框类中.它附加在对话框的初始化函数中. //Define the edit control ATLControls::CEdit m_txtInput; //In the OnInitDialog function m_txtInput.Attach(GetDlgItem(IDC_INPUT ..
发布时间:2020-07-19 19:36:54 C/C++开发

WM_SYSCOMMAND SC_MOVE占用鼠标事件,并且不触发鼠标

我的程序是无边框窗口,我想在用户拖动对话框的任何部分时移动该窗口.使用WM_SYSCOMMAND后,所有后续鼠标事件都将丢失. 首先,我编写了一个程序来捕获鼠标事件,并且一切都与WTL兼容​​. BEGIN_MSG_MAP(CMainDlg) MSG_WM_LBUTTONUP(OnMouseUp) MSG_WM_LBUTTONDOWN(OnMouseDown) .... ..
发布时间:2020-07-14 07:05:02 C/C++开发

未收到TVN_SELCHANGING

我有一个WTL81应用程序. CMainFrame有一个子CPaneContainer,有一个子窗口CTreeViewCtrl.问题是CTreeViewCtrl没有收到TVN_SELCHANGING消息. 我“侦察" CTreeViewCtrl及其父级(CPaneContainer),并且未收到任何通知代码. CMainFrame是从公共CFrameWindowImpl ..
发布时间:2020-07-14 07:04:59 C/C++开发

预注册ATL窗口类

我正在为项目使用ATL和WTL的组合,并且已经从CWindowImpl派生了自己的类,看起来像这样: class CMyControl : public CWindowImpl { public: DECLARE_WND_CLASS(_T("MyClassName")) ... BEGIN_MSG_MAP(CMyControl) ..
发布时间:2020-07-14 07:04:51 其他开发