Выполнить cmd как admin из c # [duplicate]

Я пытаюсь это сделать до

cd / opt / lampp / phpmyadmin

, тогда

gedit config .inc.php

найти это,

$cfg['Servers'][$i]['host'] = 

, если есть localhost изменить его на 127.0.0.1

Примечание: если есть //, удаляем // перед $cfg['Servers'][$i]['host']

, я снова проверил http://localhost/phpmyadmin/

mysqli сказал:

"phpMyAdmin попытался подключиться к серверу MySQL, и сервер отклонил соединение. Вы должны проверить хост, имя пользователя и пароль в своей конфигурации и убедиться, что они соответствуют информации, предоставленной администратором сервера MySQL. «

Я снова открываю config.inc.php, и я нашел

$cfg['Servers'][$i]['password'] =

Заполните пароль паролем

Это сработало для меня , Это может сработать и для вас.

10
задан Ryan Gates 10 December 2012 в 22:58
поделиться

3 ответа

См. System.Diagnostics.Process http://msdn.microsoft.com/en-us/library/system.diagnostics.process.aspx

Существует также это Ответ на тот же самый точный вопрос: https://stackoverflow.com/a/1469790/25882

Пример:

System.Diagnostics.Process process = new System.Diagnostics.Process();
System.Diagnostics.ProcessStartInfo startInfo = new System.Diagnostics.ProcessStartInfo();
startInfo.WindowStyle = System.Diagnostics.ProcessWindowStyle.Hidden;
startInfo.FileName = "cmd.exe";
startInfo.Arguments = "/C copy /b Image1.jpg + Archive.rar Image2.jpg";
startInfo.Verb = "runas";
process.StartInfo = startInfo;
process.Start();
10
ответ дан Community 21 August 2018 в 02:08
поделиться
  • 1
    isnt / c команда и / b аргументы или я ошибаюсь – OverloadedCore 22 December 2016 в 22:47
  • 2
    @ Kid8 / b является аргументом команды копирования. Все, что находится справа от / C, является командной строкой. – Chris Andrews 11 January 2017 в 17:00
  • 3
    Также убедитесь, что вы не установили UseShellExecute в false – kofifus 9 October 2017 в 01:54

Вы можете инициализировать новый System.Diagnostics.ProcessStartInfo, который должен получить информацию, необходимую для вашего процесса, в дополнение к WindowStyle, которая указывает состояние окна, которое будет использоваться при запуске процесса, которое может быть Hidden, Maximized, Minimized или Normal. В вашем случае мы будем устанавливать это как Hidden, чтобы процесс, который будет запущен, не сможет принимать ни вход, ни показывать результат от пользователя /.

Пример

System.Diagnostics.ProcessStartInfo myProcessInfo = new System.Diagnostics.ProcessStartInfo(); //Initializes a new ProcessStartInfo of name myProcessInfo
myProcessInfo.FileName = Environment.ExpandEnvironmentVariables("%SystemRoot%") + @"\System32\cmd.exe"; //Sets the FileName property of myProcessInfo to %SystemRoot%\System32\cmd.exe where %SystemRoot% is a system variable which is expanded using Environment.ExpandEnvironmentVariables
myProcessInfo.Arguments = "cd.."; //Sets the arguments to cd..
myProcessInfo.WindowStyle = System.Diagnostics.ProcessWindowStyle.Hidden; //Sets the WindowStyle of myProcessInfo which indicates the window state to use when the process is started to Hidden
System.Diagnostics.Process.Start(myProcessInfo); //Starts the process based on myProcessInfo

Снимок экрана

Следующий снимок экрана представляет диспетчер задач, показывающий один процесс, который был запущен нашим приложением. Однако его окно не видно.

The process is running without showing its Window [/g0]

Примечание. Процесс запуска не завершится, даже если вы закроете приложение.

Кроме того, для запуска процесса в качестве администратора вы можете установить свойство Verb информации о запуске процесса в runas

Пример

System.Diagnostics.ProcessStartInfo myProcessInfo = new System.Diagnostics.ProcessStartInfo(); //Initializes a new ProcessStartInfo of name myProcessInfo
myProcessInfo.FileName = Environment.ExpandEnvironmentVariables("%SystemRoot%") + @"\System32\cmd.exe"; //Sets the FileName property of myProcessInfo to %SystemRoot%\System32\cmd.exe where %SystemRoot% is a system variable which is expanded using Environment.ExpandEnvironmentVariables
myProcessInfo.Arguments = "cd.."; //Sets the arguments to cd..
myProcessInfo.WindowStyle = System.Diagnostics.ProcessWindowStyle.Hidden; //Sets the WindowStyle of myProcessInfo which indicates the window state to use when the process is started to Hidden
myProcessInfo.Verb = "runas"; //The process should start with elevated permissions
System.Diagnostics.Process.Start(myProcessInfo); //Starts the process based on myProcessInfo

Примечание: если у вас есть при включенном элементе управления учетными записями вы можете попросить разрешить процессу начать с повышенными правами, если приложение, которое пыталось вызвать этот процесс, не выполнялось с повышенными разрешениями.

Если вы хотите пропустить подскажите, я думаю, что вы должны разрешить основному приложению начинать с повышенных разрешений. Для этого вам нужно открыть манифест приложения и убедиться, что добавлена ​​следующая строка

<requestedExecutionLevel level="requireAdministrator" uiAccess="false"/>

. Это просто скажет, что ваше приложение запускается только с повышенными разрешениями. Таким образом, когда вы вызываете процесс как администратор, не будет приглашения, поскольку вызывающий процесс выполняется под администратором.

Спасибо, надеюсь, вы найдете это полезным:)

15
ответ дан Picrofo Software 21 August 2018 в 02:08
поделиться

Этот фрагмент является «невидимым» для пользователя, а также перенаправляет вывод, поэтому вы можете его использовать каким-то образом (я полагаю, вам это нужно).

string output = null;

try
{
    ProcessStartInfo ps = new ProcessStartInfo("cmd");
    ps.Arguments = "/c cd.."; 
    ps.UseShellExecute = false;

    // Redirects the standard output so it reads internally in out program
    ps.RedirectStandardOutput = true;

    // Starts the process
    using (Process p = Process.Start(ps))
    {
        // Reads the output to a string
        output = p.StandardOutput.ReadToEnd();

        // Waits for the process to exit must come *after* StandardOutput is "empty"
        // so that we don't deadlock because the intermediate kernel pipe is full.
        p.WaitForExit();
    }
}
catch
{
    // manage errors
}
finally
{
if(output != null)
{
     // Process your output
}
}
0
ответ дан Salaros 21 August 2018 в 02:08
поделиться
Другие вопросы по тегам:

Похожие вопросы: