jjzjj

c++ - 从非 COM 静态库中删除对 OleInitialize 的调用是否安全?

今天我必须在原生C++项目中定义WIN32_MEAN_AND_LEAN预处理器宏,因为我决定在其中使用boost::asio,如果没有该宏,我会得到构建错误。事实是,我现在得到的错误是OleInitialize:identifiernotfound。根据MSDN,此函数用于初始化COM库。我的项目现在不是COM库,但我的合作伙伴说它曾经是。在这种情况下,删除电话是否安全?该项目混合使用了Win32串行端口函数和boost::asio(逐渐地,我将只使用boost::asio)。我担心的是OleInitialize对于某些Win32调用可能是必需的。这就是它所做的一切:HRESULThO

windows - 在 Windows 中调试系统/ole dll

我们如何在windows中调试系统dll?假设我的应用程序正在使用使用系统dll的第三方dll,我想知道第三方dll传递给系统dllapi的确切参数。例如,假设myapp.exe使用名为xyz-wmi.dll的第三方dll,它对恰好在Wbemdisp.dll中的SWbemLocator.ConnectServer进行api调用。我想检查传递给Wbemdisp.dll中的SWbemLocator.ConnectServer的确切参数。有没有办法在Wbemdisp.dll的函数SWbemLocator.ConnectServer中设置断点并在调试器中检查参数?如何做到这一点?

windows - 查找所有可用的 OLE 容器

发现HKEY_LOCAL_MACHINE\SOFTWARE\Classes\CLSID\中包含“verb”子项的条目表示OLE容器。喜欢HKEY_LOCAL_MACHINE\SOFTWARE\Classes\CLSID\{GUID_HERE}\verb\问题:这是区分COM和OLE的必要条件和充分条件吗(即这个特性是否对所有OLE都是必需的)? 最佳答案 OLE容器不需要有任何子项。事实上,他们根本不需要任何注册表项。他们所要做的就是实现一些预定义的接口(interface)。如果您谈论的是OLE服务器,它们通常会实现一些可以通过I

node.js - Nodejs OLE-COM 服务器

我正在使用win32ole访问WindowsPC中的COM-OLE(自动化)绑定(bind),例如excel、word等。现在我想要的是使用nodejs实现一个COM-OLE服务器。我似乎找不到任何支持这些的nodejs模块。最后,我只需要将COM-OLE对象/接口(interface)暴露给PC内运行的任何应用程序,以便它们可以访问我的应用程序。谢谢,顺便说一句,我正在使用Electron.js。 最佳答案 因为win32ole似乎只作为客户端运行,所以您遇到了以下两种情况之一:用C++实现您自己的COM服务器(nan有助于Nod

c++ - 如何获取 IWebBrowser2 的实例

我对C++有点陌生,请多关照。我正在尝试自动化InternetExplorer。我有一个简单的Win32控制台应用程序,我试图在其中使用本地服务器创建IE实例。但是,我对CoCreateInstance()的调用没有返回一个对象来初始化我的IWebBrowser2变量。我可以使用一些帮助来查看我缺少的内容。这是我的代码:HRESULTInstanciateIEResult;HRESULTNavigateResult;HRESULTShowBrowserResult;VARIANT*empty=newVARIANT();BSTRURL=L"bing.com";IWebBrowser2*p

c++ - 处理多个文件时,我必须在 COleDropTarget::OnDrop() 中返回哪个值?

我通过从COleDropTarget派生类CDropTarget使我的MFC应用程序成为放置目标并覆盖allnecessaryfunctions.一切都按预期工作。但是OnDrop()的返回值让我困惑。它的描述是这样的:Nonzeroifthedropissuccessful;otherwise0.如果我的申请中有多个文件,我不明白“成功”是什么意思。例如,考虑以下实现:BOOLCDropTarget::OnDrop(CWnd*pWnd,COleDataObject*pDataObj,DROPEFFECTtDropEffect,CPointtPoint){//Ileftoutdecla

windows - VarToDateTime(VarDateFromStr) 使用哪种日期格式?

我最近在日期转换方面遇到了问题。运行我的应用程序的某些工作站无法将字符串正确转换为日期。我将问题追溯到似乎没有检查LOCALE_SSHORTDATE以进行转换的VarDateFromStr。我想知道是否有人知道它为转换检查了什么。或者不同的行为是否只链接到不同的DLL版本?GetLocaleStr(GetThreadLocale,LOCALE_SSHORTDATE,'m/d/yy');//returns'dd-MM-yyyy'FormatDateTime('dd-MM-yyyy',VarToDateTime('05-11-2010'));//returns'11-05-2010'编辑:

windows - 我应该使用 OLE 剪贴板机制还是标准剪贴板 API?

我正在向现有的Windows应用程序添加复制和粘贴功能。ThisMSDNpage建议使用OLE剪贴板机制而不是标准剪贴板API。想知道对此的共识是什么?我认为OLE的东西已经死了一点,我不想让自己熟悉所有的类(class),除非有一些好处。 最佳答案 除非您需要OLE提供的工具,否则我会坚持使用老式的剪贴板。它更易于使用。 关于windows-我应该使用OLE剪贴板机制还是标准剪贴板API?,我们在StackOverflow上找到一个类似的问题: https:

windows - 如果我违反了对 ProgID 的要求会怎样?

ThisMSDNarticle声明任何ProgID都必须满足几个正式要求,包括长度限制。然而,没有说明如果违反这些规定会发生什么。我在我们的代码库中发现了几个地方,其中ProgID的长度超过39个字符,但一切似乎都对它们有效,包括ProgIDFromCLSID()和CLSIDFromProgID()。由于违反这些要求非常容易,因此了解此类违反的实际可能后果是什么将非常有趣? 最佳答案 我猜你得到的是未定义的行为。这可能包括从正常运行到崩溃、小猫被吃掉、长子被牺牲等等。更重要的是,一些要求可能会告诉您一些事情:不超过39个字符:其他软

.net - 在未安装 Excel 的情况下以编程方式填充 Excel 模板

我们的服务器有SQL(特别是SSIS)但没有安装Excel(我们的政策禁止这样做),但是来自SSIS的数据需要生成一个格式化的Excel文件(带有固定图像)并将其放在输出目录中.是否可以通过编程方式(可能使用.NET)在Excel模板文件中填充值和图表的源数据,而无需在计算机上实际安装Excel? 最佳答案 @酒吧,我想,你可以考虑使用Aspose.Cellfor.NETAPIs因为他们不需要Excel应用程序的可用性来动态创建、操作或转换电子表格。此外,这些API提供了一个verityofmeanstoimportthedatao