vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
Top-Preis! AP-Access-Tools-CD Volume 1  
 vb@rchiv Quick-Search: Suche startenErweiterte Suche starten   Impressum  | Datenschutz  | vb@rchiv CD Vol.6  | Shop Copyright ©2000-2024
 
zurück

 Sie sind aktuell nicht angemeldet.Funktionen: Einloggen  |  Neu registrieren  |  Suchen

VB.NET - Ein- und Umsteiger
Pfad eines Programms ermitteln 
Autor: Tommi467
Datum: 14.03.14 07:54

Hallo zusammen,

ich habe hier ein Tool, das mit einer anderen Software zusammenarbeitet.
Da es je nach Version unterschiedliche Programmverzeichnisse und EXE-Namen
gibt, muss ich Pfad und Namen in einem Optionenfenster meiner Software
einstellen.

Diesen Schritt möchte ich gerne automatisieren.

Es gibt ja die Möglichkeit, eine Datei mit dem zugehörigen Software zu starten.
Mir ist allerdings nicht bekannt, dass ich dabei auch den Pfad und Namen der
Software ermitteln kann.

Geht das irgendwie???

Ich hatte eine Suchfunktion erstellt, die die gesamte Platte gescannt hat,
dass stellte sich aber als wenig praktikabel heraus.
Über die oben genannte Funktion sollte es doch einfacher sein... oder???

Vielen Dank für eure Tipps

Beitrag wurde zuletzt am 14.03.14 um 07:54:45 editiert.
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Pfad eines Programms ermitteln 
Autor: powerzone3000
Datum: 14.03.14 09:31

Hallo,
entweder per API-Funktion: http://www.vbarchiv.net/tipps/details.php?id=1523
oder Registry: http://social.msdn.microsoft.com/Forums/en-US/92775e57-3acd-4ea1-bf65-a25682346cfa/get-default-application-from-file-extension?forum=vbgeneral

Gruß
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Pfad eines Programms ermitteln 
Autor: Tommi467
Datum: 14.03.14 10:33


Super, vielen Dank für den Tipp.

Funktioniert einwandfrei... hilft mir aber leider nicht weiter...

Bei der gesuchten EXE handelt es sich um AutoCAD LT.
Diese wird aber leider nicht in die REG eingetragen
sondern nur eine ACLauncher.exe

Die versteht aber leider nicht alle notwendigen Parameter die
ich der ACLT.EXE übergeben muss. Also stehe ich leider wieder
komplett am Anfang...

Sch.... ..ade

Trotzdem vielen Dank.
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Pfad eines Programms ermitteln 
Autor: Tommi467
Datum: 14.03.14 11:35


Lösung über Registry:

Ich habe jetzt einen ganz anderen Lösungsansatz.
Ich gehe über die Registry und lese dort den
Software\...\MuiCache aus.

In der Schleife suche ich nach dem Dateinamen
und Bingo... Da ist der komplette Name und Pfad:

        Dim MeinKey As RegistryKey
        Dim i As Integer
        MeinKey = Registry.ClassesRoot.OpenSubKey( _
           "Local Settings\Software\Microsoft\Windows\Shell\MuiCache")
        ' Schlüssel dieses Zweigs ermitteln 
        Dim ValueNames() As String
        ValueNames = MeinKey.GetValueNames()
        ' Namen der Schlüssel ausgeben 
        Debug.WriteLine("SCHLÜSSEL:")
        For i = LBound(ValueNames) To UBound(ValueNames) - 1
            If InStr(ValueNames(i), "aclt") Or InStr(ValueNames(i), "acad") Then
                MsgBox(ValueNames(i))
            End If
 
        Next
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Sie sind nicht angemeldet!
Um auf diesen Beitrag zu antworten oder neue Beiträge schreiben zu können, müssen Sie sich zunächst anmelden.

Einloggen  |  Neu registrieren

Funktionen:  Zum Thema  |  GesamtübersichtSuchen 

nach obenzurück
 
   

Copyright ©2000-2024 vb@rchiv Dieter Otter
Alle Rechte vorbehalten.
Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein.

Diese Seiten wurden optimiert für eine Bildschirmauflösung von mind. 1280x1024 Pixel