Відкрийте файли через підвищену програму контекстного меню


1

Отже, я створив у контекстному меню варіант "відкрити з 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піднесений Блокнот. ( першоджерело )


0

Рішення в цій іншій відповіді не буде працювати, якщо командний рядок містить подвійні лапки та / або закінчується \", наприклад 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
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.