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
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. :
