无忧启动论坛

 找回密码
 注册
搜索
系统gho:最纯净好用系统下载站广告联系 微信:wuyouceo QQ:184822951
楼主: 2012飘水
打印 上一主题 下一主题

[求助] 如何操作注册表修改默认打开文件方式

  [复制链接]
1#
发表于 2024-4-7 10:44:20 | 显示全部楼层
@echo off

set "MPC-Be=%~dp0MPC-BE"
set "MPC-BeReg=%MPC-BE:\=\\%"
if "%1"=="" (
    call :Main
) >nul 2>nul
exit /b
::以管理员身份运行
:Main
    title MPC-BE
    fltmc >nul || mshta vbscript:CreateObject("Shell.Application").ShellExecute("%~dpnx0","%*",,"runas",1)(window.close) && exit /b


::执行创建注册表关联项
:Install
    (
        echo Windows Registry Editor Version 5.00
        call :RegAssoc 3gp  MPC-BE 4  mpciconlib
        call :RegAssoc aac  MPC-BE 7  mpciconlib
        call :RegAssoc avi  MPC-BE 20 mpciconlib
        call :RegAssoc flac MPC-BE 32 mpciconlib
        call :RegAssoc flv  MPC-BE 36 mpciconlib
        call :RegAssoc m4a  MPC-BE 47 mpciconlib
        call :RegAssoc midi MPC-BE 51 mpciconlib
        call :RegAssoc mid  MPC-BE 50 mpciconlib
        call :RegAssoc mkv  MPC-BE 53 mpciconlib
        call :RegAssoc mp3  MPC-BE 58 mpciconlib
        call :RegAssoc mp4  MPC-BE 59 mpciconlib
        call :RegAssoc mpeg MPC-BE 64 mpciconlib
        call :RegAssoc mov  MPC-BE 55 mpciconlib
        call :RegAssoc ts   MPC-BE 95 mpciconlib
        call :RegAssoc wav  MPC-BE 98 mpciconlib
        call :RegAssoc rm   MPC-BE 81 mpciconlib
        call :RegAssoc wmv  MPC-BE 103 mpciconlib
        call :RegAssoc rmvb MPC-BE 81 mpciconlib
        call :RegAssoc mpg  MPC-BE 65 mpciconlib
    ) >"%Temp%\Install.reg"
    reg import "%Temp%\Install.reg"
    del /f "%Temp%\Install.reg"

goto :eof

::关联相关文件类型
:RegAssoc :: <%1=Ext> <%2=ExeName> <%3=IconIndex图标编号> <%4=图标文件名>
    echo [HKEY_CLASSES_ROOT\MPC-BE.%1\DefaultIcon]
    echo @="\"%MPC-BeReg%\\%4.dll\",%3"
    echo [HKEY_CLASSES_ROOT\MPC-BE.%1\Shell\Open\Command]
    echo @="\"%MPC-BEReg%\\%2.exe\" \"%%1\""
    echo [HKEY_CLASSES_ROOT\.%1]
    echo @="MPC-BE.%1"
goto :eof
::echo @="\"%MPC-BeReg%\\%4.dll\",%3"  本句意为图标在以%4为名称的.dll文件内

评分

参与人数 1无忧币 +2 收起 理由
yyz2191958 + 2 赞一个!

查看全部评分

回复

使用道具 举报

2#
发表于 2024-4-7 11:08:01 | 显示全部楼层
WPS 2016 极限精简版https链接://kkocdko.site/post/201910051129
从这里这个改的,要放到可执行文件上一层的文件夹里
回复

使用道具 举报

3#
发表于 2024-4-7 15:00:35 | 显示全部楼层
2012飘水 发表于 2024-4-7 13:44
呵呵,没有链接啊,返回本网站了

把链接两个字删掉,我的用户组发不了正常链接,你修改过的发出来我看下
回复

使用道具 举报

4#
发表于 2024-4-7 18:53:03 | 显示全部楼层
本帖最后由 3416510931 于 2024-4-7 19:08 编辑
2012飘水 发表于 2024-4-7 17:12
看不懂,照猫画虎导致不运行,主要是参考3楼的方便易懂,但是也不成功

@echo off
    fltmc >nul || mshta vbscript:CreateObject("Shell.Application").ShellExecute("%~dpnx0","%*",,"runas",1)(window.close) && exit /b

