问题标签 [com-object]

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 回答
1252 浏览

internet-explorer - 损坏的 IE 对象(带有 Powershell 的 IE 自动化)

我想使用 Powershell 在 Web 控制台上自动配置接入点。

我在 Win8/IE10 上开发,测试代码时一切正常。不幸的是,我在开发/测试后收到了“生产系统”。现在代码应该可以在 Windows Server 2012 R2/IE11 上运行。

这是我连接和登录接入点的代码(简化):

出于调试原因,我通常会显示窗口(注释 #1#)。首先,Write-Host 显示正确的位置(“登录”)。在第二个 Write-Host 处,显示了错误的位置(“about:blank”)。在 IE 窗口中,您会看到正确的位置/选项卡名称(“AP”)。似乎 IE 对象变得无法使用,其他属性(如 $IE.Document.*)则不起作用。我必须手动关闭窗口。

我有两种解决方法:

  1. 当我在登录前手动单击 IE 窗口(获取焦点)时,它可以工作。
  2. 当我不显示窗口时($IE.Visible = $false),一切正常。

到目前为止我的场景/测试:

  1. IE ESC 被禁用。
  2. 我从另一台生产机器(2008R2)复制了 C:\Program Files (x86)\Microsoft.NET\Primary Interop Assemblies\Microsoft.mshtml.dll,所以 $IE.Document 函数可以工作(我的开发机器中的 dll 产生相同的错误)。
  3. 我尝试为每个区域启用/禁用保护模式(Internet 选项 > 安全),但对我不起作用(在reddit上找到)

其他人有尝试的想法吗?调试适用于解决方法,它也适用于(到目前为止)不可见的窗口 - 但我想了解这些麻烦......

谢谢,最好的问候, kvo

0 投票
1 回答
625 浏览

c# - VS2015 调试中缺少属性

为什么我在 Visual Studio 2015 的调试模式下看不到 COM 对象的属性。它在 VS2012 中运行良好。这是同一个项目,所以它应该显示相同?

Visual Studio 2012(工作正常) Visual Studio 2012 调试

Visual Studio 2015(属性消失) Visual Studio 2015 调试

0 投票
1 回答
430 浏览

parsing - powershell com internetexplorer 捕获弹出窗口

我正在尝试使用 powershell 来自动化和解析网站。一切正常,直到我“单击”链接并在新窗口中打开。如何访问该窗口以便解析它?

谢谢!

0 投票
3 回答
3867 浏览

c# - IADsLargeInteger 的命名空间

我正在寻找将COM 对象转换为的方法DateTime,我看到了很多关于这个问题的文章(比如这个 - https://msdn.microsoft.com/en-us/library/ms180872(v=vs.80).aspx 还有这个 - 如何使用 C# 读取“uSNChanged”属性

但是,所有这些文章都在谈论使用 interface 中的对象IADsLargeInteger

我试图寻找这个接口的命名空间,但我找不到任何线索。

0 投票
1 回答
61 浏览

c# - Releasing COM Object in Constructor Parameter

I am developing a VSTO addin where now I am looking to optimize it. In my code, I does something

I just got to know I should release all the COM Objects, but I am searching for a proper way to release the someGoodSheet object in a proper way. I suspect if I do something like below is efficient

Can anyone help me if I am doing it effectively and tell me when parameter objects are collected by garbage collector?

0 投票
1 回答
165 浏览

c# - Outlook 预约回复而不是通过 C# 回复

我想全部回复输出约会,而不是通过 c# 代码回复。

我能够遍历今天的所有约会,但在 .net 3.5 中我找不到对约会全部回复的选项。唯一可用的选项是响应或将约会作为附件发送。

我基本上想用一些自定义正文打开(显示)约会的所有回复窗口。

请指导如何做到这一点。

0 投票
1 回答
101 浏览

c++ - 从服务将 URL 添加到 IE 缓存

我有一项服务需要将 URL 添加到登录用户的 IE 缓存中

为此,我首先使用OpenProcessToken获取用户的令牌并调用ImpersonateLoggedOnUser

我尝试使用 2 种方法添加 URL

  1. 使用IUrlHistoryStg2 COM 接口,并调用AddUrlAndNotify方法
  2. 按以下方式 使用CommitUrlCacheEntryWCommitUrlCacheEntryW(urlToEnterWithPrefix, 0, ExpireTime, LastModifiedTime, URLHISTORY_CACHE_ENTRY | NORMAL_CACHE_ENTRY, NULL, 0, NULL, NULL);

当进程在登录用户下运行时,这两种方法都可以正常工作,但在 LocalSystem 下运行时会失败

CommitUrlCacheEntryW文档统计:

WinINet 不支持服务器实现。此外,不应从服务中使用它。对于服务器实现或服务,请使用 Microsoft Windows HTTP 服务 (WinHTTP)。

但我在WinHTTP中找不到任何与CommitUrlCacheEntryW对应的方法

我需要有关以下问题的帮助:

  1. 我可以使用服务中的IUrlHistoryStg2来访问登录用户的 url-history 吗?
  2. 如何使用CommitUrlCacheEntryW或服务中的更简洁的函数来访问登录用户的 url-history?
  3. 有没有我仍然没有使用的第三种选择?
0 投票
0 回答
566 浏览

asp-classic - 尝试在经典 ASP 中创建服务器对象时出错

.dll 是 C:\Windows\System32 中的 ASPCache_x64.dll(我知道;这个决定是在我之前做出的。)

服务器是运行 Windows 7 的主机上的带有 IIS 7.5 的 Windows Server 2008 R2 VirtualBox VM。有问题的网站是在 .NET Framework 2.0 下运行的经典 ASP 站点。VM 本身是我们用作模板的 VM 的副本,使用该机器副本的其他人没有这个问题。

问题:
在加载任何页面时,我收到以下错误:

其他信息:

  • 最终追溯到 Global.asa<object>标签
  • 尝试在从桌面文件夹运行的 VBScript 文件中创建和使用 ASPCache 对象工作正常
  • 尝试在同一域中的测试 ASP 页面上创建和使用 ASPCache 对象给我同样的错误,直到我刷新页面,此时我收到此错误:

(损坏降价的解决方法;忽略此行)

我努力了:

  • 下载 VM 的新副本
  • 确保 IUSR 对 C:\Windows\Systeme32\ASPCache-x64.dll 具有读取和执行权限
  • 使用 regsvr32.exe 取消注册并重新注册 C:\Windows\Systeme32\ASPCache-x64.dll
  • 授予对 ASPCache 和 ASPCache.1 注册表项的 IUSR 读取权限
  • 应用此处找到的修复:经典 ASP 中的 Server.CreateObject 失败
  • 根据我们的共享开发环境检查我能想到的每一个设置,这没有这个问题
  • 每次更改后重新启动 IIS
  • 完成上述所有操作后重新启动计算机
  • 授予单个应用程序池在 C:\Windows\Systeme32\ASPCache-x64.dll 上的读取和执行权限
  • 将默认应用程序池标识更改为 NetworkService
  • 将默认应用程序池标识更改为 [Machine name]\Administrator

几个月来,我一直在谷歌上搜索这个问题。我发现没有任何帮助。


测试asp页面的代码,不起作用:

VB 脚本的代码,它确实有效:

Global.asa 中的相关代码,给出了原始错误:

0 投票
3 回答
64 浏览

powershell - 无法运行以下命令

我试图在对象下方运行,但出现错误。

我得到以下错误。

使用 clsid 检索组件的 com 类工厂

但我用下面的命令成功了

0 投票
0 回答
6083 浏览

powershell - 使用 powershell 创建 PDF

我正在编写一个从 PowerShell 创建 PDF 的脚本。我有它使用 Word,使用 ComObject。但这意味着我运行它的计算机必须有 Word。如果有办法从记事本制作 PDF 文件,我可能会徘徊。这是我从 Word 制作 PDF 的代码。