Objekt nur erzeugen wenn libary vorhanden?



  • Hallo,

    ich habe folgendes Problem. Ich muss eine Unterscheidung treffen welches Objekt erzeugt werden soll, da diese Objekte aber von verschiedenen Treibern abhänig sind
    muss ich zunächst suchen welcher Treiber installiert ist. Falls entweder A oder B installiert ist sollen die Header und der Code von z.b A aktiv werden und falls B installiert ist soll der Code und die Header von B aktiv werden.

    Kann man so ein Auswahlverfahren mit Visual C++ implementieren oder ist es generell unmöglich diese Prozedur zu implementieren?

    Die Unterscheidung soll nicht über den Compiler stattfinden.

    Gruß

    Wildcard



  • Klar geht das, die Frage ist nur wie. Und das kommt drauf an was du mit Treiber meinst. Unterschiedliche Treiber für unterschiedliche Geräte, oder unterschiedliche Treiber für dasselbe Gerät?
    Und was für Treiber genau? Normale .sys Windows Gerätetreiber, oder TWAIN, Druckertreiber, ... blub?

    Wenn es unterschiedliche Geräte sind, kannst du einfach alle Geräte enumerieren, und anhand der HardwareId gucken welches vorhanden ist.

    Wenn es unterschiedliche Treiber für das selbe Gerät sind, musst du eben irgendwie rausbekommen welche Treiberdateien für das Gerät installiert sind. Anhand des Namens oder der Version des primären Treiberfiles kannst du dann entscheiden.

    Sollte IIRC alles über die SetupDi API gehen.


Anmelden zum Antworten