我有一个使用FTDI的FTD2XX.DLL的C#应用程序。该应用程序用于单个产品的多代产品,并抽象了物理硬件。有一个FTDI和HID实现。
该应用程序同时搜索适当的FTDI和HID设备,但是如果用户生成了HID,则很可能不存在FTDI驱动程序。
现在不考虑背景了。当我实例化FTDI类时,我得到了一个模态代码,不是由我的代码生成的,关于找不到FTDI驱动程序,并询问用户是否安装了驱动程序。我尝试将其包装在TRY/CATCH块中,但没有引发异常。
1:有没有办法在尝试实例化FTDI类之前确定是否已安装FTDI驱动程序?
2:如果没有,是否有一种方法可以阻止FTDI dll在发生这种情况时向用户发出警报?
最佳答案
我有完全相同的要求-就我而言,我枚举了标准串行端口列表,并将其附加到所有连接的FTDI设备的列表中。如果未安装驱动程序,那么我不想出现那些模式对话框。
我发现执行此操作的一种快速而又肮脏的方法是检查c:\windows\system32(或任何安装Windows的位置)中的文件FTD2XX.DLL。该文件的存在基本上意味着已经安装了驱动程序。
// 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/