![通过提升的上下文菜单程序打开文件](https://linux22.com/image/1376619/%E9%80%9A%E8%BF%87%E6%8F%90%E5%8D%87%E7%9A%84%E4%B8%8A%E4%B8%8B%E6%96%87%E8%8F%9C%E5%8D%95%E7%A8%8B%E5%BA%8F%E6%89%93%E5%BC%80%E6%96%87%E4%BB%B6.png)
因此,我在上下文菜单中创建了一个“使用 Ollydbg 打开”选项。从那时起,我怎样才能以管理员身份运行 olly?我应该使用什么命令或参数?我遇到了“ShellExecuteEx”命令,但仍然没有运气
答案1
- 打开 Olly 可执行文件的属性。
- 点击兼容性标签。
- 查看以管理员身份运行此程序。
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