[C/C++] IShellFolder - Probleme de avec le Shell windows
2 réponses
MrHanky
Bonjour,
Je viens d'ecrire une toute petite appli qui ne fonctionne correctement
que sous win XP, et je ne comprend pas pourquoi. L'instruction qui bloque le
tout est : GetDisplayNameOf(...) ( voir l'interface IShellFolder pour plus
d'info ). Sous WinXP, pas de pb, cette fonction marche tout le temps. Sous
95/98/Me, c'est une catastrophe, elle retourne des mauvais type de fichier
(un fichier a les meme attributs qu'un dossier). Puis en regardant dans Mes
Documents ou ailleur que dans le 'Desktop folder', on obtient que des noms
de fichier comme suit : '_ ' ou bien '_o ', rien d'autre, meme en créant un
répertoire vide (appelons le Nouveau Dossier), le nom retourné est '_ ',
bref, une vraie farce. Quelqu'un a une solution pour ca ? (En sachant qu'il
s'agit bien entendu du meme code pour les differents OS)
Sinon, quelqu'un aurait une solution miracle (du style tutorial/sample)
pour créer un folder tree (comme dans explorer) ? Ou un tutorial sur une
éventuelle interface qui implenterait ca ? Par exemple
IShellForlerTreeTheONeYouWereDreaming, ok, c'est utopique, mais y'a rien qui
existe dans ce style, un truc qui rependrait le code IE ?
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Christian ASTOR
MrHanky wrote:
Je viens d'ecrire une toute petite appli qui ne fonctionne correctement que sous win XP, et je ne comprend pas pourquoi. L'instruction qui bloque le tout est : GetDisplayNameOf(...) ( voir l'interface IShellFolder pour plus d'info ). Sous WinXP, pas de pb, cette fonction marche tout le temps. Sous 95/98/Me, c'est une catastrophe, elle retourne des mauvais type de fichier (un fichier a les meme attributs qu'un dossier). Puis en regardant dans Mes Documents ou ailleur que dans le 'Desktop folder', on obtient que des noms de fichier comme suit : '_ ' ou bien '_o ', rien d'autre
Tu dois t'emmêler les pinceaux avec les PIDL car ça a tjrs marché sous tous les OS. Un rapide ex sous Win 98, qui me ramène bien, à partir de "C:Mes documents", tous les noms de fichiers et répertoires dans szDisplayName (StrRetToBuf()) =>
Sinon, quelqu'un aurait une solution miracle (du style tutorial/sample) pour créer un folder tree (comme dans explorer) ?
MSDN => Enumdesk.c et autres ex.
MrHanky wrote:
Je viens d'ecrire une toute petite appli qui ne fonctionne correctement
que sous win XP, et je ne comprend pas pourquoi. L'instruction qui bloque le
tout est : GetDisplayNameOf(...) ( voir l'interface IShellFolder pour plus
d'info ). Sous WinXP, pas de pb, cette fonction marche tout le temps. Sous
95/98/Me, c'est une catastrophe, elle retourne des mauvais type de fichier
(un fichier a les meme attributs qu'un dossier). Puis en regardant dans Mes
Documents ou ailleur que dans le 'Desktop folder', on obtient que des noms
de fichier comme suit : '_ ' ou bien '_o ', rien d'autre
Tu dois t'emmêler les pinceaux avec les PIDL car ça a tjrs marché sous
tous les OS.
Un rapide ex sous Win 98, qui me ramène bien, à partir de "C:Mes
documents", tous les noms de fichiers et répertoires dans szDisplayName
(StrRetToBuf()) =>
Je viens d'ecrire une toute petite appli qui ne fonctionne correctement que sous win XP, et je ne comprend pas pourquoi. L'instruction qui bloque le tout est : GetDisplayNameOf(...) ( voir l'interface IShellFolder pour plus d'info ). Sous WinXP, pas de pb, cette fonction marche tout le temps. Sous 95/98/Me, c'est une catastrophe, elle retourne des mauvais type de fichier (un fichier a les meme attributs qu'un dossier). Puis en regardant dans Mes Documents ou ailleur que dans le 'Desktop folder', on obtient que des noms de fichier comme suit : '_ ' ou bien '_o ', rien d'autre
Tu dois t'emmêler les pinceaux avec les PIDL car ça a tjrs marché sous tous les OS. Un rapide ex sous Win 98, qui me ramène bien, à partir de "C:Mes documents", tous les noms de fichiers et répertoires dans szDisplayName (StrRetToBuf()) =>
Sinon, quelqu'un aurait une solution miracle (du style tutorial/sample) pour créer un folder tree (comme dans explorer) ?
MSDN => Enumdesk.c et autres ex.
MrHanky
Merci Christian pour cette réponse très complète. En lisant ton code, je me suis apercu que j'avais la meme chose :-( - Mais en relisant de plus pres, j'ai repéré un copier/coller qui avait mal tourné, le pb etait bidon. Donc moi etre heureux. Et moi remercier toi beaucoup beaucoup, vu que moi étais a la limite de jetter mon bureau par la fenetre. C'est quand meme dramatique de perdre autant de temps sur la prog win32, ca me désole de plus en plus.
Mr Hanky, qui a les doigts dedant.
"Christian ASTOR" a écrit dans le message de news:3fa6bf1e$0$6980$
MrHanky wrote:
> Je viens d'ecrire une toute petite appli qui ne fonctionne
correctement
> que sous win XP, et je ne comprend pas pourquoi. L'instruction qui
bloque le
> tout est : GetDisplayNameOf(...) ( voir l'interface IShellFolder pour
plus
> d'info ). Sous WinXP, pas de pb, cette fonction marche tout le temps.
Sous
> 95/98/Me, c'est une catastrophe, elle retourne des mauvais type de
fichier
> (un fichier a les meme attributs qu'un dossier). Puis en regardant dans
Mes
> Documents ou ailleur que dans le 'Desktop folder', on obtient que des
noms
> de fichier comme suit : '_ ' ou bien '_o ', rien d'autre
Tu dois t'emmêler les pinceaux avec les PIDL car ça a tjrs marché sous tous les OS. Un rapide ex sous Win 98, qui me ramène bien, à partir de "C:Mes documents", tous les noms de fichiers et répertoires dans szDisplayName (StrRetToBuf()) =>
> > Sinon, quelqu'un aurait une solution miracle (du style
tutorial/sample)
> pour créer un folder tree (comme dans explorer) ?
MSDN => Enumdesk.c et autres ex.
Merci Christian pour cette réponse très complète. En lisant ton code, je
me suis apercu que j'avais la meme chose :-( - Mais en relisant de plus
pres, j'ai repéré un copier/coller qui avait mal tourné, le pb etait bidon.
Donc moi etre heureux. Et moi remercier toi beaucoup beaucoup, vu que moi
étais a la limite de jetter mon bureau par la fenetre.
C'est quand meme dramatique de perdre autant de temps sur la prog win32,
ca me désole de plus en plus.
Mr Hanky, qui a les doigts dedant.
"Christian ASTOR" <castorix@club-internet.fr> a écrit dans le message de
news:3fa6bf1e$0$6980$7a628cd7@news.club-internet.fr...
MrHanky wrote:
> Je viens d'ecrire une toute petite appli qui ne fonctionne
correctement
> que sous win XP, et je ne comprend pas pourquoi. L'instruction qui
bloque le
> tout est : GetDisplayNameOf(...) ( voir l'interface IShellFolder pour
plus
> d'info ). Sous WinXP, pas de pb, cette fonction marche tout le temps.
Sous
> 95/98/Me, c'est une catastrophe, elle retourne des mauvais type de
fichier
> (un fichier a les meme attributs qu'un dossier). Puis en regardant dans
Mes
> Documents ou ailleur que dans le 'Desktop folder', on obtient que des
noms
> de fichier comme suit : '_ ' ou bien '_o ', rien d'autre
Tu dois t'emmêler les pinceaux avec les PIDL car ça a tjrs marché sous
tous les OS.
Un rapide ex sous Win 98, qui me ramène bien, à partir de "C:Mes
documents", tous les noms de fichiers et répertoires dans szDisplayName
(StrRetToBuf()) =>
Merci Christian pour cette réponse très complète. En lisant ton code, je me suis apercu que j'avais la meme chose :-( - Mais en relisant de plus pres, j'ai repéré un copier/coller qui avait mal tourné, le pb etait bidon. Donc moi etre heureux. Et moi remercier toi beaucoup beaucoup, vu que moi étais a la limite de jetter mon bureau par la fenetre. C'est quand meme dramatique de perdre autant de temps sur la prog win32, ca me désole de plus en plus.
Mr Hanky, qui a les doigts dedant.
"Christian ASTOR" a écrit dans le message de news:3fa6bf1e$0$6980$
MrHanky wrote:
> Je viens d'ecrire une toute petite appli qui ne fonctionne
correctement
> que sous win XP, et je ne comprend pas pourquoi. L'instruction qui
bloque le
> tout est : GetDisplayNameOf(...) ( voir l'interface IShellFolder pour
plus
> d'info ). Sous WinXP, pas de pb, cette fonction marche tout le temps.
Sous
> 95/98/Me, c'est une catastrophe, elle retourne des mauvais type de
fichier
> (un fichier a les meme attributs qu'un dossier). Puis en regardant dans
Mes
> Documents ou ailleur que dans le 'Desktop folder', on obtient que des
noms
> de fichier comme suit : '_ ' ou bien '_o ', rien d'autre
Tu dois t'emmêler les pinceaux avec les PIDL car ça a tjrs marché sous tous les OS. Un rapide ex sous Win 98, qui me ramène bien, à partir de "C:Mes documents", tous les noms de fichiers et répertoires dans szDisplayName (StrRetToBuf()) =>