ShellListView ??? [Résolu]

ni69 1529 Messages postés samedi 12 juin 2004Date d'inscription 5 juillet 2010 Dernière intervention - 4 déc. 2004 à 23:01 - Dernière réponse : cs_alll 11 Messages postés mardi 9 novembre 2004Date d'inscription 7 février 2008 Dernière intervention
- 9 févr. 2008 à 15:10
Bonjour,

J'ai un autre problème (toujours avec une ShellListView... il faut croire qu'elles comportent quelques bizarreries ! :shock) )

Quand je lance un raccourci par l'intermédiaire de celle-ci, il y a deux possibilités :
- Soit le raccourci marche correctement et ouvre l'application (par exemple pour une page web, la calculatrice windows...)
- Soit le raccourci ne marche pas... ?-) et rien ne se produit (Bloc-notes, Word, Excel...)

Les raccourcis ne marchant pas sont complêtement valides en dehors du programme !

En fait, j'ai examiné le problème de plus près : Le processus se lance bien (il est présent dans le gestionnaire de tâches), sauf que la fenêtre de l'application ne s'affiche pas....... donc impossible de se servir de l'application !

Si vous avez une explication à ce phénomène, je vous serais reconnaissant....

Merci

@+
Bonne Prog'
Nico
Afficher la suite 

6 réponses

Répondre au sujet
ni69 1529 Messages postés samedi 12 juin 2004Date d'inscription 5 juillet 2010 Dernière intervention - 5 déc. 2004 à 14:26
+3
Utile
C'est bon j'ai trouvé la solution !!!! 8-)

Il faut mettre AutoNavigate := False et mettre dans l'événement OnDbleClick de la ShellListView :
procedure TForm1.ShellListView1DblClick(Sender: TObject);
begin
with ShellListView1 do
if Assigned(ItemFocused) then
begin
ShellExecute(0,NIL,PChar(SelectedFolder.PathName),NIL,NIL,SW_SHOWNORMAL);
end;
end;


@+
Bonne Prog'
Nico

N'oubliez pas de cliquer sur Réponse acceptée lorsque la réponse vous convient ! :)
Cette réponse vous a-t-elle aidé ?  
Commenter la réponse de ni69
JulioDelphi 2354 Messages postés dimanche 5 octobre 2003Date d'inscription 18 novembre 2010 Dernière intervention - 5 déc. 2004 à 03:17
0
Utile
j'ai le meme probleme lors d'un double-clic, mais pas lors d'un clic droit > action (Lire,Ouvrir etc), là tout se lance nikel... mais sinon idem, le lance ma video.avi, mediaplayer se lance invisible et j'ai le son mais impossible de choper l'image !
rassure toi : le pb doit etre resolu qqpart, je vais checker

N'oubliez pas de cliquer sur Réponse acceptée lorsque la réponse vous convient ! ;)

-------------------------------------------
http://diabloporc.free.fr : mon site refait ! Delphi power !
Commenter la réponse de JulioDelphi
ni69 1529 Messages postés samedi 12 juin 2004Date d'inscription 5 juillet 2010 Dernière intervention - 5 déc. 2004 à 12:17
0
Utile
Effectivement le clic droit>Ouvrir marche mais j'ai désactivé la fonction clic droit (AutoContextMenus := False) pour éviter que les utilisateurs accèdent aux parametres des fichiers....

Merci pour ton aide :)

@+
Bonne Prog'
Nico
Commenter la réponse de ni69
JulioDelphi 2354 Messages postés dimanche 5 octobre 2003Date d'inscription 18 novembre 2010 Dernière intervention - 5 déc. 2004 à 14:35
0
Utile
superbe rechch ! bon travail :D je garde ça en astuce pour le futur
merci

N'oubliez pas de cliquer sur Réponse acceptée lorsque la réponse vous convient ! ;)

-------------------------------------------
http://diabloporc.free.fr : mon site refait ! Delphi power !
Commenter la réponse de JulioDelphi
ni69 1529 Messages postés samedi 12 juin 2004Date d'inscription 5 juillet 2010 Dernière intervention - 5 déc. 2004 à 23:41
0
Utile
En supplément, si on veut que la touche Enter fasse effet aussi :

procedure TForm1.ShellListView1KeyPress(Sender: TObject; var Key: Char);
begin
if key <> #13 then exit;
with ShellListView1 do
if Assigned(ItemFocused) then
begin
ShellExecute(0,NIL,PChar(SelectedFolder.PathName),NIL,NIL,SW_SHOWNORMAL);
end;
end;


Par contre, ce que je voudrais bien, c'est que quand on a sélectionné un dossier, il soit ouvert dans le ShellTreeView associé,... J'ai essayé :
if ExtractFileExt(SelectedFolder.PathName) = '' then // Si pas d'extension, donc si on pointe vers un dossier
ShellTreeView1.Path := SelectedFolder.PathName //Ce dossier est ouvert dans ShellTreeView
else // Si on pointe vers un fichier
ShellExecute(0,NIL,PChar(SelectedFolder.PathName),NIL,NIL,SW_SHOWNORMAL); //On ouvre ce fichier


Pourtant
ShellTreeView1.Path := SelectedFolder.PathName 

ne marche pas...

Seul
ShellTreeView1.Root := SelectedFolder.PathName 

marche...

Je n'ai pas envie de faire changer le root, mais le path sélectionné avec le même root (le bureau en fait)... donc comment faire ?

@+
Bonne Prog'
Nico
Commenter la réponse de ni69
cs_alll 11 Messages postés mardi 9 novembre 2004Date d'inscription 7 février 2008 Dernière intervention - 9 févr. 2008 à 15:10
0
Utile
bonjour a tous

procedure TForm1.FormCreate(Sender: TObject);
var
rep : string;
begin
   rep := ExtractFilePath(Paramstr(0));
        ShellTreeView1.Root := rep;
end;
sa marche pour moi avec shelllistview aussi pour lui dir ou aller au depart

cordialement
alll
Commenter la réponse de cs_alll

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.