我已经使用list文件(即早期绑定(bind))使用C++和C#成功地让Reg-FreeCOM工作。我现在正在尝试使用后期绑定(bind)来使它正常工作。经过大量网络搜索后,我发现的技术似乎是在使用“Microsoft.Windows.ActCtx”。我用来对此进行测试的一个示例是MS的“基于COM的组件的免注册激活”,位于http://msdn.microsoft.com/en-us/library/ms973913.aspx。生成SideBySide示例。然后我尝试使用脚本语言;然而,VBScript和Python都以同样的方式失败(也尝试过VBA)。VBScript范例如下:Se
前提:我有一个旧的32位COMshell扩展(用C++编写)。在与更新的64位系统多年不兼容之后,我们现在正在更新它以在64位Windows环境中工作。诀窍:32位COMDLL包含对第三方库的依赖,没有可用的64位版本。因此,我们不能简单地“在64位中重新编译”。鉴于此限制,我们决定最简单的方法是创建一个“瘦”64位DLL;本质上是一个空DLL,仅定义所需的接口(interface),并将所有调用重定向到底层32位COMDLL。我相信通过使用COM代理,64位COMDLL和32位COMDLL之间的通信是可能的。不幸的是,这似乎是一个非常具体/小众的话题,而且我一直无法找到很多关于如何从
我编写/支持一个名为uCon(http://www.umonfw.com/ucon)的终端仿真器。它全部基于“good-ole”Win32,并且完全在“C”中。我最近被要求支持将uCon连接到COM端口并为RS232流量控制之外的目的设置DTR/RTS的能力。我知道我可以在使用EscapeCommFunction()和/或SetCommState()调用CreateFile()之后执行此操作;但是,这些函数只能在CreateFile()返回已打开端口的句柄后调用。不幸的是,当CreateFile()打开端口时,它将DTR/RTS设置为其默认状态,这可能(或可能不)与我希望保持DTR的状
我有一个Windows应用程序,该应用程序利用第三方工具(FaxMan)通过连接到PC的COM端口发送传真。为了对我的应用程序进行压力测试,我想创建一些虚拟COM端口,这些端口假装有传真调制解调器。然后,我想“欺骗”传真的发送,而不实际发送任何东西。虚拟COM端口将需要响应标准AT命令,就像正在发送传真一样。欺骗失败的能力将是额外的收获。我的第一个想法是使用虚拟COM端口驱动程序重定向到telnet或其他TCPsession-然后,我可以拥有一个假装通过传真Action的TCP服务器。但是,如果存在某个组件,我很乐意支付。 最佳答案
我有一个应用程序,它使用JNA从C++中的硬件抽象库调用函数。受支持的硬件设备之一需要初始化WindowsCOM子系统(通过CoInitialize或CoInitializeEx)。有人知道有什么Java库可以做到这一点吗?我知道我可以包装一些Windows函数,但如果我已经准备好并测试了一些东西,那就更好了。我找到一个叫JACOB的但是据说文档不好,上次更新已经很久了。谢谢! 最佳答案 我们使用Com4J(用于Excel等外部进程)和SWTCOMAPI(用于嵌入式GUI组件)。有的时候,我们用Jacob,就看你想控制什么控件了。有
我知道在COM对象的AddRef和Release方法内部使用互锁API来递增/递减线程安全的引用计数。但我想在这里理解的是,是否足够使用InterlockAPI,或者我们还需要某种其他同步对象,例如互斥体。到目前为止,我看到的所有示例代码都只使用了InterlockAPI。场景-假设我已经实现了消息对象的AddRef和Release方法,如下所示。假设线程A访问消息对象,因此m_lRef计数为1。一旦完成消息对象使用线程A调用Release方法内部释放方法–在第9行-m_lRef=1在第10行-m_lRef=0,lRef=0线程A在第10行暂停,另一个线程B访问相同的消息,因此它调用A
当客户端应用程序调用c_com_ptr::CreateInstance(使用ATL包装器)时,我有一个COM服务器LocalServer32EXE启动。在Windows7上,当在同一用户帐户下运行的第二个客户端应用程序也调用c_com_ptr::CreateInstance时,将启动在同一用户帐户下运行的第二个EXE副本。我的印象是,从前世开始,第二个客户将共享第一个EXE。LocalServer32进程是否共享?什么时候,什么时候不?谷歌搜索答案给了我一个巨大的噪声信号比,我找不到答案。我的CLSID注册表项的LocalServer32值给出了EXE路径、ProgID、Program
按照目前的情况,这个问题不适合我们的问答形式。我们希望答案得到事实、引用或专业知识的支持,但这个问题可能会引发辩论、争论、投票或扩展讨论。如果您觉得这个问题可以改进并可能重新打开,visitthehelpcenter指导。关闭9年前。当您只有HRESULT时,我不知道从哪里可以获得有关COM错误的含义、可能的原因和可能的解决方案的最佳信息。在Google上搜索“80004027”之类的术语几乎毫无用处,因为它会将您带到随机讨论组,其中90%的时间都是“80004027是什么意思?”的问题。没有人回答。什么是这方面的好资源?为什么MSDN不是Google的最高搜索结果?
我正在使用c.net,添加引用->com这是什么? 最佳答案 组件对象模型。你可以阅读它here。 关于c#-什么是Windows中的COM,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/3309420/
我看到了关于这个的帖子(AddingsongtoituneswithC#sdk/api),但是点击链接找不到任何可靠的帮助..有人能指出我正确的方向吗?谢谢,最大 最佳答案 在C#中与iTunes交互并不是那么糟糕。第一步在ProgramFiles目录中添加对iTunes.exe文件的项目引用。这将添加对iTunesLib的引用。第2步创建一个新的iTunesLib.iTunesAppClass实例。第3步使用iTunesAppClass.LibraryPlaylist.AddFile()方法。为确保您没有添加重复文件,您必须检查L