2013-02-25 3 views
-1

Я хочу, чтобы выполнить команду, чтобы заблокировать диск через бит-шкафчик при нажатии кнопки. Как это сделать? Я новичок в C#отправка команды на cmd через C#

Команда:

manage-bde -lock x: 

Как это будет отправить на консоль? вот код

private void btnlock_Click(object sender, EventArgs e) 
{ 
    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 manage-bde -lock "+textBox1.Text+":"; 
    process.StartInfo = startInfo; 
    process.Start(); 
} 
+2

Возможный дубликат [Выполнять команды командной строки] (http://stackoverflow.com/questions/1469764/run-command-prompt-commands) – MarcinJuraszek

+0

Возможный дубликат [Как начать процесс с C#?] (Http: //stackoverflow.com/questions/181719/how-to-start-a-process-from-c) –

+0

, но другие ссылки не помогают, comaand не выполняется. – mani1989

ответ

3

Вы можете использовать Process класс в System.Diagnostics пространстве имен. Это должно быть что-то вроде этого:

System.Diagnostics.Process.Start("manage-bde", "-lock x:"); 
+0

может усовершенствовать больше, пожалуйста, – mani1989

+0

замените x буквой диска, или в вашем случае замените его текстовым полем. TextText – Martheen

+0

System.Diagnostics.Process.Start ("manage -bde "," -lock "+ textBox1.Text +": "); – Martheen

0

Команда не выполняется, потому что командная строка не знает, где найти программу manage-bde.

Все, что вам нужно сделать, это добавить полный путь к файлу, например, так:

startInfo.Arguments = @"/C C:\Program Files\Foo\manage-bde.exe -lock "+textBox1.Text+":";

Примечание: Я не уверен, что если .exe часть необходима, но это не помешает добавление . Кроме того, убедитесь, что вы используете либо 2 обратную косую черту (\\), либо используйте @ перед кавычкой в ​​начале.

Смежные вопросы