问题标签 [comobject]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
718 浏览

windows - PowerShell,对象 = 启动进程?

您好我想启动没有扩展的 Internet Explorer 并控制它。(导航到其他页面,单击按钮等)

当我使用命令:“Start iexplore.exe -ArgumentList -extoff”时,我有没有扩展名的 IExplore,但没有对象。我需要该对象导航到不同的页面并单击按钮。“$ie = Start iexplore.exe -ArgumentList -extoff”不能使用命令“Start X”

下面的代码创建了一个 Com 对象,我想要的一切都是可能的,没有“Extensions = off”

  • $ie = New-Object -ComObject InternetExplorer.Application
  • $ie.Navigate("http://www.stackoverflow.com")
  • $ie.Navigate("www.Navigate to a other Page.com")
  • $ie.Document.getElementById("ButtonID")|foreach{
  • $_.Click()
  • }
0 投票
2 回答
2452 浏览

visual-studio-2010 - VS2010不会显示项目属性(“底层RCW”)?

只有有时(我还没有注意到模式),当我右键单击项目(各种类型的项目)并选择“特性”:

尝试加载页面时发生错误。 无法使用已与其底层 RCW 分离的 COM 对象。

我通常可以在重新启动 VS2010 后查看项目页面。我正在使用 RTM 版本。

什么会导致此错误?

0 投票
1 回答
9196 浏览

powershell - 从 Com 对象获取进程 ID

可以从这个新的 Com 对象 ($ie) 中获取进程 ID 吗?

0 投票
1 回答
866 浏览

internet-explorer - InternetExplorer Com 对象、getElementById、getElementsByName 和 getElementsByTagName

我想用 PowerShell 创建一个 webtest。目前,当我创建新的日历条目时,我遇到了 SharePoint 文本框的问题。该字段的属性是:

现在您可以看到,我没有可以使用的固定 ID。

是否可以搜索“Titel”一词并获得ID?

(标题=标题,因为它是德语;-))

以下代码不起作用。

Internet Explorer 中的源代码:

0 投票
1 回答
3012 浏览

php - 如何从 PHP 中的 COM 对象返回的多维变量数组中读取?

我正在使用一个返回多维 VARIANT 数组 (vt_array) 的 COM 对象,并且我正在尝试从数组中读取值。

当我使用print_r($mdArray)它时显示variant Object. (variant_get_type($mdArray)返回8204。)

我尝试使用foreach ($mdArray as $oneArray),但收到消息:

警告:Loader::getfields() [loader.getfields]:只能处理 C:\Inetpub\wwwroot\root\script\fileloader.php 中第 135 行的一维变量数组(此数组有 2 个)致命错误:未捕获的异常在 C:\Inetpub\wwwroot\root\script\fileloader.php:135 中带有消息“类型变体的对象未创建迭代器”的“异常”堆栈跟踪:#0 C:\Inetpub\wwwroot\root\script\fileloader .php(135): Loader::getfields() #1 C:\Inetpub\wwwroot\root\testloader.php(21): Loader->getfields() #2 {main} 在 C:\Inetpub\wwwroot\第 135 行的 root\script\fileloader.php

(foreach 循环在第 135 行)

我能得到的关于数组的唯一信息是使用count($mdArray)which returns 8

如果这里的任何人有任何阅读多维 VARIANT 数组的经验,请告诉我如何做到这一点。

0 投票
2 回答
682 浏览

activex - 调用 IDispatch::Invoke 时 IE9 RC 崩溃

我有一个在 IE6、7、8 和9 Beta上运行的工作代码,但在 IE9 RC 上崩溃。我可以看到网页正在成功使用 ActiveX 的界面,但是当我尝试从 ActiveX 调用 IDispatch::Invoke 时,ActiveX 崩溃了。

我的应用程序由 CHtmlView(IE 容器)、网页(GUI)和 ActiveX(应用程序本身)构成,我看到网页成功使用了 ActiveX 的界面,但是当我尝试将数据发送回网页时,我崩溃了。

调试代码后(vs2005 c++)我发现所有的IDispatch函数都会导致崩溃,但是这种行为只在RC版本中重现,我们的产品已经运行了大约3年没有问题,现在每个升级到RC的客户端不能再使用我们的产品了。

是否有任何变化会导致这种行为?根据在线文档,我找不到任何东西。谢谢。

0 投票
2 回答
136 浏览

c# - COM 协同对象和接口 C#

我对此完全陌生,正在关注 msdn 上的教程:http: //msdn.microsoft.com/en-us/library/aa645736 (v=vs.71).aspx#vcwlkcominteroppart1cclienttutorialanchor2

我的问题是为什么我们使用 COM 接口COM CoClasses?实例化 COM CoClass 的实例似乎很奇怪,实例化一个新对象,它是旧对象但被转换为 COM 接口。

我真的只是想掌握这里的意识形态......任何帮助都是有用的。

0 投票
1 回答
2518 浏览

c# - InternetExplorer 被设置为 __ComObject 而不是 SHDocVw.InternetExplorer

我在 SHDocVw.dll 中遇到 InternetExplorer 问题。我也引用了 mshtml.tlb (在谷歌搜索时,我确实阅读了 1 条评论说我应该引用 mshtml.dll ,但这不能在Microsoft Visual Studio Express中完成,我不知道这是多么真实)。这是一个对我不起作用的最基本形式的小功能:

问题是当我创建 IEObj 实例时,它被认为是 typeSystem.__ComObject而不是SHDocVw.InternetExplorer,并且所有子部分也是 type System.__ComObject。当我尝试以下任何陈述时...

...我不断收到相同的错误消息:

无法将类型 'System.__ComObject' 隐式转换为 'System.Windows.Forms.HtmlElement' (显然转换为的类型不同IEObj.Document)。

我是 c# 的新手(来自 VBA,所以我熟悉编程),但是在 VBA 中,等效项可以完美地工作,而无需以任何方式进行转换。

是我做错了什么吗?如果这是我创建的对象,以下是(大致)我用来测试函数的代码:

我真正想做的就是锁定各种元素,以便我可以在文本框中输入文本、单击按钮等。我还需要能够使用 Document 变量(如Document.Body.InnerHtml等)。整个项目就是一堆函数,包含在一个DLL中,供其他项目引用。

0 投票
6 回答
8008 浏览

c# - 如何从 webbrowser 控件中获取 onclick 中的实际 JavaScript 值?

我正在寻找一种方法来获取在 onclick 中定义的 JavaScript 代码。我正在使用 .NET 2.0 C# Visual Studio 2005。

例子:

我的目标是获取字符串"window.location.href='someURL'"

设想:

用户在 WebBrowser 控件内单击网页元素,例如上面显示的标记。然后点击的标签被引用到 H tmlElement object

然后在我调用的 WebBrowser 控件HtmlElement object's getAttribute("onclick")中,它只给了我“ System.__ComObject”。

我已经搜索了如何处理它然后发现它可以被铸造然后获得价值。

输出:

如图所示,span.onclick 仍然给我 System.__ComObject,我做错了什么?

为什么 HtmlElement 的 GetAttribute() 方法返回“mshtml.HTMLInputElementClass”而不是属性的值? 这家伙说它在他的情况下有效,我已经按照它,但我的有点不起作用......

更新

研究,研究……

我可以将引用 VisualBasic.dll 添加到我的 C# 项目中,然后调用该方法来找出这个 System.__ComObject 到底是谁。

输出:

看起来这是一个 JScript 类型......我怎样才能访问这个对象?

更多详情

以上描述基于我目前的项目。该项目是创建类似 Selenium IDE 的东西。它改为使用 WebBrowser 控件。

Selenium IDE 创建了 3 种不同的东西来记录 Web 文档中的元素。

例如,

Selenium IDE 识别页面加载,因此它在"click"和之间更改 actionType "clickAndWait"。我的情况,我想让它变得简单。

如果我单击该元素并且如果它是anchor tag或具有页面加载类型的 javascript,onclick=window.location.href='blah'那么我想将 actionType 设置为"clickAndWait".

0 投票
4 回答
5629 浏览

com - Regsvr32 奇怪的行为 => Regsvr32 没有给出任何成功或失败的信息

我有一个 directShow 过滤器:MyFilter.ax

当我尝试使用 Regsvr32 实用程序注册 MyFilter.ax 时,它不会给出错误或任何消息(成功或失败)。但过滤器未注册。

Regsvr32 实用程序适用于我的其他过滤器。

为什么 Regsvr32 deoes 没有给出任何成功或失败消息?如何调试我的 Regsvr32 失败-成功?注册directshow过滤器的任何替代实用程序可能会提供有意义的消息?

最好的祝愿

更新:

我在虚拟机上安装干净的 win7 操作系统。然后尝试注册。在没有来自 regsvr32 的消息响应的情况下再次失败。

但是然后在虚拟机上再次安装一个干净的win7操作系统。然后进行所有更新。在我进行更新 regsvr32 工作并安装我的过滤器之后....我不知道是什么原因导致 regsvr32 失败以及什么样的更新可以修复它。还是真的是更新问题...