无忧启动论坛

 找回密码
 注册
搜索
系统gho:最纯净好用系统下载站投放广告、加入VIP会员,请联系 微信:wuyouceo
查看: 15942|回复: 67

搞一个右键菜单“打开xxx并关闭当前资源管理器(已解决)

    [复制链接]
发表于 2022-11-14 16:12:56 | 显示全部楼层 |阅读模式
本帖最后由 窄口牛 于 2022-11-30 21:09 编辑

打开有关联的文件或者exe等可执行文件,然后关闭资源管理器
是不是很有用?
发表于 2022-11-30 21:02:14 | 显示全部楼层
本帖最后由 527104427 于 2022-11-30 21:07 编辑
窄口牛 发表于 2022-11-30 20:59
可能是因为我explorer(桌面)和资源管理器是两个进程?

再试一下:

        set^ EnviMode=1
        set^ ForceLocal=1

        //多开
        REGI $HKCR\*\shell\Locate\\=定位
        REGI $HKCR\*\shell\Locate\\Icon=explorer.exe,0
        REGI $HKCR\*\shell\Locate\Command\\=explorer.exe /n,/select,"%%1"
        REGI $HKCR\Directory\shell\Locate\\=定位
        REGI $HKCR\Directory\shell\Locate\\Icon=explorer.exe
        REGI $HKCR\Directory\shell\Locate\command\\=explorer.exe "%%1"

        //复制路径
        set commandline="%MyName%" team set^ EnviMode=1| set^ ForceLocal=1 | set$ nl=0d 0a| fdir --fullfile --long a="%%1"| fdir --fullfile --short b="%%1"| fdir --fullfile --volume c="%%1"| fdir --fullfile --part d="%%1"| fdrv e=%%%%d%%%%| sed -ex f=0,[^0-9], ,e| mstr * g,h=<1*>f| sed -ex i=1,\\Harddisk%%%%g%%%%Partition%%%%h%%%%\\,\\GLOBALROOT\\device\\harddisk%%%%g%%%%\\partition%%%%h%%%%\\,d| find *<>a, set< a=%%%%nl%%%%| find *<>b, set< b=%%%%nl%%%%| find *<>c, set< c=%%%%nl%%%%| find *<>d, set< d=%%%%nl%%%%| find *<>i, set< i=%%%%nl%%%%| set^ Clipboard=%%%%a%%%%%%%%b%%%%%%%%c%%%%%%%%d%%%%%%%%i%%%%
        REGI $HKCR\*\shell\CopyPaths\\=复制路径(多行)
        REGI $HKCR\*\shell\CopyPaths\\Icon=explorer.exe,0
        REGI $HKCR\*\shell\CopyPaths\Command\\=%commandline%
        REGI $HKCR\Directory\shell\CopyPaths\\=复制路径(多行)
        REGI $HKCR\Directory\shell\CopyPaths\\Icon=explorer.exe,0
        REGI $HKCR\Directory\shell\CopyPaths\command\\=%commandline%

        //结束进程
        set commandline="%MyName%" team set^ EnviMode=1| set^ ForceLocal=1| find --pid*@ a,| set b=%%1| lpos* * * ,*c=b,,a| ifex $%%%%c%%%%>0, forx *v c,d, team~ read -*,%%%%d%%%%,e,a~ mstr* * f=<1>e~ kill *force *%%%%f%%%%
        REGI $HKCR\*\shell\KillApps\\=结束进程(多个)
        REGI $HKCR\*\shell\KillApps\\Icon=taskmgr.exe,0
        REGI $HKCR\*\shell\KillApps\Command\\=%commandline%

        //关闭所在目录
        set commandline="%MyName%" team set^ EnviMode=1| set^ ForceLocal=1| set$ nl=0d 0a| fdir --full a="%%1"| mstr * -delims:\ b=<-1>a| find --class:CabinetWClass --wid@ c,%%%%b%%%%| find --class:CabinetWClass --wid@ d,%%%%a%%%%| set< c=%%%%nl%%%%%%%%d%%%%| forx *nl c,e, team~ mstr* * f=<2>e~ ifex $%%%%f%%%%>0, set @@postmsg=%%%%f%%%%;0x0010;0;0
        REGI $HKCR\*\shell\CloseWindow\\=关闭所在目录(多个)
        REGI $HKCR\*\shell\CloseWindow\\Icon=taskmgr.exe,0
        REGI $HKCR\*\shell\CloseWindow\Command\\=%commandline%
        REGI $HKCR\Directory\shell\CloseWindow\\=关闭所在目录(多个)
        REGI $HKCR\Directory\shell\CloseWindow\\Icon=taskmgr.exe,0
        REGI $HKCR\Directory\shell\CloseWindow\command\\=%commandline%

        //打开后关闭所在目录
        set commandline="%MyName%" team set^ EnviMode=1| set^ ForceLocal=1| set$ nl=0d 0a| exec $"%%1"| fdir --full a="%%1"| mstr * -delims:\ b=<-1>a| find --class:CabinetWClass --wid@ c,%%%%b%%%%| find --class:CabinetWClass --wid@ d,%%%%a%%%%| set< c=%%%%nl%%%%%%%%d%%%%| forx *nl c,e, team~ mstr* * f=<2>e~ ifex $%%%%f%%%%>0, set @@postmsg=%%%%f%%%%;0x0010;0;0
        REGI $HKCR\*\shell\RunCloseWindow\\=打开后关闭所在目录(多个)
        REGI $HKCR\*\shell\RunCloseWindow\\Icon=taskmgr.exe,0
        REGI $HKCR\*\shell\RunCloseWindow\Command\\=%commandline%
        REGI $HKCR\Directory\shell\RunCloseWindow\\=打开后关闭所在目录(多个)
        REGI $HKCR\Directory\shell\RunCloseWindow\\Icon=taskmgr.exe,0
        REGI $HKCR\Directory\shell\RunCloseWindow\command\\=%commandline%




