Tag: activex

从Console或Windows服务以编程方式创建Windows会话

如何以编程方式登录到Windows以创建Windows登录会话? 我需要一种适用于WinForms应用程序,来自Console应用程序以及(最重要的)来自Windows服务的方法。 另一个要求是我需要它来运行程序/服务运行的本地系统以及远程系统。 如果有办法使用pInvoke / Win32 API执行此操作,我也会对此持开放态度。 我在研究中发现了类似的问题/答案: 以编程方式创建和启动RDP会话(没有gui) 这里的答案说它是可能的但是提供了一个链接,但链接中的示例代码不起作用 通过Win32 API从服务创建Windows会话 没有解决问题的方法 以编程方式创建Windows会话 没有解决方案,但在http://freerdp.com为他工作的评论中提到了OP。

没有表单的ActiveX控件

我们需要使用第三方ActiveX控件。 唯一的问题是,我们软件中的图层是业务层,无法访问窗口或表单。 它还运行在不是STA的单独线程上(并且应该可以在任何线程中工作)。 我们使用此解决方法使其工作,而不是将UI与业务逻辑分开。 Thread thread = new Thread((ThreadStart) delegate { _myActiveX = new MyActiveXType(); _myActiveX.CreateControl(); //more initialize work Application.Run(); }); thread.SetApartmentState(ApartmentState.STA); thread.IsBackground = true; thread.Start(); 然后,只要我们需要引用控件,我们就会调用_myActiveX.BeginInvoke()或Invoke() 。 在处理这个类(退出我们的应用程序)时,我们处理控件并中止线程。 我的问题是,这有什么问题吗? 有没有更好的方法来处理这个? 是否有更好的内置方法可以在未知的multithreading环境中使用ActiveX控件? 我们试图以包装控件的方式编写我们的类,但是可以在任何线程中工作。 更新:作为一个答案建议,我们真的宁愿使用标准的COM对象,而根本不使用控件。 我们的问题是我们会在我们调用COM对象的第一个方法或属性上得到错误“(来自HRESULT的exception:0x8000FFFF(E_UNEXPECTED)”。这是一个非常一般的错误,我们在使用ActiveX时没有得到这个错误, 有任何想法吗? 更新:我们的ocx是“CX25.ocx”,使用tlbimp.exe我们得到CX25Lib.dll。 使用aximp.exe,我们得到AxCX25Lib.dll和CX25Lib.dll。 在任何一种情况下CX25Lib.dll都不起作用。 AxCX25Lib.dll可以使用。

C#UDP套接字客户端和服务器

我的第一个问题。 我是这种编程的新手,我只编写了.NET网站和表单。 现在,我工作的公司,要求我制作一个ActiveX组件,它监听UDP消息,并将它们变成事件。 UDP消息是从Avaya系统发送的,所以我被告知要测试我的ActiveX,首先我需要创建一个只发送UDP的应用程序(只有一个发送预定义UDP字符串的按钮)。 然后创建监听器套接字,普通的C#app,它将从测试应用程序获取那些传输的UDP字符串。 两个应用程序都可以在同一台机器上运行 后来,当我得到这个工作时,我需要使监听器成为一个ActiveX组件,但首先要做的事情。 我需要知道是否有关于此的任何好的教程,以及如何开始的任何想法? 我很抱歉我的无知,但我真的很新,我真的没有时间学习这个,因为它必须在2周内完成。 提前致谢。 编辑:我设法创建了2个简单的控制台应用程序,并成功地在它们之间发送UDP消息。 发送方仅用于测试,现在我需要重新设置接收方以获取UDP消息并将其“转换”为事件。 最后,使其成为ActiveX控件……

在CAB中部署C#ActiveX以供Internet Explorer使用

我正在拼命尝试将用于在C#中开发的IE的ActiveX部署为CAB存档。 我已经阅读了很多资源(其中一些来自StackOverflow),看起来很多人都遇到了同样的问题。 我尝试了3个解决方案:a)创建CAB VS项目,b)使用CABARC手动创建CAB,在INF中注册COM,c)手动创建CAB并启动msiexec 。 他们都没有工作。 我甚至尝试过d)创建一个启动msiexec的引导程序无济于事(因为有人建议只在Vista上启动msiexec无法工作)。 我正在运行Windows Vista,但我的项目甚至无法在XP上的IE6上运行。 当我使用MSI安装ActiveX时,所有Windows都可以。 显然CAB的东西不起作用,我找不到调试整个过程的正确方法。 任何帮助表示赞赏。

如何点击时用JavaScript编写用ActiveX编写的ActiveX控件?

我已经在SO上看到了一些与此相关的问题,但我认为我的情况有所不同,不能被视为重复(如果我错了,请告诉我)。 我有一个用C#编写的ActiveX控件,虽然我主要使用它,但我想在点击时用JavaScript引发一个事件(它显示一个图像,因此它是页面上的一个可视元素)。 我想要完成的最终目标与标签没有什么不同,并且当点击标签区域时它有一个onclick事件来引发JavaScript函数。 我读过的大部分内容都详细介绍了如何处理ActiveX控件中的事件并来回发送信息,这很好,但看起来过于复杂。 我不打算与ActiveX控件进行通信,我只需要一个JavaScript函数,当我点击它时,它会以类似于或 标签的方式启动。 我可以用JavaScript处理其他所有内容。 简单地使用onclick事件将控件包装在或 无效 – ActiveX控件几乎覆盖了它。 是否有一种简单的方法来处理用C#编写的ActiveX控件? 我想另一种方式是 – 我正在使用第三方控件,我们必须使用类似于以下的代码来通过JavaScript与我们的HTML页面进行通信 其中AXObjectName是控件的名称/ id,而AXObjectName_OnMouseClick是JavaScript函数的名称,它将在我的代码中触发,传递一个index参数。 但是,在控件中设置像OnMouseClick这样的方法我需要做些什么呢? 如果我不想传递任何实际信息(即没有index ),我甚至不得不走这么远吗?

阻止.NET WebBrowser控件中的对话框

我有一个.NET 2.0 WebBrowser控件,用于导航一些没有用户交互的页面(不要问……长篇故事)。 由于此应用程序的用户性质较少,我已将WebBrowser控件的ScriptErrorsSuppressed属性设置为true,VS 2005状态中包含的文档将“隐藏其源自底层ActiveX控件的所有对话框,不只是脚本错误。“ 但是, MSDN文章没有提到这一点。 我已经设法取消了NewWindow事件,这会阻止弹出窗口,因此需要处理。 任何人都有使用其中一个并成功阻止所有对话框,脚本错误等的经验? 编辑 这不是IE的独立实例,而是生成在Windows窗体应用程序上的WebBrowser控件的实例。 任何人都有使用此控件或底层AxSHDocVW的经验吗? 再次编辑 对不起,我忘了提这个……我试图阻止一个JavaScript警报() ,只需一个OK按钮。 也许我可以转换成IHTMLDocument2对象并以这种方式访问​​脚本,我已经使用过MSHTML了,有人都知道吗?