Hallo zusammen,
wie kann ich denn in autoit herausfinden, welches standardprogramm für eine dateiendung zugewiesen wurde?
so dass ich einen pfad zu dieser programm-exe auslesen kann, wie z.b. bei pdf der acrobat reader.
geht das ??
gruß anno
Hallo zusammen,
wie kann ich denn in autoit herausfinden, welches standardprogramm für eine dateiendung zugewiesen wurde?
so dass ich einen pfad zu dieser programm-exe auslesen kann, wie z.b. bei pdf der acrobat reader.
geht das ??
gruß anno
Vllt brauchst du nur den Befehl ShellExecute (der nimmt automatisch das Standard-Programm zum Starten einer Datei). Ansonsten müsste man das über die Registry machen.
ich habe im forum mal was gefunden
hier wird eine endung in der registry registriert. ich kenne mich mit er reg jetzt nicht so aus, aber ich kann auch diesen anfang HKCR nicht finden.
HKCR ist die Abkürzung für HKEY_CLASSES_ROOT.
ich habe in den schlüsseln bisher immer nur die exe dateinamen gefunden, aber kein ganzer pfad der datei.
wie komme ich denn auf den ganzen pfad?
Wenn da kein Pfad drinsteht, ist der Pfad in der Path-Variable vorhanden.
Also am besten in @WinDir und in @windir & "\system32" gucken...
Anzeigen lässt du die Path-systemvariable, also alle Ordner, wo das Programm stecken könnte über
Run(@ComSpec & "/c path & pause")
[/autoit]wenn ich z.b mal winrar nehme, dann findet sich das programm ja unter:
c:\programme\winrar\winrar.exe
in der reg steht da aber in HKEY_CLASSES_ROOT\.rar nur ein oder 2 werte.
der eine ist (Standard) | REG_SZ | WinRar
und der andere ZAMailSafeext | REG_SZ | zma
also irgendwie braucht man da doch sicherlich noch was anderes als nur diese registryeinträge.
Ja, du hast Recht.
Bei einigen Programmen, wie Beispielsweise WinRar, bedeutet WinRAR nicht das Programm, sondern den Dateityp.
D.h.: HKCR\WinRAR
Dort gibt es einen Unterschlüssel shell\open, dessen Standartwert schließlich den vollen Pfad plus Parameterplatz (%1) angibt.
Hallo, ich muss wegen diesen Schlüsseln nochmal nachfragen.
und zwar habe ich da denke ich einen ganz guten kandidaten gefunden.
ich möchte z.b. ein jpeg file öffnen. da ist bei mir der standardviewver unter windows xp aktiv.
[autoit][/autoit][autoit][/autoit][autoit]MsgBox(1, "schlüssel", RegRead("HKCR\jpegfile\shell\open\command", "REG_SZ"))
[/autoit][autoit][/autoit][autoit][/autoit]will ich nun diesen Schlüssel auslesen bekomme allerdings nut einen leeren string zurück bzw. in der msgbox wird nichts angezeigt.
Wie kann ich aber nun den Wert, den ich in der registry gesehen habe nun mit dem z.b. shellexecute oder runwait usw... öffnen.
Wert aus der Registry:
bei vista hätte ich folgendes: