problème avec RunProgram()

Vous débutez et vous avez besoin d'aide ? N'hésitez pas à poser vos questions
lepiaf31
Messages : 510
Inscription : dim. 25/mars/2007 13:44
Localisation : Toulouse, France
Contact :

problème avec RunProgram()

Message par lepiaf31 »

Bonjour, j'ai un petit souci avec la fonction RunProgram(). Je voudrais lancer l'explorateur de Windows (explorer.exe) et attendre la fin de l'execution de ce programme. Je fais donc:

Code : Tout sélectionner

RunProgram("explorer.exe", "C:\Users", "", #PB_Program_Wait)
Debug "ok"
Mais ca ne marche pas. "ok" s'affiche alors que je n'ai pas fermé l'explorateur. Est-ce normal ou c'est un bug ?

PS: j'ai déjà essayé de mettre l'option #PB_Program_Open et aussi d'utiliser la fonction WaitProgram().
Avatar de l’utilisateur
Ar-S
Messages : 9540
Inscription : dim. 09/oct./2005 16:51
Contact :

Re: problème avec RunProgram()

Message par Ar-S »

Code : Tout sélectionner

RunProgram("C:\","","",#PB_Program_Wait) ; j'ai pas users sous xp
Debug "ok"
~~~~Règles du forum ~~~~
⋅.˳˳.⋅ॱ˙˙ॱ⋅.˳Ar-S ˳.⋅ॱ˙˙ॱ⋅.˳˳.⋅
W11x64 PB 6.x
Section HORS SUJET : ICI
LDV MULTIMEDIA : Dépannage informatique & mes Logiciels PB
UPLOAD D'IMAGES : Uploader des images de vos logiciels
lepiaf31
Messages : 510
Inscription : dim. 25/mars/2007 13:44
Localisation : Toulouse, France
Contact :

Re: problème avec RunProgram()

Message par lepiaf31 »

Non j'ai toujours le même problème. "ok" apparait tout de suite après le lancement ... (je suis sous seven).

J'ai testé avec les APIs:

Code : Tout sélectionner

prog = RunProgram("explorer.exe", "C:\Users", "", #PB_Program_Open)
hProcess = OpenProcess_(#PROCESS_QUERY_INFORMATION, 0, ProgramID(prog))
exitCode.l
GetExitCodeProcess_(hProcess, @exitCode)
debug exitCode
Repeat
  GetExitCodeProcess_(hProcess, @exitCode)
  Debug exitCode
  Delay(1)
ForEver
et rapidement, exitCode prend la valeur 1 (alors qu'elle doit resté à 259 tant que le programme est lancé).
lepiaf31
Messages : 510
Inscription : dim. 25/mars/2007 13:44
Localisation : Toulouse, France
Contact :

Re: problème avec RunProgram()

Message par lepiaf31 »

cela doit venir du processus explorer.exe car quand je fais:
RunProgram("notepad.exe", "", "", #PB_Program_Wait)
Debug "ok"
Ca marche très bien ..
Avatar de l’utilisateur
Ar-S
Messages : 9540
Inscription : dim. 09/oct./2005 16:51
Contact :

Re: problème avec RunProgram()

Message par Ar-S »

Peut-être est-ce encore du aux restrictions de Seven lorsqu'on farfouille dans les repertoires user ou system.
Car sous xp ça fonctionne, même si l'affichage des 2 est casi instantané.

Essaye en ouvrant un répertoire d'une autre partition si tu en a plusieurs histoire de confirmer ou d'infirmer mes dires.
~~~~Règles du forum ~~~~
⋅.˳˳.⋅ॱ˙˙ॱ⋅.˳Ar-S ˳.⋅ॱ˙˙ॱ⋅.˳˳.⋅
W11x64 PB 6.x
Section HORS SUJET : ICI
LDV MULTIMEDIA : Dépannage informatique & mes Logiciels PB
UPLOAD D'IMAGES : Uploader des images de vos logiciels
lepiaf31
Messages : 510
Inscription : dim. 25/mars/2007 13:44
Localisation : Toulouse, France
Contact :

Re: problème avec RunProgram()

Message par lepiaf31 »

Même resultat quand j'essaye d'ouvrir D:\ ou Mes Documents.
Avatar de l’utilisateur
Ar-S
Messages : 9540
Inscription : dim. 09/oct./2005 16:51
Contact :

Re: problème avec RunProgram()

Message par Ar-S »

3 pistes
- As tu les droits admin ?
- Peux tu faire un clique droit/proprieté sur l'explorer pour "l'ouvrir en tant qu'admin"
- Essaye de remplacer ton debug par un messagerequester puis de compiler ton exe et de l'executer en tant qu'admin.
~~~~Règles du forum ~~~~
⋅.˳˳.⋅ॱ˙˙ॱ⋅.˳Ar-S ˳.⋅ॱ˙˙ॱ⋅.˳˳.⋅
W11x64 PB 6.x
Section HORS SUJET : ICI
LDV MULTIMEDIA : Dépannage informatique & mes Logiciels PB
UPLOAD D'IMAGES : Uploader des images de vos logiciels
lepiaf31
Messages : 510
Inscription : dim. 25/mars/2007 13:44
Localisation : Toulouse, France
Contact :

Re: problème avec RunProgram()

Message par lepiaf31 »

Non rien à faire. J'ai tout testé et rien ne marche ... Quand on regarde les handles ou les PIDs avec l'API, on voit que le handle et le PID de l'application que je lance disparait presque tout de suite après son lancement ...
Le Soldat Inconnu
Messages : 4312
Inscription : mer. 28/janv./2004 20:58
Localisation : Clermont ferrand OU Olsztyn
Contact :

Re: problème avec RunProgram()

Message par Le Soldat Inconnu »

surement une histoire de zone protéger (logiciels de windows, signé et tatata) et zone tout venant ou purebasic va se trouver. Et du coup, il n'y a peut-être pas de possibilité d'échange entre les 2 zones. c'est juste une hypothèse
Je ne suis pas à moitié Polonais mais ma moitié est polonaise ... Vous avez suivi ?

[Intel quad core Q9400 2.66mhz, ATI 4870, 4Go Ram, XP (x86) / 7 (x64)]
lepiaf31
Messages : 510
Inscription : dim. 25/mars/2007 13:44
Localisation : Toulouse, France
Contact :

Re: problème avec RunProgram()

Message par lepiaf31 »

Bon merci.
Je me suis débrouillé autrement: j'ai listé les fenetres avant l'execution de explorer.exe puis je les ai listées après. De là, j'en déduis quelle est la nouvelle fenetre ouverte par explorer.exe et je boucle jusqu'a ce que cette fenetre soit détruite (par l'utilisateur).
Avatar de l’utilisateur
Ar-S
Messages : 9540
Inscription : dim. 09/oct./2005 16:51
Contact :

Re: problème avec RunProgram()

Message par Ar-S »

C'est quand même très relou de devoir en arriver là. C'est vraiment mon principale reproche à vista/seven. Cette rigidité outrancière est vraiment saoulante.
Dernière modification par Ar-S le dim. 23/mai/2010 14:21, modifié 1 fois.
~~~~Règles du forum ~~~~
⋅.˳˳.⋅ॱ˙˙ॱ⋅.˳Ar-S ˳.⋅ॱ˙˙ॱ⋅.˳˳.⋅
W11x64 PB 6.x
Section HORS SUJET : ICI
LDV MULTIMEDIA : Dépannage informatique & mes Logiciels PB
UPLOAD D'IMAGES : Uploader des images de vos logiciels
lepiaf31
Messages : 510
Inscription : dim. 25/mars/2007 13:44
Localisation : Toulouse, France
Contact :

Re: problème avec RunProgram()

Message par lepiaf31 »

Oui ca m'embete aussi mais bon ... Quand on n'a pas le choix
Geo Trouvpatou
Messages : 471
Inscription : dim. 23/déc./2007 18:10

Re: problème avec RunProgram()

Message par Geo Trouvpatou »

Salut.

[Hors sujet] Si ton programme doit créer, modifier, bidouiller des fichiers un peu partout, dans les options du compilo tu coches "L'application nécessite les droits administrateurs..." et au lancement de ton prog, il te sera demandé de lancer ton prog en admin pour justement que les modifs autre qu'aux endroits autorisés puissent se faire.
Répondre