Tag: activex

使用Javascript ActiveX对象触发C#dll

我有一个需要用Javascript调用的#class库。 下面是C#类的代码。 using System; using System.Collections.Generic; using System.Text; using System.Runtime.InteropServices; using System.Windows.Forms; //required for message box. namespace csharp.activex.sample { [Guid(“0D53A3E8-E51A-49C7-944E-E72A2064F938”), InterfaceType(ComInterfaceType.InterfaceIsDual), ComVisible(true)] public interface IHello { [DispId(1)] int ShowDialog(); }; [ Guid(“873355E1-2D0D-476f-9BEF-C7E645024C32”), ProgId(“csharpAx.CHello”), ClassInterface(ClassInterfaceType.None), ComDefaultInterface(typeof(IHello)), ComVisible(true) ] public class CHello : IHello { #region [IHello implementation] public string Hello() { return “Hello from CHello object”; […]

ActiveX初始化:AxHost.State对象

我正在尝试使用WinFormsHost-Control将Unity3D-ActiveX控件嵌入到WPF表单中。 实际上它在VS的属性窗口中设置路径时效果很好,但是在我的代码文件中设置它时它不会加载任何东西。 这是一个已知的控件问题,但我想我可以简单地复制表单设计器的创建代码并手动初始化它。 在查看初始化代码时,我注意到代码中没有src属性,但属性在属性窗口中使用。 手动设置属性不起作用(抛出错误)。 经过一些测试之后,我决定检查src属性的孔组件,但是src属性从未设置过,我甚至找不到路径的字符串。 最后的想法 我注意到src-path所在的位置只有一个:窗口表单设计器生成的资源,它是AxHost.State -type的一个对象。 题 如何创建一个有效的AxHost.State对象来初始化应该加载我指定的Unity3D文件的Unity3D-ActiveX控件?

ActiveX VLC播放器事件不起作用

我已将ActiveX VLC pligin合并到WPF应用程序中 。 VLC插件工作正常。 AxVLCPlugin vlc = new AxVLCPlugin(); vlc.MediaPlayerEncounteredError += vlc_MediaPlayerEncounteredError; vlc.MediaPlayerOpening += vlc_MediaPlayerOpening; vlc.MediaPlayerBuffering += vlc_MediaPlayerBuffering; vlc.MediaPlayerEndReached += vlc_MediaPlayerEndReached; // // Other code // like windowsFormsHost1.Child = vlc; and etc vlc.addTarget(videoURL, null, AXVLC.VLCPlaylistMode.VLCPlayListReplace, 1); vlc.play(); 但是一些VLC的所有事件根本不起作用。 我的意思是这些事件: vlc.MediaPlayerEncounteredError += vlc_MediaPlayerEncounteredError; vlc.MediaPlayerOpening += vlc_MediaPlayerOpening; vlc.MediaPlayerBuffering += vlc_MediaPlayerBuffering; vlc.MediaPlayerEndReached += vlc_MediaPlayerEndReached; void vlc_MediaPlayerEndReached(object sender, […]

在Windows应用程序中实现VLC播放器:以编程方式注册ActiveX组件

我使用以下指南在我的Windows应用程序中实现VLC播放器: http://www.codeproject.com/Questions/163016/How-to-embed-VLC-control-in-c-net-windows-applicat (见评价最高的答案) 在指南的第2步,它说我必须注册ActiveX组件: regsvr32 “D:\Program Files\VideoLAN\VLC\axvlc.dll” 如何在软件中以编程方式执行此操作,以便用户不必执行此操作? 我不确定如何在这里继续。 谁能帮我?

ActiveX DLL错误