for %%a in (midi mid) do (
        reg add "HKCR\TTPlayer.%%a\Shell\Open\Command" /f /ve /t REG_SZ /d "\"%~sdp0TTPlayer.exe\" \"%%1\""
        reg add "HKCR\.%%a" /f /ve /t REG_SZ /d "TTPlayer.%%a"
) >nul 2>nul


复制以上内容到记事本里,保存为.bat,然后把bat文件放到TTPlayer.exe所在的文件夹

win11没试过,但win10可用

点评

重装系统后,用这个方法成功了,就是图标还没有更新,麻烦大佬再弄个更新图标的好吗?非常感谢!我是小白,慢慢学习  详情 回复 发表于 2024-4-8 11:52
@echo off fltmc >nul || mshta vbscript:CreateObject("Shell.Application").ShellExecute("%~dpnx0","%*",,"runas",1)(window.close) && exit /b for %%a in (midi mid) do (   发表于 2024-4-7 21:45
@echo off fltmc >nul || mshta vbscript:CreateObject("Shell.Application").ShellExecute("%~dpnx0","%*",,"runas",1)(window.close) && exit /b for %%a in (midi mid) do ( reg add "HKCR\TTPl  详情 回复 发表于 2024-4-7 21:43
回复

使用道具 举报

5#
发表于 2024-4-7 18:54:26 | 显示全部楼层
2012飘水 发表于 2024-4-7 17:12
看不懂,照猫画虎导致不运行,主要是参考3楼的方便易懂,但是也不成功

你得让我们知道你画的虎是啥样啊,
回复

使用道具 举报

6#
发表于 2024-4-7 19:00:59 | 显示全部楼层
本帖最后由 3416510931 于 2024-4-7 19:04 编辑
2012飘水 发表于 2024-4-7 16:17
原来是用winamp.exe打开的,设置为用TTPlayer.exe打开,运行了ftype midfile="D:\Program_Files_\MP3_Pla ...

win11系统改了注册表关联文件打开方式的规则,设置里是优先度最高的,甚至要一种格式一种格式的选
回复

使用道具 举报

7#
发表于 2024-4-7 22:16:25 | 显示全部楼层
2012飘水 发表于 2024-4-7 21:43
@echo off
    fltmc >nul || mshta vbscript:CreateObject("Shell.Application").ShellExecute("%~dpnx ...

%~dp0在批处理里代表批处理文件所在路径,是相对路径,D:\Program Files这种属于绝对路径,两者不能一起用。
前面说了,win11文件关联方式变了,已经被软件关联过的文件格式想添加第二种只能在设置里改,修改注册表的方式只能在.mid的打开方式里添加上千千静听,无法直接改成千千静听,除非卸载掉之前关联.mid文件的软件
回复

使用道具 举报

8#
发表于 2024-4-8 07:49:29 | 显示全部楼层
nttwqz 发表于 2024-4-7 23:59
可能是从8开始,更改注册表修改文件关联以及assoc就不再好用了,对于系统中没有的格式估计有效,图片、文本 ...

http://bbs.wuyou.net/forum.php?mod=viewthread&tid=412833
一搜就搜到了
回复

使用道具 举报

9#
发表于 2024-4-8 21:00:34 | 显示全部楼层
2012飘水 发表于 2024-4-8 11:52
重装系统后,用这个方法成功了,就是图标还没有更新,麻烦大佬再弄个更新图标的好吗?非常感谢!我是小白 ...

@echo off
    fltmc >nul || mshta vbscript:CreateObject("Shell.Application").ShellExecute("%~dpnx0","%*",,"runas",1)(window.close) && exit /b
   
for %%a in (midi mid) do (
        reg add "HKCR\TTPlayer.%%a\DefaultIcon" /f /ve /t REG_SZ /d "%~sdp0icon\%%a.ico"
        reg add "HKCR\TTPlayer.%%a\Shell\Open\Command" /f /ve /t REG_SZ /d "\"%~sdp0TTPlayer.exe\" \"%%1\""
        reg add "HKCR\.%%a" /f /ve /t REG_SZ /d "TTPlayer.%%a"
) >nul 2>nul
在TTPlayer文件夹里新建文件夹命名为icon,在这个文件夹里放入.ico图标文件,对应哪个格式就命名为什么,比如midi.ico
回复

使用道具 举报

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

本版积分规则

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

闽公网安备 35020302032614号

GMT+8, 2024-6-5 05:47

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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