是否可以替换系统打开文件对话框?

2023-12-29

我想用我编写的对话框替换标准系统打开文件对话框,这意味着无论您在哪个程序中打开文件,都会显示我的对话框而不是标准对话框,这可能吗?

似乎没有提供这样的 API 来完成此操作,是否可以使用一些挂钩技术,但这必须可靠并且不会被防病毒工具视为间谍软件?

还有其他选择吗?

如果这是不可能的,是否可以在标准打开文件对话框中的空格键或工具栏上添加一个调用我的对话框的按钮,该按钮允许用户选择一个文件,然后将所选文件的路径返回到“文件名” " 标准对话框的输入框?

任何点击、链接和代码示例将不胜感激。


从 Vista 开始,FileOpen/FileSave 对话框现在为“通用项目对话框 http://msdn.microsoft.com/en-us/library/bb776913.aspx其中 IFileOpenDialog 和 IFileSaveDialog 是两个已发布的实现。

由于它们只是具有已知 CLSID 的 COM 对象,因此您可以通过使用其 CLSID 重新注册来替换它们。从来没有尝试过这样的事情,可能会敲响各种警钟。

Pre-Vista 文件对话框可以是挂在进程中 http://msdn.microsoft.com/en-us/library/ms646960(VS.85).aspx,但我从未遇到过有关全局挂钩或同等内容的任何内容。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

是否可以替换系统打开文件对话框? 的相关文章

  • 自定义波特率,redux

    我遇到的问题详述如下自定义波特率 https stackoverflow com questions 7714060 custom baud rate SetCommState 波特率 921600 失败 但波特率 115200 成功 尽管
  • 相当于Linux中的导入库

    在 Windows C 中 当您想要链接 DLL 时 您必须提供导入库 但是在 GNU 构建系统中 当您想要链接 so 文件 相当于 dll 时 您就不需要链接 为什么是这样 是否有等效的 Windows 导入库 注意 我不会谈论在 Win
  • Windows 窗口对接

    我想知道如何在 Windows 中将窗口停靠 捕捉到屏幕的一侧 最好使用直接的 Win32 API 我正在寻找的效果就像任务栏 一个在屏幕上有保留空间的窗口 因此最大化另一个窗口会使该窗口占据屏幕的其余部分 但使我的窗口保持在适当的位置并可
  • 对于多重继承,使用隐式转换而不是 QueryInterface() 是否合法?

    假设我有一个类实现两个或多个 COM 接口 正如here https stackoverflow com questions 1742848 why exactly do i need an explicit upcast when imp
  • Spring @RequestMapping 带有可选参数

    我的控制器在请求映射中存在可选参数的问题 请查看下面的控制器 GetMapping produces MediaType APPLICATION JSON VALUE public ResponseEntity
  • 如何查看网络连接状态是否发生变化?

    我正在编写一个应用程序 用于检查计算机是否连接到某个特定网络 并为我们的用户带来一些魔力 该应用程序将在后台运行并执行检查是否用户请求 托盘中的菜单 我还希望应用程序能够自动检查用户是否从有线更改为无线 或者断开连接并连接到新网络 并执行魔
  • 在哪里可以找到 Windows 7 UX 指南中推荐的图标/动画?

    Windows 7 UX 指南有很好的插图和图标示例 但我在 SDK 中确实找不到它们 他们藏在某个地方 还是找不到 如果您谈论的是常见的 UI 图标 那么您应该以编程方式获取它们 例如 您可以使用 var errIcon HICON be
  • 使用 TFS REST API 获取 Git 提交的最新关联工作项

    我正在尝试获取关联的工作项使用 TFS REST API 进行 GIT 提交 https www visualstudio com en us docs integrate api git commits 我的请求 URL 如下所示 htt
  • 所见即所得与 Unicode

    我在 Delphi 中编写了一个 Windows 程序 该程序使用 GetCharWidth 和 Em Square 将文本非常精确地放置并换行到屏幕和打印机 这对于 ANSI 文本效果很好 您只需要检索和计算 255 个字符的宽度 但当您
  • 在 Windows 中使用 PHP 创建受密码保护的 Zip 文件

    我正在 PHP 中创建给定文件的 zip 文件 下面是函数 function create zip file file name zip new ZipArchive zip name file name zip Zip name zip
  • 使用管理员权限打开cmd(Windows 10)

    我有自己的 python 脚本来管理我的计算机上的 IP 地址 它主要在命令行 Windows 10 中执行netsh命令 您必须具有管理员权限 这是我自己的计算机 我是管理员 运行脚本时我已经使用管理员类型的用户 Adrian 登录 我无
  • 将 value 转换为 bool 的魔法

    今天我意识到将值转换为 bool 是一种魔法 int value 0x100 unsigned char uc static cast
  • Windows 上使用 g++ 的 Makefile,链接库

    我已经厌倦了 MSVC 6 以及每个人总是告诉我它是一个蹩脚的编译器等等 所以现在我决定尝试使用 vim 加 g 和 makefile 这是我的问题 我有以下 makefile This is supposed to be a commen
  • Mac OS X 上的 /proc/self/cmdline / GetCommandLine 等效项是什么?

    如何在不使用 argc argv 的情况下访问 Mac OS X 上的命令行 在 Linux 上 我会简单地阅读 proc self cmdline or use GetCommandLine在 Windows 上 但我找不到 Mac OS
  • Microsoft.Graph - 如何从具有不同用户名的共享邮箱发送?

    我目前正在将使用 SMTP 的服务代码移植到 Office 365 通过 SMTP 我可以使用 发件人 字段在来自共享收件箱的邮件上设置不同的用户名 同时保留共享电子邮箱地址 这似乎无法通过 Office 365 运行 其工艺流程为 客户填
  • 为什么 Windows 命令 DIR 在搜索 *.tif 文件时也会输出 *.tiff 文件?

    我想使用 Windows 命令DIR为了找到唯一TIF文件 即具有扩展名的文件 tif 因此我使用以下小批处理文件 for f delims a IN dir b a d s C wolter testversion input tif d
  • 为什么 Git Bash 无法运行我的可执行文件?

    I am on git for windows https github com git for windows 吉特 巴什 我无法在命令行上运行可执行文件 Pedr Abc 07 MINGW64 c dev ls sqlite3 exe
  • 如何处理来自单独线程的窗口消息?

    我希望启动一个单独的线程来处理窗口消息 通过阻塞 GetMessage 循环 但之后仍然在初始线程中创建窗口 在单独的线程中 一旦启动 我就会调用PeekMessage使用 PM NOREMOVE 确保消息队列存在 有必要吗 然后 Atta
  • C# 获取子窗口句柄

    我正在用 C 启动一个进程 然后使用 SendMessage 将 Windows 消息发送到该进程 通常我将消息发送到 Process MainWindowHandle 但在某些情况下 我可能需要找到子窗口句柄并向那里发送消息 我将如何在
  • 使用Windows 7计算器进行对数计算[关闭]

    Closed 这个问题是无关 help closed questions 目前不接受答案 我想使用Windows计算器在科学模式中为了求解一个非常基本的对数方程 但不幸的是 我无法做到这一点 问题是这样的 log 5 125 非常感谢您的帮