好的,虽然我从未想过在2012年我会编写我的第一个ActiveX控件(是的,这是有充分理由的)我正在努力让它在Windows 7(x64)下运行。 解决方案简短的故事:我从一些我的regasm调用中丢失了/ codebase,并且混合了32位和64位进程,但标准的VS2010命令提示符混合使用regasm和cscript的32位和64位路径没有帮助。 长篇故事如下: 我一直在弹跳 使用C#在.Net中创建ActiveX控件 ( 哎呀我有错误的链接..虽然看起来我最初提供的链接是有人复制原始博客页面) 使用C#在.Net中创建ActiveX控件 和 C#ActiveX控件(CSActiveX) 我似乎正在成功构建项目(对于后者,我必须将资源编译器位置更改为正确的位置)。 对于我使用建议的安装程序的第一个项目,对于第二个项目,我试图直接使用regasm。 但在此之后,一切都在下山。 我尝试注册所有的,但要么: 我不知道我应该如何注册它们,或者: 我不知道我应该如何注册它们。 我的测试用例是一个包含的简单JScript文件 var x = new ActiveXObject( “name of object” ); 哪个失败了,错误: test.js(1,1)Microsoft JScript运行时错误:Automation Server无法创建对象 我不确定这是一个权限问题,还是32对64位问题或组合。 许多提供ActiveX帮助的网站假设您将通过网页访问它,所以我尝试查看IE权限(即使我想将控件加载到第三方程序中)。 我知道如果我使用’framework’或’framework64’版本的regasm我可以控制注册表项中的位置 – 我已经看到一些引用运行cscript作为32位或64位(这可能会影响到搜索注册表)取决于调用的cmd shell(我尝试了两种方式,以及尝试“管理员”shell)。 所以基本上在这一点上我不知道我在做什么或者我应该做什么。 我的目标是在Windows 7 x64上注册ActiveX控件,并使其能够通过以下方式加载: 从默认Windows命令提示符运行的测试.js脚本 将相同的控件加载到Excel 2007 VBA之类的内容(仅用于测试) 将控件加载到第三方应用程序(来自Rockwell的RSView Studio)并将其托管在VBA应用程序中(我需要检查这是32位还是64位程序..我怀疑前者) 笔记 对于使用安装程序的项目(使用C#在.Net中创建ActiveX控件),它将代码安装到“c:\ program Files(x86)\”中,并使用regedit查找“Computer \ HKEY_CLASSES_ROOT \ […]

访问c#中的内存地址

我正在连接一个ActiveX组件,它给我一个内存地址和字节数。 如何编写一个C#程序来访问从给定内存地址开始的字节? 有没有办法本机化,或者我将不得不与C ++接口? ActiveX组件和我的程序共享相同的内存/地址空间吗?

从/向C#(非C)COM组件加载和传递JScript数组

我已经看过jscript数组的教程,但还没有看到它。 我看到类似的问题,但涉及Win32代码而不是.NET。 想知道,如何在JScript和C#COM组件之间来回传递数组? 例如,我在C#COM中定义了两个属性,它们返回字符串和整数数组: string[] HeaderLines { get; set; } int[] ImagePixels { get; set; } 在我的test.js文件中: … var T = new ActiveXObject(“Imager.Reader”); … var headerLines = T.HeaderLines; WScript.StdOut.WriteLine(“First HeaderLine:” + headerLines[0]); var pixels = T.ImagePixels; WScript.StdOut.WriteLine(“First Pixel: ” + pixels[0]); 错误是写出headerLines [0]的地方:C:\ temp \ test.js(12,1)Microsoft JScript运行时错误:’headerLines.0’为null或不是对象 如果我删除test.js中的headerLines,那么我得到这个错误(基本上相同但是对于整数数组):C:\ temp \ test.js(12,1)Microsoft JScript运行时错误:’pixels.0’是null或不是对象 我可以从非数组属性获得结果,也可以将值传递给其他方法,但不能传递给数组。 我还需要将字符串和整数数组传递到我的C#COM组件中定义的方法中: bool […]

如何在PC上安装Adobe Flash播放器时检查我的应用程序?

我的应用程序需要Adobe Flash Player正常运行,我需要它来检查它是否已安装。 那么如何让我的应用程序检查是否在PC上安装了Adobe Flash Player? 我的程序是用C#编写的

如何设置ActiveX控件名称

我有一个ActiveX控件,并且已经使用测试证书对其进行了签名,但每个工作正常但问题是我的Internet Explorer显示了一条丑陋的消息 该网站希望运行以下附加组件:“控制名称不可用”中的“不可用”,如果您信任该网站和加载项并希望允许其运行,请单击此处…. 为什么控件名称不可用? 我在C#中创建了这个ActiveX控件,并在我的assemblyInfo.cs中添加了ComVisible属性,这里是代码 using System.Reflection; using System.Runtime.CompilerServices; using System.Security.Permissions; using System.Runtime.InteropServices; // // General Information about an assembly is controlled through the following // set of attributes. Change these attribute values to modify the information // associated with an assembly. // [assembly: System.Runtime.InteropServices.ComVisible(true)] [assembly: AssemblyTitle(“My ActiveX Control”)] [assembly: AssemblyDescription(“My ActiveX Control Description”)] [assembly: […]

如何使用兼容javascript的跨浏览器创建,保存txt文件

你知道在客户端用javacript创建和保存文件的任何跨浏览器方法吗?! 注意事项: 无法将其保存在服务器中,因为该文件将从财务打印机读取。 服务器无法访问客户端,这很明显,因为我们正在谈论Web中的Web应用程序。 因此服务器无法访问客户端文件夹。 新的ActiveXObject(“Scripting.FileSystemObject”); 仅适用于IE,甚至在IE中也不适用于所有版本。 我们正在谈论在财务打印机上打印,所以我不能要求超市的收银员下载文本文件并将其保存在财务打印机可以读取的文件夹中。 如果不是javascript,我还可以在asp .net 4.0 c# web应用程序中使用什么?