2017-06-07 4 views
1

1) J'essaie d'enregistrer la DLL dans Installshield en fonction des informations sur le matériel (USB \ VID_12C1).Installation du pilote à l'aide de InstallShield (périphérique USB)

-> Je souhaite connaître l'ID de périphérique du périphérique USB connecté au PC. Ensuite, je veux récupérer les informations du périphérique USB dans un fichier séparé.

-> De l'installshield je vais passer l'ID du fournisseur USB au fichier texte et récupérer les informations USB.

-> S'il est possible de le faire dans Installshield.

Voici la façon dont je suis en train d'obtenir le dispositif 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; 

-> Lors de l'installation du programme d'installation tente d'exécuter « devcon.exe hwids * » par LaunchAppandwait Api. Il va lister le nombre d'appareils connectés à mon PC. Je veux enregistrer la liste des appareils dans un fichier texte. Problème: -> Impossible de stocker le résultat dans un fichier texte.

Veuillez fournir quelques idées pour stocker la liste des périphériques dans le fichier et récupérer la liste des périphériques requis.

+0

Je suggère de créer le projet dans InstallShield, ajoutez vos pilotes dedans, voyez ce qui fonctionne et quels problèmes vous avez et revenez avec la question spécifique. –

+0

J'ai essayé de le créer et de le tester. – sathish

+0

Super, quel problème spécifique vous avez et ne pouvez pas résoudre? –

Répondre

1

Pour autant que je comprends bien, vous souhaitez savoir si certains périphériques sont disponibles sur le système. À cet effet, je suggère de jeter un oeil sur la commande DevCon Find, au lieu d'obtenir la liste complète des périphériques. Par exemple:

devcon find *USB\VID_046D* 

Si vous insistez pour obtenir la liste complète des appareils, et que vous souhaitez obtenir dans le fichier que vous pouvez regarder cette réponse: Capturing stdOutput and stdError from LaunchApplication. Fondamentalement, la manière la plus simple est de rediter la sortie dans le fichier. Par exemple:

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

Et afin d'analyser le contenu du fichier, vous devez obtenir le contenu du fichier. Vous pouvez utiliser les fonctions GetLine ou ListReadFromFile. Ce qui suit serait un exemple: OpenFile Example

+0

Ce que j'essaie de faire est que je veux lire la "Révision (REV_05)" du fichier texte en passant l'identification matérielle comme "PCI \ VEN_8086 & DEV_3B56 & SUBSYS_304A103C &" .Il montre la liste de matériel Id aiment: Nom: Contrôleur audio haute définition ID: PCI \ VEN_8086 & DEV_3B56 & SUBSYS_304A103C & REV_05 Peut-on suggérer n'importe quelle API à lire j'ai essayé d'accéder par ListID, Strfind, StrfindEx. – sathish

+0

@sathish Le commentaire est destiné aux messages courts et certainement pas aux extraits de code. Vous avez les options: posez une autre question ou éditez la question originale en ajoutant plus de description, pas en éditant le contenu existant. Habituellement ppl créer une autre question (différente) ou quand éditer la question originale qui est déjà répondu en ajoutant "EDIT:" à la fin et mettre plus de commentaires. S'il vous plaît considérer la première option et poser une question spécifique, quelqu'un va vous aider. –

+0

@sathish Avez-vous reçu votre contenu? Avez-vous du mal avec l'analyse? Tu ferais mieux de le décrire dans une autre question. Veuillez spécifier le tag "InstallScript". Il ne devrait pas être difficile d'obtenir le match, juste décrire exactement ce qui ne fonctionne pas pour vous. –