问题标签 [moniker]

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 投票
3 回答
4221 浏览

windows - 您如何在 Windows 系统上创建自己的名字对象(URL 协议)?

如何在 Windows 系统上创建自己的自定义名字对象(或 URL 协议)?

例子:

  • 网址:
  • 邮寄:
  • 服务:
0 投票
3 回答
14195 浏览

c# - 如何 UAC 使用 .NET 提升 COM 组件

我找到了一篇关于如何通过调用 CoCreateInstanceAsAdmin. 但是我无法找到或做的是一种将我的 .NET (c#) 应用程序的组件实现为 COM 对象然后调用该对象以执行需要 UAC 提升的任务的方法。MSDN 将此记录为管理 COM 对象模型

我知道以管理员身份启动应用程序(或另一个应用程序)是可能且非常容易的,以在单独的进程中执行任务(例如参见Daniel Moth 的帖子,但我正在寻找的是一种方法在同一个未提升的 .NET 可执行文件中执行所有操作。这样做当然会在新进程中生成 COM 对象,但由于透明编组,.NET COM 对象的调用者不应该(太很多)意识到这一点。

关于如何通过CoCreateInstanceAsAdminAPI 从 C# 项目中实例化用 C# 编写的 COM 对象的任何想法都会非常有帮助。所以我真的很想学习如何用 C# 编写 COM 对象,然后我可以通过 COM 提升 API 从 C# 调用它。

如果提升的 COM 对象不在同一进程中运行,请不要介意。我只是不想启动整个应用程序。我只想提升将执行代码的 COM 对象。如果我可以写一些类似的东西:

然后让我的主应用程序ElevatedClass通过CoCreateInstanceAsAdmin调用进行实例化。但也许我只是在做梦。

0 投票
13 回答
60862 浏览

javascript - 如何检测浏览器的协议处理程序?

我创建了一个自定义 URL 协议处理程序。

http://

mailto://

custom://

我已经注册了一个 WinForms 应用程序来做出相应的响应。这一切都很好。

但我希望能够优雅地处理用户尚未安装自定义 URL 协议处理程序的情况。

为了能够做到这一点,我需要能够检测浏览器的注册协议处理程序,我会假设来自 JavaScript。但我一直无法找到一种方法来轮询信息。我希望找到解决这个问题的方法。

感谢您可以分享的任何想法。

0 投票
2 回答
2525 浏览

c# - C# 的 URL Moniker 示例 (IMoniker)

我正在尝试为 MSHTML 实现一个 URL Moniker,它将用于将图像从存储(在应用程序中)提供给 HTML 编辑控件。我知道要做到这一点,我必须实现 IMoniker 接口。

我在任何地方都没有找到任何像样的文档或示例代码。(关于这个主题的所有 MSDN 文档似乎都暗示了 C++/COM 编程和对 OLE 的非常深刻的理解,我不能说我有)。

我将如何在 C# 中实现 URL Moniker 和 IMoniker 接口?

0 投票
1 回答
105 浏览

c# - DSL Beta 2 - 连接器名称 - 为什么它不在图表文件中?

我正在创建一个 DSL,我想将两个实体与一个连接器相关联,但我不希望 EntityMoniker 位于底层 XML 中,我需要它位于图表文件中。我不确定为什么它不会自动出现在图表文件中,因为这似乎是保存所有“关于”图表的信息的地方。

如果我手动删除元素,那么显然当我再次打开图表时,连接就消失了。

IE

0 投票
1 回答
1919 浏览

c# - 如何获取具有已知类 ID 的设备名字对象?

我正在使用 DirectShowLib,它是 DirectShow 的薄包装。我已经成功枚举了 BDA 设备并收集了它们的 CLSID。现在,当用户按名称选择设备并且我知道所选的 CLSID 时,我需要将此设备添加到我的过滤器图中。

我做了以下事情:

现在的问题是 - 我在设备中得到了什么样的对象?调试器显示它是一个有效的 Com 对象。如果我尝试将其强制转换为 IBaseFilter,我会收到异常“不支持此类接口”。我可以成功地将它投射到 IMoniker。但是,如果我尝试执行以下操作:

我收到一个错误:

我知道如果我在枚举后立即使用 AddSourceFilterForMoniker 方法,它可以正常工作,所以我似乎只是没有创建名字对象。

如果类 id 已知,创建名字对象对象的正确方法是什么,所以我可以将它传递给 AddSourceFilterForMoniker?

0 投票
2 回答
1365 浏览

wcf - 未注册 excel 的 WCF Moniker 中的“未找到接口”

我正在尝试将 excel 连接到 WCF 服务,但我似乎无法让一个微不足道的案例工作......当我尝试在 excel 中创建代理时出现无效的语法错误。我已将 Visual Studio 调试器附加到 Excel,并发现真正的错误是“找不到接口”。我知道该服务有效,因为由 Visual Studio 创建的测试客户端没问题……所以问题出在 VBA 名字对象字符串中。

我希望找到两件事之一:

1)对我的名字字符串进行更正以使这项工作正常进行,或者

2) 要下载的现有示例项目,该项目具有有效的主机和客户端的源代码。

