我想实现类似在文件管理器界面上通过快捷键能打开一个我自己的应用,希望能知道之前文件管理器中打开的路径是什么
使用场景是,根据当前的路径分析工程类型,然后调用 IDE 打开项目,快速打开 rider/intellij/vscode
这个有办法实现么
imgur.com/a/6LDCq9T
尝试问了下 cursor ,给的几个方案调用了 windows api ,都不管用

我不明白你所谓的“通过快捷键能打开一个我自己的应用”是什么意思

如果你是地址栏里输入cmd打开命令行的话,那么在程序里用GetCurrentDirectory()就行

"我自己的应用" 是类似 alfred/ raycast 之类的启动器,想自己写个 wpf 程序

autohotkey 专门做这个的,安装后附带有个 window spy 能看到一些可以轻松提取的

看起来是我要的,谢谢,我去瞅瞅

这个 spy 只能获取 windows 的 exe 名等,explorer.exe 内部的一些状态获取不到
imgur.com/a/oOBFejR

你是想实现 Listary 的 Ctrl+G 吧

右键在当前路径打开?

这玩意不就是 git bash here 吗?
具体实现还是有点繁琐,要你在大模型上问一下这个 “如何实现类似 git bash here 的功能”
大概流程就是你要写个 bat 脚本来进行判断分析,路径可以在脚本中获取到,然后把这个脚本通过注册表注册到右键菜单

差不多,不过是要知道上一个窗口的状态

stackoverflow.com/questions/43815932
随便找了下

#5 看看 All Text 里有没有

无名师的 GUI 论

一晚,无名师和 Nubi 参加一个程序员的探讨会。有个程序员问 Nubi 和他的老师来自哪所学校。当得知他们是 Unix 大道的追随者时,程序员颇为不屑。

“Unix 命令行工具太粗糙太落后”,他讥讽道。“现代的、设计得当的操作系统可以在图形用户界面中做任何事情。”

无名师一言不发,只是指着月亮。旁边的一条狗对着他的手狂吠。

“我不明白。”程序员说。

无名师依然缄默,指着一幅佛祖像,然后又指着一扇窗。

“你想说什么?”程序员问。

无名师指着程序员的头,接着指着一块大石。

“请把话说清楚!”程序员要求道。

无名师深深蹙眉,轻拍程序员的鼻子两下,把他扔到旁边的垃圾箱中。

程序员试图从垃圾堆挣扎出来之时,那条狗跑过来在他身上便溺。

此时,程序员眼中一亮。

感谢,c++全忘光了,我研究下

没,不过找到个 AHK 的脚本可以查到 explorer 中选中的文件

我喜欢 GUI , 但同样我也不排斥命令行

你这个回复并没有任何信息量

我想说的是,既然那软件已经决定了用视觉而非符号通信的形式来表达,你还非要死磕它,那就很难了
不如考虑一下能不能让它直接输出符号

嘿,哥们,你之前的回复了一堆字,看着是想表达什么,让人猜谜语的话,不能怪我回复没有信息量啊,你早这么说不就明白了

不是我死磕,是这些功能在 macos 上是可以已经存在的的,想尝试下能不能在 windows 上复现,生命在于折腾不是么

获取“上一个持有焦点”的窗口,可以参考 KeePass 模拟键盘输入密码的代码,KeePass 模拟键盘输入密码前会自动跳转回上一个持有焦点的窗口。
获取文件资源管理器窗口的路径,可以考虑从窗口中的一些子窗口提取,Win10 是有一个工具条中包含完整路径的,Win11 就不知道了。

换个思路

在 Windows 要做这种事,更适合的做法是做个 Explorer Shell 扩展,然后让某个快捷键组合跟这个扩展关联起来。

这样按下快捷键时就能调用 Shell 扩展,该扩展就可以获取当前 Explorer 的内容了。

搜索关键词:
windows explorer.exe shell 扩展
windows explorer.exe shell extension

这谜语很旧了。大概有四十多年了

获得当前鼠标位置下的 Windows 资源管理器路径?
blog.csdn.net/qq_18218335/article/details/56677351 类似这种?

没看懂啥意思,难道你需要的是这个? getquicker.net/