com相关内容
我在修改机器上已存在的任务时遇到问题.我正在尝试使用从 C# 生成的互操作接口(从 system32/taskschd.dll 生成的 Interop.TaskScheduler.dll)来执行此操作. 首先,我不能使用其他库,例如 http://taskscheduler.codeplex.com/.已经过测试,它可以与前面提到的库一起使用.现在,当我尝试对生成的接口做同样的事情时,没有任
..
我在 C# 中有以下接口,其中一个具有相同名称(没有我)的类实现它. [ComVisible(true)][指南(“B2B134CC-70A6-43CD-9E1E-B3A3D9992C3E")]公共接口 IOrder{长获取数量();长 GetOrderType();长 GetPositionType();} 公共类 Order 的实现:IOrder 只是三个私有字段和一个需要 3 个参数的构
..
AxAcroPDF 会在获得焦点后立即吞下所有与键相关的事件,包括快捷键、按键等.我添加了一个消息过滤器,它也没有收到任何与键相关的消息.它是一个 COM 组件,这可能是相关的吗? 有什么方法可以在控件开始吞噬它们之前捕获它们? 解决方案 Hans 是正确的,Acrobat Reader 生成了两个子 AcroRd32 进程,您无法从托管代码中直接访问它们. 我已经对此进行了实
..
要注册一个 COM 服务器,我们在提升模式下运行类似的东西: regsvr32.exe com.dll 要执行每个用户的注册,请在用户帐户中执行: regsvr32.exe/n/i:user com.dll regsvr32.exe 支持这些参数: /u - 注销服务器/i - 调用 DllInstall 并传递一个可选的 [cmdline];与/u 一起使用时调用 dll 卸载/n -
..
我已将我的 DLL 标记为 vsdraCOM,安装后我可以在注册表中看到它,但我的应用程序在手动调用 RegAsm 之前看不到 COM 接口.为什么会这样? COM 注册在 Vista(本人确认)和 XP(经同事确认)上不起作用.在 XP 上使用 Visual Studio 2005. 解决方案 嗯,我找到了解决方案: 使用/regfile 选项运行 RegAsm.exe 以生
..
我们有一个 .NET 应用程序需要检查可能包含 COM 库(DLL 和 OCX)的文件夹.当我们遇到 COM 库时,我们需要完成的一件事是从 COM DLL 或 OCX 中提取 GUID. 有没有一种直接的方法可以在不使用 3rd 方库的情况下使用 .NET 来做到这一点? 解决方案 这应该适合你.它需要对 c:\windows\system32\tlbinf32.dll 的引用,但
..
我正在编写一个项目并使用另一方 DLL. 他们的 DLL 中的函数想要一个 IStream 对象来保存结果,但我不明白如何创建一个 IStream 对象. 谁能帮我解决我的问题? 解决方案 你不要创建 IStream 对象,因为它显然是一个接口.您应该实现此接口并传递您的对象.或者干脆使用一个已经实现它的对象,如果这样的对象存在的话. 已经给出了类似问题的答案,给出了一个
..
为什么可以使用 For Each 而不是 Hashtable 来迭代 ArrayList? Dim iFor Each i In CreateObject("System.Collections.ArrayList") ' 没有错误下一个For Each i In CreateObject("System.Collections.Hashtable") ' 错误下一个 迭代 HashTable
..
我最近发现可以 "用 "nofollow">CoClassAttribute 指定默认实现. [ComImport, Guid("579A4F68-4E51-479A-A7AA-A4DDC4031F3F"), CoClass(typeof(FooImpl))]公共接口 IFoo{无效酒吧();}公共类 FooImpl : IFoo{公共无效酒吧(){}}...//构造一个 FooImplIFoo
..
是否可以使用 COM 将自定义对象(如 MyClass[])从 C# 传递到 VBA? 如果没有,哪个是最好的解决方案? 解决方案 我假设你在谈论 Excel VBA 到 C# ... 这是一个最小的 C# 类,在一个默认名称为 ClassLibrary1 的项目中: 使用系统;使用 System.Runtime.InteropServices;命名空间测试器{[ClassI
..
我希望在两台虚拟机上(Wix)安装我的软件.一个是 Windows XP SP2,另一个是 Windows XP SP1.他们都没有使用域,并且他们都拥有具有管理员权限的本地用户 Administrator. 运行 RegAsm.exe 在装有 SP3 的机器上注册 MyApp.dll 会将我的 ProgId 放入文件夹中: HKEY_CLASSES_ROOT\MyAppProgId
..
有没有办法激活一个 COM 组件,它是一个 EXE COM 应用程序以及它依赖的 COM dll?我想从 .NET 应用程序(VS 2005/VS 2008)激活这个 COM 组件. 调用路径是 C# 应用程序 --> 调用进程外 exe(这是通过 COM)然后这个进程外调用几个 COM dll 解决方案 Reg-free COM 不适用于进程外组件. ActiveX EXE
..
我的第一种方法是使用 python-can(如它增加了对解析 2.0.0 版本的 BLF 文件的支持),如下所示: 导入即可文件名=“logfile.blf";日志记录 = can.BLFReader(文件名)对于日志中的味精:打印(味精) 但这导致我向开发人员报告了一个错误.BLF 格式是专有的并且有些秘密,所以我知道在开源库中支持它可能会有问题. 然后我研究了使用 Vector 提供
..
如何在 C# 中解析 TLB(非托管 COM 服务器)中的非托管代码? 解决方案 通过使用 tlbimp.exe.
..
如果您创建 COMClass,我注意到当您引用生成的 tlb 文件时,XML 摘要标记中的值不会显示在 VB6/VBA 的对象浏览器中.有没有办法显示这些值? 解决方案 不,12 年的 IntelliSense 发展阻止了它的工作.XML 文档注释会生成一个 IntelliSense 可以提取的 .xml 文件.在 VB6/A 中,文档存在于具有帮助字符串属性的类型库中.例如: [odl
..
我最近需要生成一个互操作程序集.经过一番谷歌搜索后,我发现了 tlbimp.exe.我的下一个问题是我的 COM 库没有附带 .tlb 文件.进一步的谷歌搜索显示类型库通常作为资源包含在 exe/dll 中.果然,在 VS2010 中打开 exe 显示它的类型为 lib,然后右键单击我有一个 tlb 文件可与 tlbimp 一起使用.太棒了. 然而,这不是一个很好的过程.我将来是否需要这样做
..
我们开发了一个存储语言翻译信息的 .NET 程序集,它需要被 VB6 应用程序使用. 我们希望能够更改翻译信息而无需重新编译应用程序. 翻译由名为 LanguageServices 的两文件分部类提供. 一个文件是不变的库方法,另一个是所有从 resx 文件自动生成的属性,而 regx 是从语言翻译信息数据库生成的. 这一切都源于需要有一个中央翻译数据库,该数据库可以通过编
..
这是在 .net 3.5 winform 上运行的网络单点登录代码.只要 ie8 只打开一个选项卡,代码对于 ie6 或 ie8 运行良好.问题是,如果用户打开一个新选项卡(选项卡 2,3 等)并导航到网站(组织内部的 Web 表单),将执行以下代码,但即 COM 自动化对象将返回 HTMLDocument对于第一个选项卡(选项卡 1),即使选项卡 2 是活动选项卡.我在任何地方的 Interne
..
我正在尝试使用 Visual Studio 2005 中的 ATL 简单对象向导在我的 DLL 中创建一个新的 COM 对象. 我输入对象的短名称,所有其他字段都是派生的. 但是,当我在向导中单击下一步时,出现以下错误消息: 对象 'IXxxInterfaceName' 已经存在 我在整个解决方案中搜索了对 IXxxInterfaceName 的所有引用,但在任何地方都看不到它的定
..
继续这个问题,我很困惑是否IDispatch::Invoke() 上的 >DISPID_VALUE 用于脚本函数和属性(在我的例子中是 JavaScript)可以被认为是调用由 表示的实际函数的标准和可靠的IDispatch? 如果是,在 MSDN 中的任何地方都提到过吗? 请注意,问题是关于这种行为是否可以预期,而不是我无法提前知道的某些界面可能是什么样子. 一个简单的用例是:
..