问题标签 [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.
vb.net - 如何重构需要大量参数的函数?
我为只排除字符串作为输入的 COM 对象编写了一个包装器,因此在良好的 OOP 实践中,我将字符串包装在一个函数中,以便更容易构建和调用。
我只是想知道是否有人能想到更好的方法来执行以下代码。
函数必须采用的参数数量是我最大的担心。这个还不错,但是我将来可能需要制作一些其他函数,这些函数需要更多的参数,所以我主要是在寻找更好的方法来构建大参数函数。
windows - PowerShell Windows 安装程序 Com 对象
我正在尝试使用 Powershell 修改 MSI 文件的内容。为此,我创建了一个 WindowsInstaller.Installer 实例,然后使用 $installer.OpenDatabase 和 $database.OpenView。类似的功能可以在 VBScript 中使用,而且我已经在网上看到了似乎可以使用的示例。
对于上面的代码,我收到错误“方法调用失败,因为 [System.__ComObject] 不包含名为 'OpenDatabase' 的方法。”
如果我尝试使用 $installer.InvokeMethod,我会收到相同的错误“方法调用失败,因为 [System.__ComObject] 不包含名为‘InvokeMethod’的方法。”
任何帮助将非常感激。
谢谢。
vb.net - Com 对象异常
我编写了一个应用程序,它遍历一组记录并打印两件事。
一个是来自 SSRS 的报告,它工作正常。
另一种是使用 COM 对象进行打印的绘图。COM 对象随机失败并导致程序退出。
当 COM 对象失败时,有没有办法阻止它杀死整个程序?我已经尝试在每个级别捕获每个异常,但它仍然不起作用。
windows - 是否可以在 VB.NET 中复制以下凭据过程?
解决方案(有点):
事实证明,这种具有 .NET 安全性的模拟只允许应用程序级别的访问。由于 COM 对象处于系统级别,因此模拟用户仍然无法实例化它。我通过右键单击可执行文件并选择“运行方式...”来解决这个问题,程序运行良好。我发现启动具有系统访问权限的程序(假设您正在运行它的用户具有这些凭据)。现在我正在创建一个外部程序,它将使用这种方法启动这个应用程序。
感谢您的提示:D
我在虚拟机上安装了 Windows XP。它是我域的一部分,但登录用户只是本地用户。显然,如果我尝试访问网络共享,它会提示输入用户/密码:
我在虚拟机上测试的程序使用 COM 对象与来自另一个程序的数据进行交互。如果我不冒充,我会收到错误,因为我没有正确的凭据。
我对此事进行了一些研究,发现许多网站都有大量的 VB.NET 信息。我编写的代码遇到的问题是我可以访问网络资源,但我无法实例化 COM 对象。
如果我在尝试实例化之前填写并提交凭据提示(上图),它可以正常工作。这让我相信 WinXP 凭据提示一定有一些我没有做的事情。以下是我用于模拟的代码:
我也尝试向模拟方法发送不同的标志,但似乎没有任何效果。以下是我发现的不同标志:
.net - 从 System.__ComObject 基类型调用方法
我正在尝试从 msi 文件中获取一些信息
我用了:
我很清楚添加对文件 C:\windows\system32\msi.dll 的引用并将 installerInstance 转换为 WindowsInstaller.Install 的选项,但由于我的应用程序将在许多不同的操作系统上运行(xp、2003、vista , 7, 2008) 和处理器 (x86 - x64),我想动态使用实例。
问题是我无法达到底层的“WindowsInstaller.Installer”类型,只有 System.__ComObject 方法是可见和可执行的。
如何从底层对象动态调用方法,例如“OpenDatabase”等?
wcf - 为 WCF 服务加载 COM 对象的启动代码
我目前有一个使用 COM DLL 作为其服务的 WCF 服务。COM 对象只加载一次并通过单例保存。问题是第一次运行需要大约 1 分钟来加载 COM 对象。WCF 服务通过 Windows 服务托管。我想知道如何通过 Windows 服务的启动加载 COM 对象单例。
当我尝试在 Windows 服务启动的 OnStart 中添加 Singleton 的负载时,它总是失败。我想问一下这是否是为 objectConn 实例添加启动例程的正确方法。我试图将单例加载放在 MyService 构造函数中,但它仅在第一次调用我调用的 Web 服务操作/方法时调用,这使得第一次服务调用很尴尬。
我阅读了有关 DependencyInjection 的信息,但我认为添加的行为不适用,因为我只想加载一次 COM 对象源。
c# - 有没有办法在 .NET 上为 IRequestDictionary 和 IStringList 创建一个新实例?
我们正在开发一个存储经典 ASP 会话值的 C# DLL。
一切都很好,但是一些 QueryStrings 存储在 Session 中。问题是:我们能够使用 IRequestDictionary 和 IStringList 从 DLL 中读取 QueryString,但是我们找不到在下次页面请求它们时重新创建它们的方法。
我们已经存储了重新创建它们所需的所有信息。
所以,问题是:是否可以实例化并设置它们的值?还有其他选择吗?
delphi - Delphi 应用程序错误与 DLL 中的 Ole
我有一个 Com 对象,从 DataModule 设置/创建/工作。
从应用程序创建/运行/释放数据模块没有问题。
但是第一次将数据模块放入 DLL 工作正常,运行 com 对象等。但是在没有重新启动应用程序的情况下进行了几次调用后,出现了这个错误。
错误信息图片 http://darkaxi0m.name/so/errormessage.GIF
应用程序中有一些代码,所以我不能全部发布,我在应用程序和 Dll 中都尝试了 MadExcept,但没有运气。IDE 在似乎没有多大帮助的地方中断......
替代文字 http://darkaxi0m.name/so/cpubreak.gif
这是处理 DataModule 的代码,在两个测试中的应用程序和 Dll 中使用了相同的函数
我想责怪 Ole 对象,但它在 Dll 中运行良好
我什至不知道从哪里开始寻找。
powershell - PowerShell,在没有附加组件的情况下打开 IE
我想将 Internet Explorer 作为没有附加组件的新 Com 对象打开。
$ie=New-Object -comobject InternetExplorer.Application
如何在没有附加组件的情况下启动 Internet Explorer?
powershell - VirtualBox + Powershell?
我已经创建了一个虚拟机。现在我正在尝试使用 Powershell 启动它。我已经在互联网上搜索了有关如何执行此操作的任何详细信息。这是我找到的唯一代码...
(来源:http ://www.ravichaganti.com/blog/?p=1275 )
事实上,我在 virtualbox.org 上找不到任何关于 com 对象的文档。我非常精通powershell,我花了一些时间探索com对象......
我尝试了所有我能想到的东西,但只收到错误。我的问题是如何使用 Powershell 启动我的虚拟机
谢谢