com-interop相关内容

使用C#打开Word文档(.doc)格式收到COMException原因由于文件阻止设置

我想打开一个真的老了(二进制)的Word文件使用C#/。NET和的Microsoft.Office.Interop.Word。每当我尝试使用下面的代码片段打开此文件时,出现一个收到COMException告诉我的“你正在试图打开被阻止在信任中心的文件阻止设置的文件类型。”的 这也可用于打开在MS Word同一个文件的时候,但调整的信任中心中的设置后,现在这只是正常的情况发生。但是,我还是不能使用 ..
发布时间:2015-11-26 18:22:25 C#/.NET

什么是实行有管理的物业处理程序外壳扩展了正确的方法是什么?

现在的.NET CLR 4.0支持并排(血散)的操作,现在应该可以编写shell 在扩展管理code。我尝试这一点,并成功地$ C $光盘属性处理程序 实现IPropertyStore,IInitializeWithStream和IPropertyStoreCapabilities。 的处理程序 工作正常,被称为通过浏览器浏览文件时的预期。它也能正常工作在显示 自定义属性在preVIEW面板和文 ..
发布时间:2015-11-26 18:15:41 C#/.NET

什么是Marshal.GenerateGuidForType(类型)和Type.GUID之间的区别?

键入classType所= typeof运算(SomeClass的); 布尔等于= Marshal.GenerateGuidForType(classType所)== classType.GUID; 我还没有发现这种失败的条件的情况下。 所以为什么以及何时我应该使用的仅仅让元帅方法,而不是在的GUID 属性? 解决方案 看 ... GenerateGuidForType提供相同的功 ..
发布时间:2015-11-26 18:14:03 C#/.NET

COM`HRESULT`被包装成在.NET中的异常

(preliminary注:我还没有完全达到速度与整个“互操作”的事情...) 当从在.NET中使用COM库,所有的 HRESULT 方法将被包装成的东西,抛出当返回code未成功了。 // ATL魔术已排除 C类{ HRESULT富(){返回E_FAIL; } }; //使用code: 如果(SUCCEEDED(c.foo())){ //成功code } 其他 { / ..
发布时间:2015-11-26 18:11:22 C#/.NET

故障排除64 COM互操作封送处理问题

我有一个C ++ COM服务器这是我最近重新编译为64位。此COM服务器都有一个包含其中包含了一些整数和BSTR和其他结构的结构参数的方法。现在,我试图打电话从一个64位的.Net C#应用程序这个COM服务器。我可以成功加载我的COM服务器,只要我不尝试填充任何字符串参数,调用此方法。如果我尝试在INT成员通过有效的价值观,他们结束的时候结束了在COM对象实现损坏。看起来好像结构编组的方式是错误 ..
发布时间:2015-11-26 16:32:41 C#/.NET

在运行时加载一个COM DLL?

我写了桃树AP​​I的应用程序,它需要与任何版本的API的工作。不幸的是,从桃树2011的DLL不能与桃树2010,反之亦然互动,即使这两个dll文件都存储在同一个位置,用完全相同的code运行。 我想我应该能够引用的DLL由它的文件路径,留下具体的版本错误,嵌入互操作类型的错误,并复制本地的假的,它只是使用任何版本的机器了,但我得到当我做了一个错误 - “异常被抛出调用的目标。” 有没有办法 ..
发布时间:2015-11-26 10:38:15 C#/.NET

传递强类型的参数在.NET中COM互操作

