我有一个使用 FTDI 的 FTD2XX.DLL 的 C# 应用程序。此应用程序用于单个产品的多代并抽象物理硬件。有一个 FTDI 和一个 HID 实现。
应用程序搜索合适的 FTDI 和 HID 设备,但如果用户拥有 HID 代,则可能不存在 FTDI 驱动程序。
现在抛开背景。当我实例化 FTDI 类时,我得到一个模式,不是由我的代码生成的关于找不到 FTDI 驱动程序并询问用户是否安装了驱动程序。我尝试将它包装在 TRY/CATCH block 中,但没有抛出异常。
1:有没有办法在尝试实例化 FTDI 类之前确定是否安装了 FTDI 驱动程序?
2:如果没有,有没有办法禁止FTDI dll在发生这种情况时提醒用户?
最佳答案
我有完全相同的要求——在我的例子中,我列举了标准串行端口的列表,并将其附加到任何连接的 FTDI 设备的列表中。如果未安装驱动程序,那么我不希望出现那些模式对话框。 我想出的一种快速而肮脏的方法是检查文件 FTD2XX.DLL 是否位于 c:\windows\system32(或安装 Windows 的任何位置)。这个文件的存在基本上意味着驱动程序已经安装。
// c# example
string path = Environment.GetFolderPath(Environment.SpecialFolder.System);
bool installed = File.Exists(path + Path.DirectorySeparatorChar + "FTD2XX.DLL");
关于c# - 如何在未安装驱动程序时禁止 FTDI .NET DLL 提醒用户,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5276438/