回复

使用道具 举报

发表于 2022-12-1 18:42:41 | 显示全部楼层
本帖最后由 dos时代菜鸟 于 2022-12-4 23:42 编辑

open_with_close_window.7z (939 Bytes, 下载次数: 27)

点评

完美了  发表于 2022-12-1 21:25
回复

使用道具 举报

 楼主| 发表于 2025-3-10 10:28:32 | 显示全部楼层
本帖最后由 窄口牛 于 2025-3-10 10:29 编辑

vbs的也来了
RunAndCloseFolder.rar (566 Bytes, 下载次数: 7)
回复

使用道具 举报

发表于 2022-11-14 16:36:14 | 显示全部楼层
不明白
回复

使用道具 举报

 楼主| 发表于 2022-11-14 16:51:36 来自手机 | 显示全部楼层
比如你要玩的游戏是绿版,没有快捷方式,不是要去目录运行吗?运行以后就应该关闭打开目录的资源管理器了,对哇?

点评

贡献几个由PECMD注册的右键:(保存为wcs,拖到pecmd上面即可拥有右键菜单) set^ EnviMode=1 set^ ForceLocal=1 //多开 REGI $HKCR\*\shell\Locate\\=定位 REGI $HKCR\*\shell\Locate\\Icon=explorer  详情 回复 发表于 2022-11-30 07:04
费这事为什么不发送个快捷方式到桌面?  详情 回复 发表于 2022-11-14 17:04
回复

使用道具 举报

发表于 2022-11-14 17:04:42 | 显示全部楼层
窄口牛 发表于 2022-11-14 16:51
比如你要玩的游戏是绿版,没有快捷方式,不是要去目录运行吗?运行以后就应该关闭打开目录的资源管理器了, ...

费这事为什么不发送个快捷方式到桌面?
回复

使用道具 举报

 楼主| 发表于 2022-11-14 17:22:17 来自手机 | 显示全部楼层
桌面快捷方式太多了。

点评

[attachimg]512345[/attachimg] 放开始菜单里,列出目录来  详情 回复 发表于 2022-11-14 17:41
回复

使用道具 举报

发表于 2022-11-14 17:27:25 | 显示全部楼层
还可以写个文件夹右键功能,搜索运行里面与文件夹最可能匹配的EXE
回复

使用道具 举报

 楼主| 发表于 2022-11-14 17:29:31 来自手机 | 显示全部楼层
那难度就大了,相当于智能启动菜单了。
回复

使用道具 举报

发表于 2022-11-14 17:41:35 | 显示全部楼层
窄口牛 发表于 2022-11-14 17:22
桌面快捷方式太多了。

