问题标签 [atl]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c++ - Microsoft 使用什么作为 Unicode 字符串的数据类型?
我正在学习 C++,在 MSDN 上看到了一篇文章:
http://msdn.microsoft.com/en-us/magazine/dd861344.aspx
在第一个代码示例中,与我的问题相关的一行代码如下:
更具体地说,是 L 前缀。我读了一点,如果我错了,请纠正我:-),但这是为了允许使用 unicode 字符串,即为长字符集做准备。现在,在我阅读这篇文章的过程中,我在这里遇到了另一篇关于 C 语言中的高级字符串技术的文章http://www.flipcode.com/archives/Advanced_String_Techniques_in_C-Part_I_Unicode.shtml
它说有几个选项,包括包含标题:
或者
在 C 中,再次指出我是否错了,感谢您的反馈。此外,它显示了适用于这些 unicode 字符串的数据类型:
它混合了一个宏和一种混合数据类型,宏是:
它只是在字符串前面加上 L 和混合数据类型作为
它指出,如果标题存在,则允许使用 unicode,如果不存在,则允许使用 ASCII。现在我的问题是,或者更多是我想确认的假设,Microsoft 是否会使用这种更灵活的 TCHAR 数据类型,或者承诺使用 wchar_t 是否有任何好处。
另外,当我说 Microsoft 是否使用此功能时,更具体地说是 ATL 和 WTL 库中的示例,你们中是否有人对此有偏好或有一些建议?
干杯,
安德鲁
c# - 如何在智能手机应用程序中获取网页的打印预览
如何使用 c#、c++ 或 ATL 控件在 Windows 移动智能手机应用程序中使用 HTML 控件或 Web 浏览器控件获取网页的打印预览内容。请指导我们提供任何技术细节或与之相关的任何示例应用程序。
-提前致谢。抓住它
c++ - 错误:MFC 项目无法定义 _ATL_NO_EXCEPTIONS
我正在扩展一个开源项目。在新的 C++ 文件中包含 afxcoll.h 以使用 CStringArray 后,我收到此错误:
我怀疑我可以通过添加#defines 或更改或重新排列标题的包含来修复错误,或者,如果这不可能,则使用CStringArray 以外的其他东西。你有什么建议?
请在此问题的评论中提出问题,而不是在您的答案中。
internet-explorer - IE 窗口移动时的处理 - Visual C++
我想处理窗口移动事件。我的第一次尝试是处理DWebBrowserEvents2::WindowSetHeight
、WindowSetLeft
和事件WindowSetTop
,WindowSetWidth
但由于某些原因,这些事件根本没有被触发。我已经通过处理来调整窗口大小HTMLWindowEvents2::onresize
。当窗口移动时我将如何处理?
我也尝试过实现IHTMLOMWindowServices
,但是当窗口位置发生变化时,它的成员不会被调用。关于什么是一个好的接口来实现有什么建议吗?我正在使用 Visual C++ 中的 ATL 创建一个 IE 扩展。
c++ - 如何比较两个 BSTR 或 CComBSTR?
比较两个 CComBSTR 的正确方法是什么?我试着用
然而,即使两个 ComBSTR 相同,它也总是返回 false。它无法正常工作。
是否必须先将CComBSTR转换为 ANSI 字符串,然后再使用 strcmp?
谢谢!
-公元前
c++ - _MERGE_PROXYSTUB 有什么意义?
我使用 VS2008 生成了一个 ATL COM 对象,并且代码包含对名为的定义的引用_MERGE_PROXYSTUB
(因为我在最初运行向导时选择了“合并代理/存根”选项。)
代理/存根有什么意义?如果我不选择合并选项,那么我会得到一个单独的选项MyControlPS.DLL
- 什么时候会使用它?
如果我删除定义包围的所有代码,FWIW 控件似乎可以注册并正常工作_MERGE_PROXYSTUB
。调试版本甚至没有定义_MERGE_PROXYSTUB
,它仍然可以正常工作。
那么,我可以不用代理/存根吗?
windows - 是否可以禁止将我的进程内组件放入 COM+?
我有一个 ATL C++ in-proc COM 组件。该组件不供外部使用 - 我只需要在我们的应用程序中使用它。
有时,用户将它放入 COM+ 中,这会导致各种奇怪的错误——“访问被拒绝”等,我不想听到这些。最好的方法是做一些禁止将组件放入 COM+ 的事情,以便它只能用作进程内服务器。有没有办法做到这一点?
c++ - ATL c ++中的文本更改事件
我有一个文本框的句柄,并希望在文本框中的任何文本更改上触发 ATL c++ 中的事件。
c++ - VB6 GUI 在多线程 COM 环境中不起作用
我有一个调用进程内 STA ATL/COM 服务器的 VB6 COM 客户端。服务器方法之一,X,可能需要一段时间才能完成,所以我需要能够取消它。我尝试的是在新线程中运行方法代码并包含另一个方法 Y,它执行定时 WaitForSinleObject。因此,客户端首先调用 X,然后进入一个调用 VB6 DoEvents 的循环,然后是 Y,直到 Y 指示 X 已经完成。这很好用,但美中不足的是 X 线程还通过 IConnectionPoint 接口将事件触发回客户端。事件顺利通过,但任何 GUI 调用都不起作用,因为据我所知,GUI 只能在一个线程上工作,即主线程。
使用我现有的代码有没有明显的方法来解决这个问题?或者,请您建议我可以完成此任务的其他方法。
c++ - 如何在 Visual C++ 中编组服务器端的 COM 对象?
我有一个带有 ATL 简单对象的进程外 COM 服务器,它创建另一个线程。新线程将需要调用 ATL Simple 对象。由于 ATL 简单对象和新线程创建的单元不同,因此需要在新线程中编组 ATL 简单对象,否则会产生错误 0x8001010e。
我如何在服务器端编组 COM 对象或者我错过了什么?
非常感谢。