Comment gérér les blancs dans les arguments d'une cmdline ?

Vous débutez et vous avez besoin d'aide ? N'hésitez pas à poser vos questions
barnar
Messages : 2
Inscription : jeu. 08/mars/2007 10:46

Comment gérér les blancs dans les arguments d'une cmdline ?

Message par barnar »

Code : Tout sélectionner

 #CRLF = Chr(13) + Chr(10)

Procedure.s getStdOut (exeFile.s, args.s)

 ;Le fichier exeFile doit se trouver dans le directory  %WINDIR%\system32 
  
  curDir.s     =   ""  
  flags         =  #PB_Program_Open | #PB_Program_Read | #PB_Program_Hide
  numProg      =   RunProgram (exeFile , args, curDir, flags )
 
  resultat.s = ""
  ligne.s = "" 
  
  While ProgramRunning (numProg)
        ligne = ReadProgramString (numprog)
        If ligne <> ""
        resultat +  ligne + #CRLF
        EndIf
  Wend
  
  ProcedureReturn resultat 
EndProcedure

;---- MAIN()

args.s = "query  hklm\Software\Microsoft\Windows\CurrentVersion\Run"               ; arg1
;args.s = "query  hkcu\Software\Microsoft\Windows NT\CurrentVersion\devices"       ; arg2

resu.s = getStdOut ("reg.exe", args)
MessageRequester ("  ", resu, #PB_MessageRequester_Ok )
 

End

; IDE Options = PureBasic v4.02 (Windows - x86)
; CursorPosition = 4
; Folding = -
; EnableThread
Bonjour,
Dans le code ci-dessus tout va bien avec arg1 (voir dans 'MAIN()'), mais avec arg2 non. J'ai pensé que ça venait du blanc dans 'Windows NT' et j'ai essayé les techniques habituelles (sous-chaines, space(1), chr(39) etc,
en vain !
Quelqu'un peut-il m'aider ? Merci. : :oops:
lionel_om
Messages : 1500
Inscription : jeu. 25/mars/2004 11:23
Localisation : Sophia Antipolis (Nice)
Contact :

Message par lionel_om »

Met des double quotes (") pour entourer tes arguments :

Code : Tout sélectionner

truc.exe "c:\program files\..." "-coucou -hello"
Pour cela tu aura besoin de

Code : Tout sélectionner

Chr(34)
Lio :wink:
Webmestre de Basic-univers
Participez à son extension: ajouter vos programmes et partagez vos codes !
barnar
Messages : 2
Inscription : jeu. 08/mars/2007 10:46

comment gérer les blancs dans une cmdline ?

Message par barnar »

Merci lionel_om
OK j'ai compris
:P
Répondre