Articles of activex

如何检测一个特定的软件是否安装在Windows中?

我是编程新手。 我有一个虚拟的会议网站。 现在我需要修改网站。 用户login会议网站时,必须检测自己的系统是否安装了特定的软件(该软件用于进行video通话,使用ActiveX对象)。 哪种方法可以检测系统中已安装软件的存在? (坦率地说,我甚至不知道哪种语言最能达到目的)

如何使用WMI枚举所有ActiveX元素?

是否可以使用WMI脚本枚举所有(或仅启用)ActiveX元素(* .dll,* .ocx)? 动机: ActiveXHelper

Windows上的“Temporary Internet Files”文件夹

我的Java程序需要删除由程序创build的“Shell.Explorer.1”ActiveX控件创build的临时Internet文件。 什么是最好的方法来做到这一点? 如果我转到Internet Explorer中的工具 – > Internet选项,单击常规选项卡上的浏览历史logging设置button,然后单击查看文件button,它使用Windows资源pipe理器将我带到此文件夹: C:\Documents and Settings\<user-name>\Local Settings\Temporary Internet Files 然后我看到“文件”列表,虽然我不确定它们是否是文件。 如何使用Java删除这些内容? 但是,当我调用file.listFiles() ,其中file是上面列出的目录,我没有看到我在Windows资源pipe理器中看到的任何文件。 我看到我认为是一些隐藏的文件夹。

从.NET注册免费激活本机COM(activex)组件

我有一个本地dll(这是一个ActiveX控件),我需要使用我的.NET应用程序,而不必注册该DLL在registry中。 我已经阅读了几个关于注册免费激活的深度post,其中一些更好 史蒂夫·怀特(Steve White)和莱斯利·穆勒(Leslie Muller) 这个从塞缪尔杰克 另一个来自Mike Makarov 从我所能看到的是可能的。 然而,几个小时和几百个testing后,我只是不能得到它的工作。 在我的职业生涯中,我已经做了一些PInvoking,甚至在.NET中使用ActiveX控件,所以如果任何人有任何可能在此之前踢过目标的意见,我会很感激。 到目前为止,我遵循Steves的build议,就构build一个可以工作的应用程序而言,然后试图通过反复运行regsvr32命令来添加和删除registry中的非托pipeDLL来制定获胜的清单文件语法。 只是一个简单的.Net控制台应用程序与约10行代码… 我感到困惑的一个部分是互操作性。 本机DLL的我也与托pipe运行时可调用包装(RCW的)。 在我的.NET应用程序中,我添加了对这些RCW的引用,然后可以使用非托pipedll提供的相应类和function。 我不是通过dllimport PInvoking。 在创build清单文件时,我不确定是否需要担心这些RCW以及它们如何在免注册的情况下工作,或者即使它们需要在编译的输出中。 我也尝试过几种工具,比如(OLE / COM对象查看器,Windows SDK中的Mt.exe和codeproject中的regsvr42)。 但是清单结构和必要的GUID在工具和post之间都是不同的。 当前状态是我收到一个InvalidCastException “无法将typesSystem .__ ComObject的COM对象转换为MyFunkyDllLib.FunkyDllControltypes的接口。此操作失败,因为IID'{某种guid}'接口的COM组件上的QueryInterface调用失败到以下错误:库未注册。 任何人都可以确认应用程序和dll清单文件的正确语法? 在线职位甚至不同的名称与一些使用sxs的名字…. 更新1:虽然乔的回答下面没有工作,它给了我一些更好的见解免费的COM。 在Interop dll(从开发机器上已安装的COM组件列表中添加到项目引用中)的属性中,我将Isolated属性更改为True。 这使VS转储COM DLL的副本(而不是互操作,它被embedded在EXE)的bin \ debug文件夹的效果。 VS也会创build一个myapplication.exe.manifest。 在这个清单文件被认为是足够的信息reg免费com。 我发现其他职位表示成功与此方法,但在我的情况下,我仍然结束了相同的InvalidCastException 。 再读一遍塞缪尔·杰克斯(Samuel Jacks)的post,我尝试了在Isolated=true时使用VStudio输出清单中的clsid信息创buildexe和COM DLL的清单。 (我也从exe.manifest中删除了由VS创build的<file/>部分)。 注销registry后,我现在已经成功! 应用程序启动并不会出错。 为什么这种方法有效,而不是Isolated=true我不知道,因为它超出了我对舱单和集会的知识。 不过我们还是不在托奇城堡呢。 现在我回到我在这个线程上发布的同一个问题。 但是在这种情况下unit testing不涉及。 只是一个简单的控制台应用程序与10行代码。 在正常的注册COM模式下工作正常,但不处于免注册模式。