随机推荐

  • Flask - 将对象直接存储在会话中[重复]

    这个问题在这里已经有答案了 我想知道是否可以直接在 Flask 会话中存储对象 而不需要重写序列化器 为了使其正常工作 我需要在班级中实现任何功能吗 示例代码如下 这就是我想要的样子 然而 当你尝试执行它时 它会抛出一个错误TypeErro
  • Xen、QEMU 和 KVM 之间有什么区别?

    我知道Xen使用QEMU 而KVM是QEMU的一个分支 那么 KVM 包括 Xen 添加到 QEMU 中吗 是什么名字 Thanks QEMU 是一个功能强大的模拟器 这意味着它可以模拟多种处理器类型 Xen 使用 QEMUHVM http
  • Rails:application_helper.rb 中定义的方法无法被categories_controller.rb 识别

    更多新手问题 据我了解 如果我在应用程序帮助程序中定义一个方法 则整个应用程序代码都可以使用该方法 在我的应用程序助手中 我有 def primary user is admin if current user user login rol
  • 片段替换后,使用 RxJava2 + RxBinding 的 RecyclerView 项目单击不起作用

    我在 Fragment 中有一个 RecyclerView 项目点击是使用 RxJava2 处理的 如中所述这个答案 https stackoverflow com a 39962415 2341815 它在非片段中运行良好 private
  • 生成 3 到 6 之间的随机 int 值

    Microsoft SQL Server 是否可以生成从 Min 到 Max 的随机 int 值 3 9 示例 15 99 等 我知道 我可以从0到Max生成 但是如何增加Min边框呢 该查询生成从 1 到 6 的随机值 需要将其从 3 更
  • 如何对带有连接的 SQL 查询结果应用分页?

    我有一个连接 3 个表的 SQL 查询 其中一个只是连接另外两个表的多对多 我使用 Spring JDBC ResultSetExtractor 将 ResultSet 转换为我的对象 大致如下所示 class Customer priva
  • 如何附加到字符串中的所有网址?

    我应该如何附加到即将作为电子邮件发送的 html 字符串中所有 url 的末尾 我想像这样添加谷歌分析活动跟踪 utm source email utm medium email utm campaign product notify 99
  • elasticsearch中的源过滤、存储字段和文档值之间有什么区别?

    我已经阅读了文档源过滤 https www elastic co guide en elasticsearch reference 6 4 search request source filtering html 存储字段 https ww
  • 多维数组快速排序

    我需要根据第一个子数组中的值尽快对多维数组进行排序 该行被应用了数百万次 以下是我原来的路线 以及我改进其性能的尝试 但没有成功 据我所知 我的numpy方法仅对第一个子数组进行正确排序 而不对其余子数组进行正确排序 我做错了什么以及如何提
  • 在 params 中传递函数时,在导航状态中发现不可序列化的值

    我有两个屏幕 Screen A import React useState from react import Text View Button from react native const ViewA navigation gt con
  • 使用属性公开类似数组的数据结构

    通常将内部数据结构作为属性公开给您的业务类 但是 当我们必须公开类似数组的结构 如 List 规则 时 我们可能会遇到错误使用的问题 如选项 1 中所示 建议将此类数据结构的克隆公开为属性 以便内部结构不会受到干扰 有没有人对此有一个很好的
  • PHP Sql Server PDOException:找不到驱动程序

    我的服务器是Windows 2008服务器 PHP 版本 7 2 7 已安装并正在运行 Sql Server 11 64 位 已安装并正在运行 有几个 asp net 应用程序正在运行并已在使用该数据库 我从 Microsoft 网站下载了
  • 扩展坞显示或隐藏时的事件

    当 Dock 显示或隐藏时如何获取事件 如果扩展坞可见或未使用 Carbon 您会收到通知 我不知道有什么方法可以在可可中做到这一点 我没有测试过这个 它来自代码here http www cocoabuilder com archive
  • 无法在 Odoo 9 中显示选定的图像

    我在加载图像时遇到问题product template表单视图 当我上传新图像时 它正在上传并且displaying correctly in product kanban view 但在product form view它给了我错误无法显
  • 如何获取 WindowTimer 实现对象的“活动计时器列表”

    W3C 规范规定 每个实现 WindowTimers 接口的对象都有一个活动计时器列表 但我从未在任何地方见过如何访问该列表并检查它 这是否意味着它是特定于实现的并且不意味着可访问 或者您可以访问活动计时器列表 检查它以获得最高的 ID 因
  • “new System.Timers.ElapsedEventHandler(DoStuff)”调用不起作用

    我正在尝试在 C 中创建监视文件夹应用程序 该应用程序将在新文件到达时执行操作 由于监视的文件夹位于 GPFS 共享上 我无法使用 FileSystemWatcher 它在 NTFS 中对我来说工作得很好 所以我基于其他同事的应用程序sol
  • 在 Parse Cloud Code 更新 Stripe 模块

    事实证明 Parse Could Code 中的 Stripe 模块已过时且不会更新 Source https developers facebook com bugs 523104684492016 https developers fa
  • Sql Server XML类型列重复条目检测

    在 Sql Server 中 我使用 XML 类型列来存储消息 我不想存储重复的消息 我只会为每个用户发送几条消息 我当前正在查询表中的这些消息 将 XML 转换为 C 代码中的字符串 然后我将这些字符串与我要插入的字符串进行比较 不幸的是
  • Android数据绑定设置alignParentTop

    我有以下布局 仅留下相关部分
  • 是否可以替换系统打开文件对话框?

    我想用我编写的对话框替换标准系统打开文件对话框 这意味着无论您在哪个程序中打开文件 都会显示我的对话框而不是标准对话框 这可能吗 似乎没有提供这样的 API 来完成此操作 是否可以使用一些挂钩技术 但这必须可靠并且不会被防病毒工具视为间谍软