通过提升的上下文菜单程序打开文件

通过提升的上下文菜单程序打开文件

因此,我在上下文菜单中创建了一个“使用 Ollydbg 打开”选项。从那时起,我怎样才能以管理员身份运行 olly?我应该使用什么命令或参数?我遇到了“ShellExecuteEx”命令,但仍然没有运气

答案1

  1. 打开 Olly 可执行文件的属性。
  2. 点击兼容性标签。
  3. 查看以管理员身份运行此程序

ShellExecuteEx是一个 API 函数,而不是命令。如果您正在开发一个应用程序来以提升的权限运行其他 EXE,则可以使用它。

如果您想从命令行运行任何具有提升权限的程序,请sudo.cmd在 PATH 中的任何目录中创建一个文件:

@echo Set objShell = CreateObject("Shell.Application") > %temp%\sudo.tmp.vbs
@echo args = Right("%*", (Len("%*") - Len("%1"))) >> %temp%\sudo.tmp.vbs
@echo objShell.ShellExecute "%1", args, "", "runas" >> %temp%\sudo.tmp.vbs
@cscript %temp%\sudo.tmp.vbs

然后键入例如在提升的记事本中sudo notepad C:\example.txt打开C:\example.txt。(原始来源

答案2

解决方案这是另一个答案如果命令行包含双引号和/或以 结尾,则不起作用\",例如copy c:\foo.txt "c:\Program Files\"。如下所示的修改版本修复了该问题。

@echo off
set str=%*
set str=%str:\"="%      
set str=%str:"=""%
@echo Set objShell = CreateObject("Shell.Application") > %temp%\sudo.tmp.vbs
@echo args = Right("%str%", (Len("%str%") - Len("%1"))) >> %temp%\sudo.tmp.vbs
@echo objShell.ShellExecute "%1", args, "", "runas" >> %temp%\sudo.tmp.vbs
@cscript %temp%\sudo.tmp.vbs

相关内容