如何扩展CAxHostWindow?

ATL用于COM ActiveX托pipe的标准类CAxHostWindow不支持接口IDocHostUIHandler2。 我如何扩展CAxHostWindow类为IDocHostUIHandler2支持?

ActiveX,安装不起作用

我想创build和部署一个ActiveX插件,一些小小的东西。 我只想显示一个消息框。 我已经为它创build了一个库项目并将其编译到一个DLL中。 当我通过命令行( regasm )在一台机器上注册dll时,该插件工作。 所以我现在需要创build一个安装程序,把它放在一个CAB文件并签名。 我已经安装了Visual Studio 2008来使用安装项目项目(但是如果有人可以解释怎么做的话,我可以使用2010年以后的InstallShield)。 我将我的DLL添加到应用程序文件夹,并将其标记为Register = vsdrpCOM ,我build立它,我得到.msi和.exe。 我想我只需要msi文件,而不是exe。 我用下面的内容创build了一个setup.inf文件: [version] signature="$CHICAGO$" AdvancedINF=2.0 [Setup Hooks] hook1=hook1 [hook1] run=msiexec.exe /i "%EXTRACT_DIR%\ActiveInstaller.msi" /qn 要生成.cab文件,我使用makecab / f build.ddf命令。 这是我的.ddf文件: .Set DiskDirectoryTemplate=; .Set CabinetNameTemplate=ActiveInstaller.cab ../ActiveInstaller.msi ../setup.inf 这生成了cab文件。 现在我需要签字。 目前,我使用自己签署的证书,我生成并安装在我的电脑(当我检查标志的文件,窗户说它是安全的)。 我使用另一个命令行是signtool signwizard (我也尝试从这里手动签名)。 然后文件签名,我上传到我的网站,我启动网站,我提示安装插件,我安装它。 但是,这不起作用,我不知道为什么。 我已经尝试了很多东西,包括不同的安装程序,不同的选项,不同的inf文件,不同的签名方法等等。 我发现的唯一的教程至less三岁,我不知道自从他们写了什么以来有什么改变。 以下是我使用的主要链接: http : //blogs.msdn.com/b/asiatech/archive/2011/12/05/how-to-develop-and-deploy-activex-control-in-c.aspx和另一个http://www.codeproject.com/Articles/24089/Create-ActiveX-in-NET-Step-by-Step scheme: 所以,Pepo说的一切都是真实的,所以我把他的答案标记为接受。 我也在这里find了整个源代码(包括如何创build运行msi的.exe)的人。

一个activex控件和一个activex对象有什么区别?

“ActiveX控件 – 小程序构build模块 – 可以用来创build分布式应用程序,这些应用程序可以通过networking浏览器在互联网上运行,例如定制的应用程序,用于收集数据,查看某些types的文件以及显示animation。 (维基百科) 是一个对象的一个​​控件的实例?

如何使用Python脚本编写一个OLE组件?

我想用Python来编写一个应用程序来宣传自己提供一个OLE组件。 我该如何开始? 我还不知道我需要调用什么方法来访问我将要访问的组件。 我应该使用win32com加载这些组件,然后开始按IPython中的“选项卡”?

从浏览器启动一个exe(Windows)

我需要从浏览器(不只是IE)启动已安装的应用程序。 从这个线程我明白,我需要实现asynchronous可插拔协议和注册应用程序到urischeme 。 我想检查是否有其他的方法来实现它? 在我的scheme中,我期望从客户机启动一个现有的应用程序。 那么我可以注册这个应用程序到urischeme并使用它。 我唯一担心的是在两种情况下(或者至less在第二种情况下),我们必须对registry进行更改。 如果registry设置不存在,这将无法正常工作。 有没有其他方式不依赖于registry设置或任何先决条件。 谢谢。

如何在Chrome中启用ActiveX?

我读过早期版本的Chrome支持的ActiveX,但后来被限制在特定的MIMEtypes(支持Windows Media Player)。 然后我读谷歌是要严格为韩国市场启用ActiveX。 我如何(重新)在Chrome中启用它? 我们基于networking的产品依赖第三方的ActiveX控件来播放自定义video。 这限制了我们到IE。 我们也很乐意支持Chrome,但是觉得不可能没有ActiveX支持。