juki_webmaster
Messages postés947Date d'inscriptionmercredi 19 novembre 2003StatutMembreDernière intervention 5 avril 2008
-
3 nov. 2006 à 20:18
juki_webmaster
Messages postés947Date d'inscriptionmercredi 19 novembre 2003StatutMembreDernière intervention 5 avril 2008
-
6 nov. 2006 à 16:09
Salut,
Je voudrais savoir comment fait-on avec les API win 32 pour changer le mode d'affichage des icones d'un dossier precis ?
Sous XP, mettre l'affichage dans un dossier, en "Liste" par exemple.
ShareVB
Messages postés2676Date d'inscriptionvendredi 28 juin 2002StatutMembreDernière intervention13 janvier 201626 5 nov. 2006 à 23:47
salut,
plusieurs choses :
-> il y a une méthode plus simple...je vais bientôt poster le code que je suis en train de faire...à base de http://msdn.microsoft.com/library/default.asp?url=/library/en-us/shellcc/platform/shell/reference/functions/shgetviewstatepropertybag.asp..cependant pour le moment j'ai un gros bug bizard
-> les settings des dossiers peuvent être supprimés si le dossier n'est pas visité souvent...
-> j'ai un doute sur la portabilité "autre que XP" de cette API...
-> programmation shell = C++...cela dit on peut mettre des extern "C" sur une fonction perso appelée par le code C...
ShareVB
Messages postés2676Date d'inscriptionvendredi 28 juin 2002StatutMembreDernière intervention13 janvier 201626 4 nov. 2006 à 11:42
salut,
on peut récupérer un IShellFolder pour le dossier , demander un Ishellview avec CreateViewObject puis créer la fenêtre avec Create...Window...puis envoyer le message :
// get or set the FOLDERSETTINGS for a view
// wParam: BOOL TRUE -> set to view info buffer, FALSE -> get view info buffer
// lParam: LPFOLDERSETTINGS buffer to get or set view info
#define CWM_GETSETCURRENTINFO (WM_USER + 4)
#define FileCabinet_GetSetCurrentInfo(_hwnd, _bSet, _lpfs) SendMessage(_hwnd, CWM_GETSETCURRENTINFO, (WPARAM)(_bSet), (LPARAM)(LPFOLDERSETTINGS)_lpfs)
puis faire un saveviewstate sur le ishellview...mais pas tester...
La msdn ne dit rien sur SHGetDesktopFolder, ni sur une fonction similaire où ont pourais donner le path du dossier.
CreateViewObject > c'est appler à la façon C++, hors je code en C, il y aurais un exemple avec ça sur IShellFolder ?
Pour le reste je devrais pouvoir m'en sortir..
Pour les liens que tu ma donner, je trouve la methode pas tres attirante sourtout que moi à la base je veux juste modifier l'affichage pour des dossiers precis.
Aurais-tu un exemple pour IShellFolder & Ishellview avec CreateViewObject, pour du C ?
juki_webmaster
Messages postés947Date d'inscriptionmercredi 19 novembre 2003StatutMembreDernière intervention 5 avril 20083 6 nov. 2006 à 16:09
Pour la visite des dossiers, moi à la base je cherche juste à ce que les Thumbs.db ne ce recreer pas, dans tout les dossiers de mon dossier et dans le dossier où ce trouve mon dossier.
Les Thumbs c'est nouveau dans le monde Windows, ça as dut apparaitre sur Windows XP au debut. La msdn precise pourtout; Minimum operating systems Windows 2000
Je vais voir de plus pres avec la fonction que tu ma dit, elle sembre etre faite pour, et voir les extern "C" { } j'ai deja lut ça quelque part.