问题标签 [windows-explorer]

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 投票
9 回答
6011 浏览

java - 从 IntelliJ 在 Windows 资源管理器中打开包含目录

有没有办法(键盘快捷键?)在 Windows 资源管理器中打开当前打开的文件的文件夹?

我的意思是:当在 IntelliJ 中打开 java 源文件时,我想在包含该文件的文件夹上打开 Windows 资源管理器。有没有办法做到这一点?

0 投票
1 回答
2185 浏览

delphi - 从 Windows 资源管理器中拖动文件时无法检测 TcxGrid 中的鼠标移动

我最近向一个用 Delphi(2009 版)编写的大型应用程序添加了一项功能,该功能允许用户从 Windows 资源管理器中拖动文件并将它们放到 TcxGrid 控件上。我通过将我自己的窗口过程附加到网格并拦截 WM_DROPFILES 消息的常用方法实现了这一点:

我现在正在尝试增强此功能以检测用户何时将文件拖放到网格中的现有行上,这将开始使用新版本覆盖现有文件的过程。

我的第一个想法是看看网格控件的鼠标悬停事件是否有效。确实如此,但不是在拖动操作期间。

然后我使用了一个名为 Winspector 的程序来查看当鼠标在网格上移动时哪些消息被发送到网格控件,我现在可以检测鼠标在哪一行并突出显示它。我使用与上面相同的技术,但在这种情况下,我将覆盖 GridSite 的窗口过程,而不是网格本身,因为根据 Winspector,消息似乎是在哪里:

这是 GridSiteWindowProc 的主体:

如您所见,我正在捕获 WM_NCHITTEST 消息以实现此目的。根据 Winspector,在拖动操作期间,此消息也会发送到网格站点窗口,但如果我取消注释 Log() 语句,该语句会将消息值输出到字符串列表(之后我手动转储到备注字段),我已经确定由于某种原因,在网格上拖动文件时,我只会收到其中一两条消息。

现在 - 这是有趣的部分:如果我让 Winspector 运行并监视消息进入该窗口,我会在文件拖动操作期间突然开始收到所有 WM_NCHITTEST 消息。如果我将进入窗口 proc 的所有消息的整数值直接输出到单独的日志窗口而不是首先输出到字符串列表缓冲区,情况也是如此。我希望有人能够提供一些线索,说明为什么会发生这种情况或如何让它发挥作用。

0 投票
1 回答
365 浏览

windows - 如何从 Windows 资源管理器继承(使用任何编程语言,借助任何工具)

如何从 Windows 资源管理器(桌面,我们借助它探索我们的 Mu 计算机等目录的东西)继承(在任何编程语言中)?

  • 定制它

  • 添加程序提取器(添加到 Windows Explorer Mac 教师或排序算法或添加按钮或任何东西)


我需要什么:

  1. 例子
  2. 开源库和开源示例
  3. 文档(对于前 MSDN 或类似的东西)

PS:它应该适用于\与 Windows Vista, 7

0 投票
2 回答
314 浏览

visual-studio - 我可以向解决方案资源管理器添加资源管理器快捷方式并使其实际运行吗?

我希望能够在我的解决方案资源管理器中包含快捷方式,以便我可以在解决方案资源管理器中双击以打开与项目或解决方案相关的目录,这可能吗?目前,如果我向解决方案添加一个快捷方式,它会以 .lnk 文件的形式出现,它会在 Visual Studio 中以二进制文件的形式打开,而不是在 Windows 资源管理器中打开。

0 投票
1 回答
342 浏览

c++ - 加载 Windows 资源管理器时加载 DLL 的可靠方法是什么?

我正在研究为 Windows 资源管理器开发一个附加组件,它将为其中的 WebDAV 添加一些增强功能,为此我正在寻找一种好的、可靠的方法来强制在 XP / 中使用 Windows 资源管理器加载 DLL Vista/Win7 32 位和 64 位操作系统。

我似乎记得 Windows 资源管理器会以与 IE 中相同的方式加载 BHO,但我对此的初步测试在 Vista 64 上是否定的。很有可能我只是在那里做错了什么,并会调查那更多。

我还查看了 Shell Extensions,但据我所知,只有在采取某些操作时才会加载这些扩展。我也可能是错的。

所以,我很乐意提供一些建议,以提供实现这一目标的好方法:)

我只需要在加载 Windows 资源管理器时加载 DLL。

更新:在我发布这个问题之后,我发现我的 BHO 注册在注册表中设置了 NoExplorer 选项,我想这可以解释为什么它不起作用。删除它之后,它看起来会起作用。不过,如果还有其他方法可以完成同样的事情,我仍然愿意学习。

0 投票
1 回答
661 浏览

c# - 如何向所有 Windows 资源管理器实例添加按钮?

我正在尝试向任何 Windows 资源管理器实例中的现有工具栏之一添加一个按钮。

经过大量研究,我发现 BHO(浏览器帮助对象)是挂钩的最佳方式

到 Windows 资源管理器。

我的问题是:

  1. 这是正确的方法吗?
  2. 在 BHO 的 SetSite 中,我得到了作为资源管理器窗口的 comObject。现在怎么办 ?
  3. 如果我可以获得资源管理器窗口的 hWnd,我可以使用 win API 添加我的按钮吗?

注意我正在为 XP 开发 C#。

谢谢。

0 投票
5 回答
163970 浏览

c# - 如何从 WPF 应用程序中打开 Windows 资源管理器到某个目录?

在 WPF 应用程序中,当用户单击按钮时,我想将 Windows 资源管理器打开到某个目录,我该怎么做?

我会期待这样的事情:

0 投票
1 回答
2858 浏览

c - 如何告诉 Windows 资源管理器刷新其图标?

一旦我的安装程序完成安装应用程序 exe 的新版本,我想告诉 Explorer 使用新 exe 的图标作为其快捷方式。但是,我无法弄清楚如何做到这一点。

从网上阅读,问题似乎是系统图像列表正在缓存旧版本的图标。我尝试使用参数调用SHChangeNotifySHCNE_UPDATEIMAGE。我尝试调用SHUpdateImage。我什至尝试了广播的大锤方法WM_SETTINGCHANGE。似乎没有任何效果。

我完全有可能只是做错了什么。任何帮助,将不胜感激。

警告:下面是非常丑陋的测试代码。

0 投票
2 回答
80 浏览

windows - 创建上下文菜单的代码无法正常工作

当我安装一个应用程序时,它应该使用系统注册表将一个项目添加到 Windows 资源管理器上下文菜单中。

但它给出了一个错误,“无法解决某些或所有身份参考”请帮助

0 投票
1 回答
2011 浏览

c# - 从 .NET 以编程方式访问“打开方式”Windows Explorer 菜单列表

在 Windows 资源管理器中右键单击文件时,“打开方式”菜单项会根据单击文件的文件类型显示可用应用程序列表。

以这张图片为例:


(来源:magerquark.de

现在,我希望能够以编程方式从 C# .NET 2.0 应用程序中读取给定文件扩展名/类型(例如“png”)的应用程序列表。

例如

问题:

有可能得到这个列表吗?