SystemRoot ermitteln



  • Hi Forum,
    wie kann mann am besten den Systemordner ermittel, na ja bei meinen XP könnte ich ihn als String übergeben,

    CString sPath = "C:\\Windows\\Tasks\\";
    // was aber wenn es kein XP ist sondern ein NT oder Win2000, dann ist 
    // der Pfad zu Task Ordner C:\Winnt\Tasks\
    // kann ich den Wert nicht aus der Registry auslesen, ich komme leider aleine 
    // nicht weiter mit dem  :o) 
    // ich wollte:
    CString sPath = "%SystemRoot%\\Tasks\\";  :confused: 
    // leider gehts so nicht  :confused:
    

    Danke im Voraus
    Mirsad



  • SHGetSpecialFolderPath



  • Es gibt auch eine Taskplaner API.

    Such mal nach ITaskScheduler falls du was darüber wissen willst.

    Um das Windows-Verzeichnis zu ermitteln kannst du auch GetWindowsDirectory verwenden.



  • Hi,
    danke euch für die Antworten, habs mit der vorgeschlagenen Funktion versucht:

    int nFolder = CSIDL_WINDOWS ;
    HWND hwndOwner;
    LPTSTR lpszPath;
    BOOL fCreate = FALSE;
    SHGetSpecialFolderPath(hwndOwner,lpszPath,nFolder,fCreate);	
    
    // dann die Fehlermeldung das CSIDL_WINDOWS unbekannt ist, die .dll ist eingebunden?
    

    habs dann mit CRegKey Open und QueryValue gemacht, und wenn ich ehrlich bin weis ich nicht genau welche der beiden die bessere ist 😞 ,ist geeigneter dafür 😞 ,
    mfg
    mirsad


Anmelden zum Antworten