Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我通过打开文件句柄 ioctl 并使用 sg_io_hdr_t 结构来控制我自己设计的 USB 设备,它使用带有 C 的 SCSI 接口。我必须设计一个 GUI,我应该用 C# 来做。我对 C# 不太熟悉。你能建议一种用 C# 做到这一点的方法吗
你有几个选择
1- 使用p/invoke(平台调用)互操作性。使用它你可以做两件事之一。使用 p/invoke 从 .NET 调用 Win32 api,或者您可以编写一个 C dll,导出一个简化的接口来控制设备,然后与这个 dll 互操作。
2-您可以使用托管 C++,并创建一个可以从 C# 调用的库。
3-您可以将 C 代码包装为 COM 对象并使用 C# 中的 COM 互操作。
由于您可能有一些工作 C 代码,我认为最简单的方法是创建一个导出易于调用接口的 DLL,然后使用 P/Invoke 从 C# 调用它