atl相关内容
我需要实现一个简单的 ATL COM 对象,该对象实现一个特定的接口,我已经为其提供了一个 .tlb 文件和一个 .idl 文件.界面非常简单,只包含一个方法.我过去创建了许多 ATL 对象,但从来没有一个必须实现特定接口.我需要什么来实现这一目标?我假设我需要以某种方式在我的新对象 IDL 中的某处引用接口的 IDL 或 TLB? 欢迎任何指点. 解决方案 它比这里建议的其他答案要
..
在 Visual Studio 2013 构建中包含来自 Microsoft ATL 库的 atlwin.h 时,将导致大量关于未定义元素的编译器错误. 即 #include 类 MainWnd : public CWindowImpl{}; “CWindowImpl:未定义基类"错误. 或 HMONITOR 未定义 使用 VS2010 构建时不会发生这种情况.
..
我使用“ATL 简单对象"向导在 C++ 中使用 ATL 构建了一个 COM 服务器 DLL.我遵循了 Microsoft 的 ATLDLLCOMServer 示例.除了一件事:我没有在 VBScript 中接收 COM 事件,一切都运行良好.我确实在 C# 中接收事件.我在早期的基于 MFC 的实现中将事件作为 ActiveX 控件在 VBScript 中工作. 我的控件定义如下: cl
..
我有一个没有类型库的 32 位 ATL COM 组件.它有一个用于实现多个接口的给定类的类工厂. 当我将它用作进程内服务器时,一切正常 - 客户端调用 CoCreateInstance(),对象被实例化,QueryInterface() 检索指向请求接口的指针.但是当我将组件放入 COM+ 时,我无法再实例化该类 - CoCreateInstance() 现在返回 E_NOINTERFACE
..
我正在 Visual Studio 2017 中使用旧的 ATL/COM 项目. 在以前版本的 Visual Studio 中,您可以选择“添加类",然后选择“添加简单 ATL 对象"选项以将 COM 类添加到项目中.Visual Studio 2017 中似乎完全没有此选项. 选项被移动了吗? 我是否错过了安装选项? Visual Studio 是否无法将我的项目识别为
..
我维护了一个资源管理器/文件管理器工具 (xplorer2),它可以代替 Windows 资源管理器来打开文件夹.但是,我无法捕获 SHOpenFolderAndSelectItems API 执行的“打开文件夹并选择项目"操作. 我发现了一个旧线程 由其他一些文件管理器程序员编写,暗示正确的方法是将“类似资源管理器"的工具注册为 shell 窗口,然后响应一些查询以提供接口和服务,例如 I
..
我正在将基于 ATL 的静态库转换为 DLL,并且在任何使用 ATL CString 类(在 atlstr.h 中找到)的导出类上收到以下警告: 警告 C4251:'Foo::str_':类'ATL::CStringT'需要使用 dll 接口'Foo' 类的客户 我正确地将 Foo 类声明为通过 __declspec(dllexport) 导出的.这是我可以放心忽略的警告还是我做错了什
..
我需要创建一个 CImage 来自字节数组(实际上,它是一个 unsigned char 数组,但我可以转换为任何必要的形式).字节数组的格式为“RGBRGBRGB...".新图像需要包含图像字节的副本,而不是使用字节数组本身的内存. 我尝试了许多不同的方法来实现这一点——包括使用各种 HBITMAP 创建函数,尝试使用 BitBlt——但到目前为止没有任何效果. 要测试函数是否工作,
..
我在尝试使用 CString 时遇到问题. 我有一个使用 VS2010Express 编写的控制台应用程序.我有一段代码想使用,但它使用 CString.当我尝试包含适当的头文件 atlstr.h(据我所知)时,我收到了著名的错误:无法打开源文件.经过一段时间的 Goggling 之后,似乎通常应该是可能的,但是 Express 用户无法使用 atlstr.h.问题: 1) 是吗?2)
..
因此,我尝试将我的项目从 Windows XP 上的先前版本移至 Windows 7 上的 Visual C++ Express 2010.我遇到了各种找不到 atlbase.h 的错误.这不是一个问题,但我想记录下我对他人的决心. 从我之前的安装中复制以下 PlatformSDK 文件并将它们放在我的 Windows 7 机器上. PlatformSDK/include/atl
..
我试图“快速集成" Windows Media Player 通过 COM 播放来自本地文件系统或 http 源的单个文件 - 但由于其使用的文档和在线资源稀少当没有嵌入到某种 Ole 容器中时,我无法让那个所谓的微不足道的用例工作. 初始化等工作正常,但实际播放某些文件总是失败. 示例代码,从初始化开始(删除了错误处理,基本上翻译自 MSDN 上的 C# 示例,在主线程上执行):
..
我正在尝试从 javascript 调用我的 BHO 方法.问题与以下帖子中所述相同: 从 Javascript 函数调用 BHO http://social.msdn.microsoft.com/Forums/en-US/ieextensiondevelopment/thread/91d4076e-4795-4d9e-9b07-5b9c9eca62fb/ 从 JavaScript 调用
..
我刚刚开始我的第一个 C++ 项目.我正在使用 Visual Studio 2008.它是一个单一形式的 Windows 应用程序,它访问几个数据库并启动一个 WebSphere MQ 事务.我基本上了解 ATL、MFC、Win32(实际上我对那个有点模糊)和 CLR 之间的区别,但我不知道应该如何选择. 其中一个或多个是否只是为了向后兼容? CLR 一个坏主意吗? 感谢任何建议
..
我想实现MFC Docking Framework在我现有的 mfc 应用程序中我接受了同样的审判,但它给了我这样的断言 在执行我的项目之前. 在输出窗口中,文本显示如下: “执行注册" 然后出现在断言下面 文件:c:\program files\microsoft visual studio.net 2003\vc7\atlmfc\include\atlbase.h
..
我使用 ATL(VS2008,所以 ATL9 IIRC)来创建 COM 对象,并且一直使用 CComVariant 类(在 atlcomcli.h 中定义)来管理 VARIANT 类型.但是,还有另一个 VARIANT 包装器称为 _variant_t.CComVariant 和 _variant_t 之间有什么区别,我应该使用哪一个? 同样,有两个 BSTR 包装器可用 - CComBST
..
使用 ATL (VS2008) 如何枚举给定 IDispatch 接口 (IDispatch*) 上可用的可用方法?我需要搜索具有特定名称的方法,并且在获得 DISPID 后,调用该方法(我知道该方法采用的参数.)理想情况下,我想使用智能 COM 指针来执行此操作(CComPtr). 这可能吗? 解决方案 除非对象实现了 IDispatchEx,否则您无法枚举所有可用的方法.
..
我开始在家使用visual studio c++ express 2008,但里面没有ATL. 如何将 ATL 添加到 Visual Studio C++ express 2008? 解决方案 ATL 7.1 现在是 Windows 驱动程序工具包.
..
我正在尝试打开“mspaint"并在它初始化后立即找到它的句柄.但是如果我调用 WaitForInputIdle,FindWindow 返回 NULL.如果我尝试使用 Sleep(1000) 函数,它会起作用.但我认为等待程序准备就绪不是正确的方法.此代码有解决方案吗? CString strWindowDirectory;GetSystemDirectory(strWindowDirecto
..
这里有人有开发 IE 扩展的经验吗?可以分享他们的知识吗?这将包括代码示例、优秀示例的链接、流程文档或任何内容. 我真的很想这样做,但是我遇到了糟糕的文档,糟糕的代码/示例代码/缺乏的巨大墙壁.如果您能提供任何帮助/资源,我们将不胜感激. 具体来说,我想从如何从 IE 扩展中访问/操作 DOM 开始. 编辑,更多细节: 理想情况下,我想植入一个工具栏按钮,单击该按钮时,会弹
..
我正在开发一个 64 位进程内 VC++ ATL COM 服务器,它基本上只是将所有调用重定向到一个进程外 COM 服务器.所以我的COM服务器基本上什么都不做. 最初它在 DLL 中使用 C++ 运行时(/MD 编译器开关).我注意到当我在干净的 64 位 Win2k3 regsvr32 上部署它时失败并显示错误:LoadLibrary({fileName}) failed – 由于应用程
..