111.png
放开始菜单里,列出目录来
回复

使用道具 举报

发表于 2022-11-14 19:00:14 | 显示全部楼层
有些情景会发疯的。比如一堆文档的文件名混乱的,要双击打开看是什么内容,再重命名。等等。
回复

使用道具 举报

发表于 2022-11-14 20:35:23 来自手机 | 显示全部楼层
如何确定关闭的是 当前 explorer.exe 窗口进程?
回复

使用道具 举报

发表于 2022-11-14 20:37:23 来自手机 | 显示全部楼层
从开始菜单的运行里面那个浏览按钮找要运行的程序吧
回复

使用道具 举报

发表于 2022-11-14 21:39:33 | 显示全部楼层
当你拥有几百上千个绿色游戏和软件的时候,就会知道win8.1的开始菜单有多了!

再配合开机自动生成快捷方式,爽极了……

sshot-1.jpg
回复

使用道具 举报

 楼主| 发表于 2022-11-14 23:38:06 | 显示全部楼层
我的不止这么多
回复

使用道具 举报

发表于 2022-11-14 23:40:16 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
回复

使用道具 举报

发表于 2022-11-15 08:04:45 | 显示全部楼层
DOSforever 发表于 2022-11-14 23:40
你这墙纸是啥,有没有原图或链接?


21.jpg
回复

使用道具 举报

发表于 2022-11-15 08:54:23 来自手机 | 显示全部楼层
2010feicool 发表于 2022-11-14 21:39
当你拥有几百上千个绿色游戏和软件的时候,就会知道win8.1的开始菜单有多妙了!

再配合开机自动生成快捷 ...

个人觉得,8.1的开始屏幕是微软开始菜单设计的一个里程碑,10以后的就是一坨S,已经落后于UOS、Debian等开源操作系统的菜单设计。

点评

同感。 8.1的开始屏幕可以按使用频率、按名称、按类别去排列应用,还可以搜索应用,我常用的是按使用频率。 而10的开始菜单除了右边贴几个常用的应用,左边的菜单我都没怎么用过。  详情 回复 发表于 2022-11-15 10:39
回复

使用道具 举报

发表于 2022-11-15 10:39:50 | 显示全部楼层
nttwqz 发表于 2022-11-15 08:54
个人觉得,8.1的开始屏幕是微软开始菜单设计的一个里程碑,10以后的就是一坨S,已经落后于UOS、Debian等 ...

同感。
8.1的开始屏幕可以按使用频率、按名称、按类别去排列应用,还可以搜索应用,我常用的是按使用频率。
而10的开始菜单除了右边贴几个常用的应用,左边的菜单我都没怎么用过。

点评

到了11,更加夸张,开始按钮都默认居中了,关键是居中后左边不管用,每次点还得瞄准,实现不了盲点,不知道意义何在,还得手动修改设置。  详情 回复 发表于 2022-11-15 12:34
回复

使用道具 举报

发表于 2022-11-15 12:34:05 | 显示全部楼层
hilsonma 发表于 2022-11-15 10:39
同感。
8.1的开始屏幕可以按使用频率、按名称、按类别去排列应用,还可以搜索应用,我常用的是按使用频 ...

到了11,更加夸张,开始按钮都默认居中了,关键是居中后左边不管用,每次点还得瞄准,实现不了盲点,不知道意义何在,还得手动修改设置。
回复

使用道具 举报

发表于 2022-11-15 13:23:19 | 显示全部楼层
这没啥难度啊,用AHK编个脚本,多写判断一个热键就能满足两到三个功能需求。
回复

使用道具 举报

 楼主| 发表于 2022-11-16 07:05:11 来自手机 | 显示全部楼层
文件的右键,关闭所在目录的资源管理器窗口。向你们求助,结果全是泼凉水。

点评

通过 pid 找出除第一个以外的所有进程关闭之。  详情 回复 发表于 2022-11-16 17:19
回复

使用道具 举报

发表于 2022-11-16 17:19:01 来自手机 | 显示全部楼层
窄口牛 发表于 2022-11-16 07:05
文件的右键,关闭所在目录的资源管理器窗口。向你们求助,结果全是泼凉水。

通过 pid 找出除第一个以外的所有进程关闭之。
回复

使用道具 举报

