Возможно ли программно включить / отключить аппаратное обеспечение? - PullRequest
2 голосов
/ 12 апреля 2010

В нашем проекте мы получили требование, согласно которому пользователь должен иметь возможность включать / отключать COM-порт / USB-порт / Ethernet-порт через графический интерфейс нашего приложения.

Можно ли программно манипулировать состоянием включенного / выключенного программного обеспечения в C #?

Ответы [ 2 ]

3 голосов
/ 12 апреля 2010

Согласно ответам в этой ветке обсуждения , порты USB можно отключить, изменив раздел реестра. Конечно, вы можете сделать это в C #.

В общем, это действительно вопрос аппаратного обеспечения Windows, а не вопрос C #. C # не имеет какого-либо специального доступа или контроля над оборудованием - все, что вы хотите сделать в C #, должно быть сделано с помощью API-интерфейсов ОС Windows или инструментов настройки. Почти любой неуправляемый Windows API может быть вызван из управляемого кода .NET (C # или иным образом) с помощью .NET PInvoke.

0 голосов
/ 12 апреля 2010

Здесь, в ужасной темноте, если вы можете написать отдельный файл * .exe или что-то для этого, вы можете вызвать файл * .exe в коде C #.

Оформить заказ System.Diagnostics.Process API.

System.Diagnostics.Processp = new Systems.Diagnostics.Process();
p.StartInfo.UseShellExecute = false;
p.StartInfo.FileName = "cmd";
p.StartInfo.Arguments = "..."; // Your command and args here
p.StartInfo.RedirectStandartOutput = true;

p.Start();
p.WaitForExit();

Удачи!

...