设置“图像文件执行选项”将始终默认打开指定的 exe 文件

2023-11-23

As 这个链接建议,我要替换Notepad.exe with Notepad2.exe using "图像文件执行选项“通过运行命令来实现

reg add "HKLM\Software\Microsoft\Windows NT\CurrentVersion\Image File Execution Options\notepad.exe" 
      /v "Debugger" /t REG_SZ /d "\"c:\windows\Notepad2.exe\" /z" /f

但当我跑步时notepad它仍然打开文件

c:\windows\notepad.exe

默认情况下,在 notepad2.exe 中作为文本文件。

有办法避免这种情况吗?

我知道使用这项技术 Notepad.exe 将作为传递给 Notepad2.exe 的第一个参数。但我不知道如何避免这种情况:(


“调试器”键的用途是自动启动调试器并将原始命令行传递到所需的调试器。它还在 win32 函数 CreateProcess 上设置一个标志,指示这是一个调试会话。

这意味着调试器将在适当修改参数后调用 CreateProcess。

>notepad.exe "\document1.txt"

变成

>mydebugger.exe notepad.exe "\document1.txt"

然后 mydebugger 可以调用如下内容:

BOOL res = CreateProcess( NULL, L"notepad.exe \"\\document1.txt\", NULL, NULL,
                          FALSE, cFlags, env, NULL, startupInfo, procInfo&);

因此,滥用此注册表项的解决方案是制作可以按照您想要的方式操作命令行的假调试器。这应该是一个简单的过程,只需解析命令行并将 notepad.exe 替换为 notepad2.exe。然后你需要将注册表指向该.exe

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

设置“图像文件执行选项”将始终默认打开指定的 exe 文件 的相关文章

随机推荐