[Resolu]ShellExecute

Vous débutez et vous avez besoin d'aide ? N'hésitez pas à poser vos questions
Avatar de l’utilisateur
Le psychopathe
Messages : 764
Inscription : jeu. 03/mars/2005 19:23

[Resolu]ShellExecute

Message 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
Dernière modification par Le psychopathe le jeu. 19/juil./2007 21:09, modifié 1 fois.
Avatar de l’utilisateur
Jacobus
Messages : 1559
Inscription : mar. 06/avr./2004 10:35
Contact :

Message 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 
Dernière modification par Jacobus le jeu. 19/juil./2007 20:11, modifié 1 fois.
Quand tous les glands seront tombés, les feuilles dispersées, la vigueur retombée... Dans la morne solitude, ancré au coeur de ses racines, c'est de sa force maturité qu'il renaîtra en pleine magnificence...Jacobus.
Avatar de l’utilisateur
Le psychopathe
Messages : 764
Inscription : jeu. 03/mars/2005 19:23

Message 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 :)
Répondre