Page 1 sur 1

[Resolu]ShellExecute

Publié : jeu. 19/juil./2007 19:29
par Le psychopathe
ShellExecute_(WindowID(), 0, GetFilePart(file), GetPathPart(file), #SW_SHOWNORMAL)

Voilà un code de soldat inconnu mais le problème c'est que je n'arrive pas à le faire fonctionner.
WindowId avec pure basic ça passe pas vide alors j'ai testé avec un 0.
Mais après c'est le shellexecute qui a pas le bon nombre ou type de paramaitres. Enfin bref cela doit faire 2 heures que je suis sur 1 ligne et là je craque :lol:

C'est pour lancer un programme à partir d'un raccourci :
Raccourci : PB.lnk
Dossier où se trouve le raccourci : c://

Si des personnes ont la solution...
merci

Publié : jeu. 19/juil./2007 20:05
par Jacobus
Essayes de cette façon

Code : Tout sélectionner

 ;exemple : 
 link$ = "monfichier.txt"; ou ce que tu veux, chemin complet nécessaire.
 If ShellExecute_(0,"open",link$,0,0,1); ouvre le fichier dans son application
 Else 
 MessageRequester("ERREUR", link$+" est introuvable!", #MB_ICONERROR)
 EndIf

;pour ouvrir un dossier c'est pareil, mais tu peux aussi l'explorer
 ;ShellExecute_(0,"explore",link$,0,0,1); ouvre le dossier en mode exploration (dossiers) si link$ est un répertoire 
exemple dans un ExplorerListgadget()
dans ta boucle

Code : Tout sélectionner

Case #LINKS_BROWSER  ; correspond à ton explorerlistgadget  
       Select EventType()      
            Case #PB_EventType_LeftClick ; si clic gauche
              PosItem = GetGadgetState(#LINKS_BROWSER)
              If PosItem >= 0
               Resultat = GetGadgetItemState(#LINKS_BROWSER, PosItem)
               LeftClic = GetMenuItemState(#PopupOptionsLinksBrowser,#Option_simpleclic) 
                 If LeftClic = 1
                   If Resultat & #PB_Explorer_Selected ;And Resultat & #PB_Explorer_File                                    
                     SelectedFile$ = GetGadgetItemText(#LINKS_BROWSER, PosItem, 0) 
                     MyDocs$     = GetGadgetText(#LINKS_BROWSER)                
                     ShellExecute_(0,"open",MyDocs$+SelectedFile$,0,0,1)
                   EndIf                
                 EndIf 
               EndIf        
            Case #PB_EventType_LeftDoubleClick
              PosItem = GetGadgetState(#LINKS_BROWSER)
              If PosItem >= 0
               Resultat = GetGadgetItemState(#LINKS_BROWSER, PosItem)
               If Resultat & #PB_Explorer_Selected ;And Resultat & #PB_Explorer_File                         
                   SelectedFile$ = GetGadgetItemText(#LINKS_BROWSER, PosItem, 0) 
                   MyDocs$     = GetGadgetText(#LINKS_BROWSER)                
                   ShellExecute_(0,"open",MyDocs$+SelectedFile$,0,0,1)                  
               EndIf 
              EndIf 
        EndSelect 

Publié : jeu. 19/juil./2007 20:09
par Le psychopathe
Jacobus a écrit :Essayes de cette façon

Code : Tout sélectionner

 ;exemple : 
 link$ = "monfichier.txt"; ou ce que tu veux, chemin complet nécessaire.
 If ShellExecute_(0,"open",link$,0,0,1); ouvre le fichier dans son application
 Else 
 MessageRequester("ERREUR", link$+" est introuvable!", #MB_ICONERROR)
 EndIf

;pour ouvrir un dossier c'est pareil, mais tu peux aussi l'explorer
 ;ShellExecute_(0,"explore",link$,0,0,1); ouvre le dossier en mode exploration (dossiers) si link$ est un répertoire 
thx :)