Programm automatisch starten???



  • Habe ein Programm geschrieben welches Eintragungen in der Registry vornimmt so das wenn man auf eine vom Programm erzeugte Datei einen Doppelklick ausführt das Programm gestartet wird und die gespeicherte Datei anzeigt wird.
    Unter Win XP und Win 2000 funktioniert das auch aber nicht unter Windows Vista.
    Hier muss ich in die “Systemsteuerung“ dann nach “Programme“ und
    dann auf “Dateityp immer mit einem bestimmten Programm öffnen“.
    Geht das auch anders?

    plutonium2


  • Mod

    Für solche Einträge in der Registry müsstest Du HKEY_CLASSES_ROOT ändern. Daruf hast Du aber nur Zugriff mit Admin Privilegien. Aber ohne mit "angehobenen Rechten" hat kein Programm mehr dieses Recht einfach dort Änderungen vorzunehmen.

    Stichwort UAC!

    Siehe meine Artikel zu Vista:
    http://blog.m-ri.de/index.php/category/programmieren/vista/



  • Hallo Martin.
    Bisher mache ich das mit

    EnableShellOpen();
    	RegisterShellFileTypes(TRUE);
    

    Vielleicht ein Hinweis wie das mit HKEY_CLASSES_ROOT geht.
    Das man dann Admin-Rechte braucht ist schon O.K.

    plutonium2


  • Mod

    Unter Vista wird aber ein Programm nicht als Admin gestartet, wenn Du es nicht explizit per UAC aus dem Manifest mit requireAdministrator markierst oder eben mit dem rechten Mausklick aus dem Kontextmenü auf die Datei "Als Administrator ausführen" anklickst.
    Oder eben asu einem bereits als Admin laufenden Prozess startest (Explorer, Befehlszeileneingabe...).

    Bitte informiere Dich etwas mehr über UAC.
    Ich habe dazu einiges in meinem Blog geschrieben.


Anmelden zum Antworten