GTK + SHGetSpecialFolderLocation



  • Ich möchte mit einer Windows-API den Ordner für Favoriten ermitteln, und diesen dann in einer GTK-Entry-Box darstellen. Ich hoffe der Post ist hier richtig, ich weiß noch net ob das Problem an GTK oder Windows liegt (wie wärs mal mit einem GTK-Forum hier? :)).

    Der Fehler tritt dann an der shell32.dll auf. Würd ja gerne mehr Details geben, hab aber mein WinDebug verschlampt 🙂

    ALso hier ist einmal der Aufruf und die Funktion. Hab die Funktion aus dem VB-Original auf C++ umgeschrieben.

    char *get_favourites_folder_32 () {
      ITEMIDLIST *idl;
      char *temp;
    
      SHGetSpecialFolderLocation (NULL, CSIDL_FAVORITES, &idl);
      SHGetPathFromIDList (idl, temp);
    
      return temp;
    }
    
    g_print (get_favourites_folder_32());
      gtk_box_pack_start (GTK_BOX (v_step2), lbl_step2, FALSE, FALSE, 0);
      gtk_box_pack_start (GTK_BOX (v_step2), s2_entry1, FALSE, FALSE, 0);
    

    Ich bekomm dann halt einen Programmfehle von wegn "Diese Anwenung muss geschloßen werden undsoweiter".

    Ich hoffe ihr könnt mir helfen!

    THX, Sean



  • Hallo,

    ein Tipp: probiere das gleiche mit SHGetSpecialFolderPath, ist einfacher zu handhaben (benötigt z.B. keinen LPITEMIDLIST-Zeiger, und keine besonderen Vorkehrungen).

    MfG



  • char *temp;
    

    Wo zeigt der Zeiger denn hin? Musst auch Speicher holen!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!111



  • funktioniert.
    bin n alter vb-user und vergess das immer mit dem speicher 🙂


Anmelden zum Antworten