这是我的 VBA 客户端的代码:

我有以下服务:

它有以下配置文件:


编辑:

对我有用的更新绰号如下

0 投票
2 回答
1883 浏览

shell - 我在哪里可以了解“shell:”URI?

我刚刚意识到有一个shell:URI,但每个搜索引擎似乎都认为shell:shell是一回事。

我发现的唯一一件事是您可以shell:startup直接在资源管理器中输入(XP 和 7 测试)以获得明显的效果。
这已经很好了,因为没有%startup%,但我想知道它还能做什么。

有没有这方面的MS参考?
编辑(即使它不在 MSDN 上)

0 投票
1 回答
986 浏览

internet-explorer - 从 IE 获取 NTLM 安全令牌

我有一个 ActiveX,它在客户端机器上部署一些应用程序并启动它。在 IIS 上使用 NTLM 时,由 IE 完成对 Web 服务器的身份验证,下载文件没有问题(我使用的是 URL Monikers API),但是当 ActiveX 启动应用程序时(应用程序还需要访问服务器)需要再次进行身份验证。

我在问是否有办法避免第二次身份验证。

谢谢,扎基

0 投票
2 回答
1071 浏览

c - 在 Windows 7 上创建高程 COM 对象失败

我正在用 C 语言开发一个COM 代理对象,我的应用程序将使用它来为某些需要管理权限的操作调用 UAC 提升对话框。

计划是让它导出一个函数,该函数接受一个指向具有可变数量参数的函数的指针,并在不同的上下文中执行它。这样,应用程序可以使用该对象以管理员权限执行某些操作,他们需要做的就是使用该对象并将其传递给必须以所述权限执行的函数的指针。

这部分工作,调用CoCreateInstance很好,传递函数指针并执行我的函数。

但是,当我使用COM Elevation Moniker archive和 Microsoft 的CoCreateInstanceAsAdmin示例代码创建此对象的实例时,就会出现问题。

这是代码:

调用CoCreateInstanceAsAdmin失败并显示“类未注册”。

该对象是通过创建以下注册表项来注册的(这里是 REG 文件的主体)

我想有些注册表项丢失了——这是我在阅读错误消息时得出的结论。但是,此注册表项列表是在浏览 MSDN 和其他站点上的文档后编译的 - 所以我很确定没有遗漏任何内容。

我试图解决这个问题的方法之一是通过 ATL 实现它(这样注册是自动化的)。这行得通,但问题是我无法将函数指针传递给 MIDL 生成的函数原型。

我尝试使用VARIANT类型传递它:

结果我得到“无效的参数类型”。

有人可以对这个主题有所了解吗?也许我试图实现的目标是设计无法实现的?