Tag: ole

为什么这个C#COM类可以从VBScript而不是JScript中使用?

考虑下面给出的C#中与自动化兼容的COM库。 它遵循一个共同的COM模式,即具有可见的工厂coclass FooFactory实现ICreateFoos,它创建一个IFoo类型的对象。 FooFactory是类型库中唯一的 coclass。 (工厂模式对COM特别有用,因为它不允许参数化构造函数)。 在下面的代码中,我发现我无法从jscript访问返回的IFoo接口, 除非我使FooImpl类变为ComVisible (通过取消注释注释行;这会导致它在类型库中显示为coclass)。 从VBscript访问它没有这样的问题 。 也就是说,我可以运行这个VBScript: set ff = CreateObject(“jstest.FooFactory”) set foo = ff.CreateFoo(0) foo.Foo 但这个function相同的 JScript失败,错误“C:\ temp \ jstest \ jstest.js(4,1)Microsoft JScript运行时错误:’foo’为null或不是对象”: var ff = new ActiveXObject(“jstest.FooFactory”); var foo = ff.CreateFoo(0) //WScript.Stdout.WriteLine(null==foo) foo.Foo(); 如果我取消注释该行,我可以看到null == foo为false。 为什么会这样? 这是一个错误吗? 请注意,我认为这是一个问题,是JScript和C#/ .net特定实现(可能是IDispatch)的组合,因为我有其他类似的COM服务器 – 用C ++实现 – 不会从JScript中出现这个问题。 如果我在下面的代码中取消注释注释行,使得FooImpl作为coclass可见,那么问题就会消失 – 但我特别不希望这样做,因为我不想暴露实现细节。 […]

如何使用c#连接到Internet Explorer的打开窗口?

你可以在C#程序中使用COM / OLE连接到正在运行的Internet Explorer实例吗? 理想情况下,我想找到在IE中打开的所有网页的url。

从.NET中的MS Access数据库读取OLE映像时出现ArgumentException

我试图从Access数据库中读取图像。 它读取字节但是当我尝试使用Image.FromStream时它会给出一个未处理的System.ArgumentException。 这是我的代码: private Image ReadImageFromDB() { Image fetchedImg; if (rownumber >= 0) { byte[] fetchedimgbytes = (byte[])localDataTable.Rows[5][“Object”]; MemoryStream stream = new MemoryStream(fetchedimgbytes); fetchedImg= Image.FromStream(stream); return fetchedImg; } else { MessageBox.Show(“no image”); return null; } }

从C#开始,打开一个任意应用程序

相关问题[stackoverflow] 在这里 。 我正在努力做到这一点,但我想更进一步。 我想使用文件类型的默认编辑器打开任意文件。 从那时起,我希望允许我的用户像往常一样与文件进行交互,或者继续在我的应用程序中工作。 扩展名是用户完成编辑后发生的事情。 有没有办法可以从外部应用程序捕获一个close(并且理想的保存)事件,并将其用作触发器来执行其他操作? 就我的目的而言,跟踪外部应用程序的关闭就行了。 我可以在具体情况下这样做。 例如,我可以从我的应用程序中打开Word实例并跟踪我的应用程序感兴趣的事件。 但是,我想将我的应用程序与Word分离。我希望允许我的用户使用他们选择的任何文档编辑器,然后在后台管理正在编辑的文件的存储。

如何在OpenOffice中进行简单的邮件合并

我需要在OpenOffice中使用C ++,VBScript,VB.Net或C#通过OLE或本机API进行简单的邮件合并。 有没有好的例子?

将System.Drawing.Bitmap转换为stdole.StdPicture

我当前有一个System.Drawing.Bitmap,我需要将其转换为stdole.StdPicture。 目前我正在使用: var pic = (stdole.StdPicture)Microsoft.VisualBasic.Compatibility.VB6.Support.ImageToIPicture (MyDLL.Properties.Resources.Img); // this is a System.Drawing.Bitmap 但我得到一个编译器警告: 警告’Microsoft.VisualBasic.Compatibility.VB6.Support.ImageToIPicture(System.Drawing.Image)’已过时:’“Microsoft.VisualBasic.Compatibility。*类已过时,仅在32位进程中受支持.http:// go。 microsoft.com/fwlink/?linkid=160862 那么使用什么呢? 我还没找到另一个解决方案……

构建与COM引用(版本1.0类型库)和VS 2010相关的警告

我刚刚完成了从Visual Studio 2008到Visual Studio 2010的一系列C#项目的重组和升级。此外,所有项目都更改为以.NET 4.0运行时为目标。 一切都成功构建但是,我现在得到一堆与我的应用程序所依赖的COM引用相关的警告。 其中一个警告如下。 每次构建解决方案时,我都会收到类似于下面的100个警告。 Warning 60 Type library importer encountered a property getter ‘ClearTopCardQue’ on type ‘FuelDirectOLETLB.FuelDirectOLE’ without a valid return type. The importer will attempt to import this property as a method instead. c:\Windows\Microsoft.NET\Framework\v4.0.30319\Microsoft.Common.targets 1558 9 FDServer 我已经打电话给第三方供应商创作了我引用的对象无济于事。 他们建议我确保我的目标是x86。 他们还说我应该能够针对任何版本的.NET运行时构建我的项目。 就个人而言,我怀疑它与我在Visual Studio 2010 / .NET Runtime 4.0中引用版本1类型库的事实有关,而在我构建VS 2008 / […]

从MS Access转换OLE图像对象以在.NET中使用

我正在努力将基于Access的系统重新开发到c#.net,但是当MS从办公室2003到办公室2007时,他们删除了访问中的图片编辑器 – 这意味着之前存储的图片将不再显示在系统中。 该公司的人做了一个黑客,基本上使用excel在后台保存图像(如果你需要,我可以获得更多信息)但基本上它意味着仍然可以使用访问图像控件(对象绑定帧)。 但是,我现在遇到了尝试在.NET应用程序中显示这些问题的问题,经过无数天尝试操作字节数组的不同方法后,我接近放弃了。 我尝试了至少8个不同的建议解决方案,每个解决方案在执行Image.fromStream()时以“参数未识别”exception结束。 下面是迄今为止让我最接近的代码: private void imageExtractTest() { LogOnDataSetTableAdapters.QueriesTableAdapter qa = new LogOnDataSetTableAdapters.QueriesTableAdapter(); object docO = qa.GetLogonImage(); if (docO == null || !(docO is byte[])) { return; } byte[] doc = (byte[])docO; MemoryStream ms = new MemoryStream(); ms.Write(doc, 0, doc.Length); int firstByte; int secondByte; ms.Seek(0, SeekOrigin.Begin); firstByte = ms.ReadByte(); secondByte = ms.ReadByte(); […]

用于.NET的OLE容器

我正在开发一个项目,要求我加载一个OLE对象并在.NET WinForm应用程序(C#)中呈现它。 与VB6 .NET不同,它没有内置的OLE容器,推荐的方法是使用支持显示ActiveX内容的WebBrowser控件。 我遇到的问题是有问题的OLE对象的提供者没有可用的ActiveX控件。 简单地说有没有办法将OLE对象加载到WinForm上? 或者我需要编写一个加载OLE对象的ActiveX控件吗? 如果是后者,有没有人有这样的例子或推荐的阅读材料? 干杯, 渣。

如何在C#或Perl中以编程方式打开并将PowerPoint演示文稿另存为HTML / JPEG?

我正在寻找一个代码片段,它可以做到这一点,最好是在C#甚至Perl中。 我希望这不是一项大任务;)