发表于 2022-11-24 10:02:35 | 显示全部楼层
我用Q-dir收藏和备份了。
回复

使用道具 举报

发表于 2022-11-30 07:04:51 | 显示全部楼层
本帖最后由 527104427 于 2022-11-30 21:07 编辑
窄口牛 发表于 2022-11-14 16:51
比如你要玩的游戏是绿版,没有快捷方式,不是要去目录运行吗?运行以后就应该关闭打开目录的资源管理器了, ...


贡献几个由PECMD注册的右键:(保存为wcs,拖到pecmd上面即可拥有右键菜单)

        set^ EnviMode=1
        set^ ForceLocal=1

        //多开
        REGI $HKCR\*\shell\Locate\\=定位
        REGI $HKCR\*\shell\Locate\\Icon=explorer.exe,0
        REGI $HKCR\*\shell\Locate\Command\\=explorer.exe /n,/select,"%%1"
        REGI $HKCR\Directory\shell\Locate\\=定位
        REGI $HKCR\Directory\shell\Locate\\Icon=explorer.exe
        REGI $HKCR\Directory\shell\Locate\command\\=explorer.exe "%%1"

        //复制路径
        set commandline="%MyName%" team set^ EnviMode=1| set^ ForceLocal=1 | set$ nl=0d 0a| fdir --fullfile --long a="%%1"| fdir --fullfile --short b="%%1"| fdir --fullfile --volume c="%%1"| fdir --fullfile --part d="%%1"| fdrv e=%%%%d%%%%| sed -ex f=0,[^0-9], ,e| mstr * g,h=<1*>f| sed -ex i=1,\\Harddisk%%%%g%%%%Partition%%%%h%%%%\\,\\GLOBALROOT\\device\\harddisk%%%%g%%%%\\partition%%%%h%%%%\\,d| find *<>a, set< a=%%%%nl%%%%| find *<>b, set< b=%%%%nl%%%%| find *<>c, set< c=%%%%nl%%%%| find *<>d, set< d=%%%%nl%%%%| find *<>i, set< i=%%%%nl%%%%| set^ Clipboard=%%%%a%%%%%%%%b%%%%%%%%c%%%%%%%%d%%%%%%%%i%%%%
        REGI $HKCR\*\shell\CopyPaths\\=复制路径(多行)
        REGI $HKCR\*\shell\CopyPaths\\Icon=explorer.exe,0
        REGI $HKCR\*\shell\CopyPaths\Command\\=%commandline%
        REGI $HKCR\Directory\shell\CopyPaths\\=复制路径(多行)
        REGI $HKCR\Directory\shell\CopyPaths\\Icon=explorer.exe,0
        REGI $HKCR\Directory\shell\CopyPaths\command\\=%commandline%

        //结束进程
        set commandline="%MyName%" team set^ EnviMode=1| set^ ForceLocal=1| find --pid*@ a,| set b=%%1| lpos* * * ,*c=b,,a| ifex $%%%%c%%%%>0, forx *v c,d, team~ read -*,%%%%d%%%%,e,a~ mstr* * f=<1>e~ kill *force *%%%%f%%%%
        REGI $HKCR\*\shell\KillApps\\=结束进程(多个)
        REGI $HKCR\*\shell\KillApps\\Icon=taskmgr.exe,0
        REGI $HKCR\*\shell\KillApps\Command\\=%commandline%

        //关闭所在目录
        set commandline="%MyName%" team set^ EnviMode=1| set^ ForceLocal=1| set$ nl=0d 0a| fdir --full a="%%1"| mstr * -delims:\ b=<-1>a| find --class:CabinetWClass --wid@ c,%%%%b%%%%| find --class:CabinetWClass --wid@ d,%%%%a%%%%| set< c=%%%%nl%%%%%%%%d%%%%| forx *nl c,e, team~ mstr* * f=<2>e~ ifex $%%%%f%%%%>0, set @@postmsg=%%%%f%%%%;0x0010;0;0
        REGI $HKCR\*\shell\CloseWindow\\=关闭所在目录(多个)
        REGI $HKCR\*\shell\CloseWindow\\Icon=taskmgr.exe,0
        REGI $HKCR\*\shell\CloseWindow\Command\\=%commandline%
        REGI $HKCR\Directory\shell\CloseWindow\\=关闭所在目录(多个)
        REGI $HKCR\Directory\shell\CloseWindow\\Icon=taskmgr.exe,0
        REGI $HKCR\Directory\shell\CloseWindow\command\\=%commandline%

        //打开后关闭所在目录
        set commandline="%MyName%" team set^ EnviMode=1| set^ ForceLocal=1| set$ nl=0d 0a| exec $"%%1"| fdir --full a="%%1"| mstr * -delims:\ b=<-1>a| find --class:CabinetWClass --wid@ c,%%%%b%%%%| find --class:CabinetWClass --wid@ d,%%%%a%%%%| set< c=%%%%nl%%%%%%%%d%%%%| forx *nl c,e, team~ mstr* * f=<2>e~ ifex $%%%%f%%%%>0, set @@postmsg=%%%%f%%%%;0x0010;0;0
        REGI $HKCR\*\shell\RunCloseWindow\\=打开后关闭所在目录(多个)
        REGI $HKCR\*\shell\RunCloseWindow\\Icon=taskmgr.exe,0
        REGI $HKCR\*\shell\RunCloseWindow\Command\\=%commandline%
        REGI $HKCR\Directory\shell\RunCloseWindow\\=打开后关闭所在目录(多个)
        REGI $HKCR\Directory\shell\RunCloseWindow\\Icon=taskmgr.exe,0
        REGI $HKCR\Directory\shell\RunCloseWindow\command\\=%commandline%




