是否可以通过编程方式启用/禁用硬件?

发布于 2024-08-28 18:22:32 字数 105 浏览 5 评论 0原文

在我们的项目中,我们收到一个要求,用户能够通过我们应用程序的 GUI 启用/禁用 COM 端口/USB 端口/以太网端口。

是否可以在 C# 中以编程方式操作硬件的启用/禁用状态?

In our project, we've received a requirement where the the user is to be capable of enabling/disabling a COM Port / USB Port / Ethernet Port via our application's gui.

Is it possible to manipulate harware's enabled/disabled state programatically in C#?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

‘画卷フ 2024-09-04 18:22:32

根据此讨论主题, USB 端口可以通过修改注册表项来禁用。您当然可以在 C# 中做到这一点。

一般来说,这实际上是一个 Windows 硬件问题,而不是一个 C# 问题。 C# 没有任何特殊的硬件访问或控制权 - 您想要在 C# 中执行的任何操作都必须使用 Windows 操作系统 API 或配置工具来完成。几乎任何非托管 Windows API 都可以使用 .NET 的 PInvoke 从托管 .NET 代码(C# 或其他代码)调用。

According to responses in this discussion thread, USB ports can be disabled by modifying a registry key. You can certainly do that in C#.

In general, this is really a Windows hardware question more than a C# question. C# does not have any special access or control of hardware - anything you want to do in C# will have to be done using the Windows OS APIs or configuration tools. Just about any unmanaged Windows API can be called from managed .NET code (C# or otherwise) using .NET's PInvoke.

征棹 2024-09-04 18:22:32

在黑暗中拍摄,如果您可以编写一个单独的 *.exe 文件或其他东西来完成它,您可以在 C# 代码中调用 *.exe 文件。

检查 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();

祝你好运!

Shot in the freaking dark here, if you can write a separate *.exe file or something to do it, you can call the *.exe file in C# code.

Checkout 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();

Good Luck!

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文