我通过COM互操作暴露2 .NET类 - 假设Foo和酒吧,我需要Foo类型的参数传递给在酒吧定义的方法。事情是这样的: [标记有​​ComVisible特性(真) 公共类Foo { // 随你 } [标记有ComVisible特性(真) 公共类酒吧 { 公共无效方法(美孚FFF) { //做些事情FFF } } 当我运行下面的VBS( ..
发布时间:2015-11-26 10:37:25 C#/.NET

是不是可以注册一个.NET程序集的COM互操作而无需添加注册表项?

我通过部署一个点击VSTO .NET应用程序一次。该应用程序的主组件需要注册为COM Interop作为安装过程的一部分。我知道,这可以通过写code以执行“REGASM assembly.dll /证”来完成,但问题是,将安装我的应用程序的目标工作站没有管理权限,所以regasm失败时试图注册类型库。 我的问题是,我怎么可以登记自己的.NET程序集为COM互操作的时候,我没有管理权限? 解决 ..
发布时间:2015-11-26 10:37:01 C#/.NET

我的签名装配具有强大的名字从工作停止它

我的一位同事在VB.net通过COM互操作使用JScript使用而创建的组件。该组件采用做工精细,但我们签了字,现在似乎只工作在Windows 7计算机。我测试过2的Windows 7机器和2的Windows Vista的机器。 当我们签署了组装和我们尝试实例JScript中的ActiveX对象,则返回,没有消息,只有一些错误: 错误: 错误号:-2146234304 在谷歌搜索该错误 ..
发布时间:2015-11-26 09:59:22 C#/.NET

为什么在我的.NET组件的索引并不总是从VBScript访问?

我有我从VBScript(传统的ASP),通过COM互操作访问.NET程序集。一类有一个索引(又名默认属性),我得到了从VBScript通过添加下面的属性添加到索引工作: [DISPID(0)] 。访问类作为另一对象的成员时它在大多数情况下,但不是 我 怎样才能得到它的语法如下工作: Parent.Member(“钥匙”),其中成员有索引(类似访问的默认属性内置的的Request.QuerySt ..
发布时间:2015-11-26 01:06:40 C#/.NET

注册管理组件与COM不使用GAC

我想知道是否有可能注册COM组件,而不必与GAC注册。我们需要部署使用的是CCW接触到传统的ASP一些.NET库。但部署是一场噩梦。 解决方案 叶氏,使用 regasm.exe 与 / codeBase的键的。当您使用 regasm.exe 没有 / codeBase的只写了assmebly的文件名注册表和所以.NET运行时无法找到它,除非大会是在GAC。随着 / codeBase的将会写入的 ..
发布时间:2015-11-26 00:25:33 C#/.NET

如何包装一个本地.NET类的COM对象?

我使用的是一个广泛存在的COM API(可能是Outlook中,但它不是)的.NET(C#)。我已经通过添加在Visual Studio中的“COM引用”,使所有的“魔术”是在幕后做了这样做(即我没有手动运行 TLBIMP ) 虽然COM API现在可以从.NET使用的“容易”时,它是不很.NET友好。例如,没有泛型,事件很奇怪,喜欢的 一个简单的第一阶段可能是 命名空间Company.Pro ..
发布时间:2015-11-26 00:10:40 C#/.NET

如何获得COM对象的类型

我引用在Visual Studio中的COM库,所以它自动创建相应的Interop程序集我。我愿做一个的GetType()这些COM对象,但他们总是返回系统.__ ComObject 。查询它们的接口工作,但: 布尔isOfType = someComeObject是ISomeComObject; //这个工程 但我真正想要的是这回的COM对象的实际类型: 输入型= someComeO ..
发布时间:2015-11-25 23:35:39 C#/.NET

不能实例化净COM对象在传统的ASP / VBScript的页面(ASP错误0177)

我已经写了使用.net 3.5启用一个COM互操作类库在C#中。目的是为了提供一些实用功能为传统的ASP页面。我写了一个TEST.ASP网页,其中instanciates所需的对象,并调用它的方法。我的机器上运行良好。 在不同的机器(在Windows Server 2003 - 标准版),这是行不通的eventhough的部件正确注册regasm。我查了注册表编辑器,并AFAIK它看起来OK。 ..
发布时间:2015-11-25 15:52:57 C#/.NET

在web浏览器中的WPF中禁用上下文菜单

我有一个WPF应用程序,是要在一个小亭运行,带有触摸屏的PC上。该应用程序运行在全屏模式下,隐藏的操作系统。在我的网页我有一个WebBrowser控件,它允许用户查看某些网页(导航仅限于某些页面)。 由于计算机将被放置在一个公共点我不能让用户访问操作系统。关键是,触摸屏允许使用右键点击网页浏览器,并最终导致任务栏出现......不好..! 我一直试图禁用对过去的日子的上下文菜单中没有取得多大成功 ..
发布时间:2015-11-25 15:47:54 C#/.NET