2017-06-07 67 views
1

1)我想基于硬件信息(USB \ VID_12C1)在Installshield中注册Dll。使用InstallShield安装驱动程序(USB设备)

- >我想知道连接到PC的USB设备的设备ID。 然后我想将USB设备信息读取到单独的文件中。

- >从installshield中,我将USB供应商ID传递到文本文件 并获取USB信息。

- >是否可以在Installshield中执行此操作。

以下是我试图获取设备ID的方式:

szProgram = WINDIR^"temp"^"New"^"devcon.exe"; 

szCmdLine = " hwids *"; 

nvResult = LaunchAppAndWait(szProgram, szCmdLine, LAAW_OPTION_WAIT); 

if (nvResult = 0) then 

    MessageBox ("ERROR: application created sucfuly", INFORMATION); 

else 

    MessageBox ("ERROR: application", INFORMATION); 

endif; 

- >安装时安装程序试图通过LaunchAppandwait API要执行“devcon.exe hwids *” 。它会列出连接到我的电脑的设备数量 。我想将设备列表保存为文本文件。 问题: - >无法将结果存储在文本文件中。

请提供一些想法将设备列表存储到文件中,并提取 所需的设备列表。

+0

我建议在InstallShield中创建项目,将驱动程序添加到其中,查看有哪些工作以及您遇到了哪些问题,然后回到特定问题。 –

+0

我试图创建并测试它。 – sathish

+0

伟大的,你有什么具体问题,不能解决? –

回答

1

据我了解正确,你想知道如果某些设备可用的系统。为此,我建议看看DevCon Find命令,而不是获取完整的设备列表。例如:

devcon find *USB\VID_046D* 

如果你坚持要得到设备的完整列表,并希望得到它到文件,你可以看看这个答案:Capturing stdOutput and stdError from LaunchApplication。基本上最简单的方法是将输出重新输入到文件中。例如:

szProgram = WINDIR^"temp"^"New"^"devcon.exe"; 
szCmdLine = " hwids * > c:\temp\New\hardware.txt"; 

而为了解析文件内容,您需要获取文件内容。您可以使用GetLineListReadFromFile函数。以下是示例:OpenFile Example

+0

我想要做的是我想通过传递硬件ID为“PCI \ VEN_8086&DEV_3B56&SUBSYS_304A103C&”来从文本文件中读取“修订版本(REV_05)”。它显示硬件Id列表,如名称:高清晰度音频控制器 硬件ID的: PCI \ VEN_8086&DEV_3B56&SUBSYS_304A103C&REV_05你可以建议任何api阅读我试图通过ListID,Strfind,StrfindEx访问。 – sathish

+0

@sathish该评论是用于短消息,绝对不适用于代码片段。您可以选择:通过添加更多描述来询问更多问题或编辑原始问题,而不是编辑现有内容。通常,人工智能创建一个或多个(不同)问题,或者在编辑原始问题时已经回答,并在最后添加“编辑:”并放置更多评论。请考虑第一个选项并提出具体问题,有人会提供帮助。 –

+0

@sathish你有没有收到你的内容?你有解析困难吗?你最好在另一个问题中描述它。请指定标签“InstallScript”。比赛不应该很难,只是准确地描述哪些不适合你。 –

相关问题