回复

使用道具 举报

 楼主| 发表于 2022-11-30 07:29:59 来自手机 | 显示全部楼层
527104427 发表于 2022-11-30 07:04
贡献几个由PECMD注册的右键:(保存为wcs,拖到pecmd上面即可拥有右键菜单)

        set^ EnviMode=1

我试试看。
回复

使用道具 举报

 楼主| 发表于 2022-11-30 07:31:56 来自手机 | 显示全部楼层
本帖最后由 窄口牛 于 2022-11-30 07:35 编辑
9zhmke 发表于 2022-11-14 17:41
放开始菜单里,列出目录来


封装成品可以这么干,毕竟不会有多少软件,自己用就麻烦了,太多了。就是加个发送到开始菜单某分类的右键,然后去专门整理,估计也得整理一两天。
回复

使用道具 举报

 楼主| 发表于 2022-11-30 07:38:56 来自手机 | 显示全部楼层
本帖最后由 窄口牛 于 2022-11-30 07:40 编辑

早年做网吧系统,自己预备的游戏,都是专门把游戏的最终执行文件改成中文,然后搜索exe,搞出来快捷方式还会有多余的,再整理,当然搞过一次,以后只改盘符就行了,游戏路径除了盘符有可能会变动,别的自然是不会变了。
回复

使用道具 举报

 楼主| 发表于 2022-11-30 15:12:46 来自手机 | 显示全部楼层
未达到预期效果,打开东西没问题,关闭所在文件夹的资源管理器有问题,关闭不了。

点评

1.看一下你的PECMD版本号是多少 2.把 HKEY_CLASSES_ROOT\Directory\shell\RunCloseWindow\command 的值贴出来看一下 3.我在win7下测试是正常的  详情 回复 发表于 2022-11-30 17:36
回复

使用道具 举报

发表于 2022-11-30 17:36:12 | 显示全部楼层
窄口牛 发表于 2022-11-30 15:12
未达到预期效果,打开东西没问题,关闭所在文件夹的资源管理器有问题,关闭不了。

1.看一下你的PECMD版本号是多少
2.把 HKEY_CLASSES_ROOT\Directory\shell\RunCloseWindow\command 的值贴出来看一下
3.我在win7下测试是正常的
回复

使用道具 举报

 楼主| 发表于 2022-11-30 17:52:48 | 显示全部楼层
QQ拼音截图20221130175152.jpg

点评

看注册表的内容是正确的,那就只有换PECMD了,换最新的试试吧  详情 回复 发表于 2022-11-30 18:13
回复

使用道具 举报

发表于 2022-11-30 18:13:41 | 显示全部楼层

看注册表的内容是正确的,那就只有换PECMD了,换最新的试试吧
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|捐助支持|无忧启动 ( 闽ICP备05002490号-1 )

闽公网安备 35020302032614号

GMT+8, 2025-12-7 08:17

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表