Problème d'utilisation excessive du processeur

Aide et conseils concernant AutoIt et ses outils.
Règles du forum
.
Répondre
nunurs
Niveau 2
Niveau 2
Messages : 16
Enregistré le : ven. 27 avr. 2012 15:05
Status : Hors ligne

Problème d'utilisation excessive du processeur

#1

Message par nunurs »

Bonjour, je rencontre un problème, j'ai remarqué que si je lançais plusieurs fois le script le processeur restait utilisé même après la fermeture du script m'obligeant a redémarrer l'ordinateur.

Je ne suis pas du tout un spécialiste mais alors vraiment pas je le préviens d'avance.

J'ai réussi tant bien que mal un script avec GUI pour télécharger mes vidéos avec le programme youtube-dl.
Est ce que vous pourriez m'aider a corriger le problème et rendre le script plus "juste".. parce que j'avoue que les radios et le checkbox je me demande par quel miracle j'ai réussi a ce que ce script fonctionne ... :/.

Chaque paramètre est enregistré dans le fichier ini pour une utilisation ultérieur ou pour le paramétrage de mkvmerge qui ira récupérer les informations dans le fichier ini.

Il existe 2 méthodes d'authentification pour les téléchargements, par cookies ou identifiants mot de passe.

J'aimerai aussi savoir comment faire pour quand lorsque je souhaite stopper la "maj" de la petite GUI qui se lance il ne ferme pas tout le script mais juste la partie téléchargement. Comme je n'arrive pas à retourner sur la fenêtre principale une fois le téléchargement fini et que les boutons soient cliquable je relance à nouveau le script en fermant celui en cours.

J'ai aussi un autre problème, lorsque j'affiche dans la fenêtre edit le log de l'exécution du téléchargement il galère.. des fois il mets 2 lignes sur la même ligne.. enfin ce n'est pas très réussi...

Code : Tout sélectionner

#RequireAdmin
#Region ;**** Directives created by AutoIt3Wrapper_GUI ****
#AutoIt3Wrapper_UseX64=n
#EndRegion ;**** Directives created by AutoIt3Wrapper_GUI ****
#include <ButtonConstants.au3>
#include <EditConstants.au3>
#include <GUIConstantsEx.au3>
#include <StaticConstants.au3>
#include <WindowsConstants.au3>
#include <MsgBoxConstants.au3>
#include <AutoItConstants.au3>
#include <constants.au3>
#include <GuiComboBox.au3>
#include <GuiEdit.au3>

;lecture du fichier de configuration
Global $id = IniRead(@ScriptDir & "\Configuration.ini", "Compte", "Identifiant", "")
Global $pass = IniRead(@ScriptDir & "\Configuration.ini", "Compte", "Mot_de_passe", "")
Global $emplacement = IniRead(@ScriptDir & "\Configuration.ini", "Config", "Repertoire_de_telechargement", @UserProfileDir & "\Downloads"); si aucun répertoire définit sélectionner par defaut le répertoire Téléchargement du profil utilisateur

;GUI
Global $general = GUICreate("Téléchargement avec Youtube-DL", 1179, 646, 192, 124)
Global $Pic1 = GUICtrlCreatePic(@ScriptDir & "\fond.jpg", 0, 0, 1179, 646, 0x50011004)
GUICtrlSetBkColor(-1, 0xFFFFFF)
$File = FileOpenDialog("", @ScriptDir, "lien_a_DL.txt)", 1); récupérations du contenu du fichier lien_a_DL où se trouve des liens précédemment enregistrés
$read = FileRead("lien_a_DL.txt")
Global $Lien = GUICtrlCreateEdit("", 192, 192, 809, 265) ; fenetre où insérer les liens
GUICtrlSetResizing(-1, $GUI_DOCKAUTO)
GUICtrlSetFont(-1, 12, 800, 0, "Times New Roman")
GUICtrlSetBkColor(-1, $GUI_BKCOLOR_TRANSPARENT)
GUICtrlSetData($Lien, $read)
_GUICtrlEdit_GetLimitText($Lien); pour éviter d'etre limité par la taille du log
_GUICtrlEdit_SetLimitText($Lien, 64000000); pour éviter d'etre limité par la taille du log
Global $soustitre = GUICtrlCreateButton("Sous Titres Uniquement", 852, 480, 187, 25); bouton de téléchargement uniquement des sous titres
Global $720p = GUICtrlCreateButton("Téléchargement en 720p", 140, 480, 187, 25); bouton de téléchargement en 720p
Global $1080p = GUICtrlCreateButton("Téléchargement en 1080p", 377, 480, 187, 25); bouton de téléchargement en 1080p
Global $les2 = GUICtrlCreateButton("Téléchargement en 720p et 1080p", 615, 480, 187, 25); bouton de téléchargement 720p et 1080p
Global $remuxVOVF = GUICtrlCreateButton("REMUX VO/VF", 1060, 610, 100, 25); bouton de remux des fichiers VF et VO par mkvmerge
Global $Label1 = GUICtrlCreateLabel("Youtube-dl Téléchargement", 167, 32, 854, 93); Titre principal
GUICtrlSetFont(-1, 50, 400, 0, "@Malgun Gothic")
GUICtrlSetColor(-1, 0x800080)
GUICtrlSetBkColor(-1, $GUI_BKCOLOR_TRANSPARENT)
Global $saveandexit = GUICtrlCreateButton("Quitter", 520, 584, 139, 25)
Global $maj = GUICtrlCreateButton("MAJ de Youtube-dl", 20, 130, 139, 25)
Global $options = GUICtrlCreateButton("Options", 1020, 130, 139, 25)
Global $titreLiens = GUICtrlCreateLabel("Liens des fichiers à télécharger", 402, 152, 406, 36); titre de la page principale
GUICtrlSetFont(-1, 20, 800, 0, "MS Sans Serif")
GUICtrlSetColor(-1, 0x000080)
GUICtrlSetBkColor(-1, $GUI_BKCOLOR_TRANSPARENT)
Global $Inputid = GUICtrlCreateInput($id, 48, 200, 121, 21); fenetre d'enregistrement de l'identifiant
Global $Inputpass = GUICtrlCreateInput($pass, 48, 264, 121, 21, BitOR($GUI_SS_DEFAULT_INPUT, $ES_PASSWORD)); fenetre d'enregistrement du mot de passe caché
Global $LabelID = GUICtrlCreateLabel("Identifiant", 64, 176, 86, 24)
GUICtrlSetFont(-1, 12, 800, 0, "MS Sans Serif")
GUICtrlSetBkColor(-1, $GUI_BKCOLOR_TRANSPARENT)
Global $LabelPASS = GUICtrlCreateLabel("Mot de passe", 56, 240, 112, 24)
GUICtrlSetFont(-1, 12, 800, 0, "MS Sans Serif")
GUICtrlSetBkColor(-1, $GUI_BKCOLOR_TRANSPARENT)
Global $save = GUICtrlCreateButton("Retour au menu", 500, 500, 88, 27)
Global $Labeltitreconfig = GUICtrlCreateLabel("Configuration", 500, 152, 406, 36); titre du menu des configurations
GUICtrlSetFont(-1, 20, 1000, 0, "MS Sans Serif")
GUICtrlSetColor(-1, 0x000080)
GUICtrlSetBkColor(-1, $GUI_BKCOLOR_TRANSPARENT)
Global $lectureemplacementdl = GUICtrlCreateLabel($emplacement, 430, 270, 400, 25,$WS_BORDER); Affichage de l'emplacement de téléchargement des fichiers dans les options
GUICtrlSetResizing(-1, $GUI_DOCKAUTO + $GUI_DOCKVCENTER + $GUI_DOCKHEIGHT)
GUICtrlSetFont(-1, 12, 800, 0, "MS Sans Serif")
GUICtrlSetBkColor(-1, $GUI_BKCOLOR_TRANSPARENT)
Global $changeremplacementdl = GUICtrlCreateButton("Changer d'emplacement de Téléchargement", 477, 232, 219, 25)
Global $logdl = GUICtrlCreateEdit("", 192, 192, 809, 265, BitOR($GUI_DOCKAUTO, $ES_READONLY, $ES_WANTRETURN, $ES_AUTOVSCROLL)); Fenetre de log des téléchargement des fichiers par youtube-dl
GUICtrlSetBkColor(-1, $GUI_BKCOLOR_TRANSPARENT)
_GUICtrlEdit_GetLimitText($logdl); pour éviter d'etre limité par la taille du log
_GUICtrlEdit_SetLimitText($logdl, 64000000); pour éviter d'etre limité par la taille du log
GUICtrlSetResizing($logdl, $GUI_DOCKAUTO)
GUICtrlSetFont($logdl, 12, 800, 0, "Times New Roman")
GUICtrlSetBkColor($logdl, $GUI_BKCOLOR_TRANSPARENT)
Global $logconversion = GUICtrlCreateEdit("", 192, 192, 809, 265, BitOR($GUI_DOCKAUTO, $ES_READONLY, $ES_WANTRETURN, $ES_AUTOVSCROLL)); Fenetre de log de la conversation des fichiers par mkvmerge
GUICtrlSetBkColor(-1, $GUI_BKCOLOR_TRANSPARENT)
_GUICtrlEdit_GetLimitText($logconversion); pour éviter d'etre limité par la taille du log
_GUICtrlEdit_SetLimitText($logconversion, 64000000); pour éviter d'etre limité par la taille du log
GUICtrlSetResizing($logconversion, $GUI_DOCKAUTO)
GUICtrlSetFont($logconversion, 12, 800, 0, "Times New Roman")
GUICtrlSetBkColor($logconversion, $GUI_BKCOLOR_TRANSPARENT)
Global $Annuler = GUICtrlCreateButton("Annuler", 520, 520, 139, 25, BitOR($BS_NOTIFY, $WS_GROUP, $WS_TABSTOP, $WS_VISIBLE, $WS_CHILD))
Global $FERMER = GUICtrlCreateButton("FERMER", 520, 520, 139, 25, $GUI_HIDE)
Global $dlencours = GUICtrlCreateLabel("Téléchargement en cours", 425, 152, 333, 36)
GUICtrlSetFont(-1, 20, 800, 0, "MS Sans Serif")
GUICtrlSetColor(-1, 0x000080)
GUICtrlSetBkColor(-1, $GUI_BKCOLOR_TRANSPARENT)
Global $conversionencours = GUICtrlCreateLabel("Conversion en cours", 425, 152, 333, 36)
GUICtrlSetFont(-1, 20, 800, 0, "MS Sans Serif")
GUICtrlSetColor(-1, 0x000080)
GUICtrlSetBkColor(-1, $GUI_BKCOLOR_TRANSPARENT)
Global $Radioauth = GUICtrlCreateRadio("Par Identifiant", 216, 232, 85, 17)
GUICtrlSetColor(-1, 0x000080)
GUICtrlSetBkColor(-1, $GUI_BKCOLOR_TRANSPARENT)
Global $Radiocookies = GUICtrlCreateRadio("Par Cookies", 216, 392, 75, 17)
Global $labelcookies = GUICtrlCreateButton("Importer le fichier cookies", 48, 384, 130, 41)
Global $Checkboxmp4 = GUICtrlCreateCheckbox("", 770, 380, 13, 13)
$labelsupressmp4 = GUICtrlCreateLabel("Ne pas supprimer les mp4 après la conversion", 787, 376, 401, 22)
GUICtrlSetFont(-1, 12, 800, 0, "MS Sans Serif")
GUICtrlSetBkColor(-1, $GUI_BKCOLOR_TRANSPARENT)
Global $Groupauth = GUICtrlCreateGroup("Type d'authentification", 208, 200, 125, 225)
GUICtrlCreateGroup("", -99, -99, 1, 1)
pagegeneral()
boutonradio()
GUISetState(@SW_SHOW)



While 1

	$nMsg = GUIGetMsg()
	Switch $nMsg
		Case $GUI_EVENT_CLOSE
			ExitLoop
		Case $saveandexit ; Enregister les liens et quitter le programme
			$savetxt = FileOpen("lien_a_DL.txt", 2)
			FileWrite($savetxt, GUICtrlRead($Lien))
			FileClose($savetxt)
			Exit
		Case $soustitre ; Télécharger uniquement les sous titres et quitter le programme 5s après la fin
			$savetxt = FileOpen("lien_a_DL.txt", 2)
			FileWrite($savetxt, GUICtrlRead($Lien))
			FileClose($savetxt)
			check()
			pagedl()
			check()
			soustitre()
			Sleep(5000)
			Exit

		Case $720p ; Télécharger en 720p,inscrire les parametres de conversion dans le fichier de config et quitter le programme 10s après la fin
			$savetxt = FileOpen("lien_a_DL.txt", 2)
			FileWrite($savetxt, GUICtrlRead($Lien))
			FileClose($savetxt)
			pagedl()
			savemp4()
			septcentvingtp()
			IniWrite("Configuration.ini", "Config", "typedeconversion", "720p")
			convert()
			GUICtrlSetState($Annuler, $GUI_HIDE)
			GUICtrlSetState($FERMER, $GUI_SHOW)
			Sleep(10000)
			Exit


		Case $1080p; Télécharger en 1080p,inscrire les parametres de conversion dans le fichier de config et quitter le programme 10s après la fin
			$savetxt = FileOpen("lien_a_DL.txt", 2)
			FileWrite($savetxt, GUICtrlRead($Lien))
			FileClose($savetxt)
			pagedl()
			savemp4()
			millequatrevingtp()
			IniWrite("Configuration.ini", "Config", "typedeconversion", "1080p")
			convert()
			GUICtrlSetState($Annuler, $GUI_HIDE)
			GUICtrlSetState($FERMER, $GUI_SHOW)
			Sleep(10000)
			Exit
		Case $les2; Télécharger en 720p et 1080p,inscrire les parametres de conversion dans le fichier de config et quitter le programme 10s après la fin
			$savetxt = FileOpen("lien_a_DL.txt", 2)
			FileWrite($savetxt, GUICtrlRead($Lien))
			FileClose($savetxt)
			check()
			pagedl()
			savemp4()
			lesdeux()
			IniWrite("Configuration.ini", "Config", "typedeconversion", "les2")
			convert()
			GUICtrlSetState($Annuler, $GUI_HIDE)
			GUICtrlSetState($FERMER, $GUI_SHOW)
			Sleep(10000)
			Exit

		Case $options ;Afficher la page de configuration
			pageoptions()
			If IniRead("Configuration.ini", "Config", "savemp4", "") = "1" Then
				GUICtrlSetState($Checkboxmp4, $GUI_CHECKED)
			EndIf

		Case $Checkboxmp4; Sauvegarder les mp4 après conversion ou les effacer
			If _IsChecked($Checkboxmp4) Then

				IniWrite("Configuration.ini", "Config", "savemp4", "1")
			Else
				IniWrite("Configuration.ini", "Config", "savemp4", "0")

			EndIf
			savemp4()

		Case $labelcookies; sélectionner le bouton radio cookies pour définir le mode d'authentification par cookies
			cookies()
		Case $Radioauth
			Global $typeauth = IniWrite("Configuration.ini", "Config", "typedauth", '"idpass"')
		Case $Radiocookies
			Global $typeauth = IniWrite("Configuration.ini", "Config", "typedauth", '"cookies"')

		Case $remuxVOVF
			IniWrite("Configuration.ini", "Config", "typedeconversion", "remux")		
			pagedl()
			convert()
			GUICtrlSetState($Annuler, $GUI_HIDE)
			GUICtrlSetState($FERMER, $GUI_SHOW)
			Sleep(10000)
			Exit
			
		Case $save; Sauvegarder les paramètres de configuration

			IniWrite("Configuration.ini", "Compte", "Identifiant", '"' & GUICtrlRead($Inputid) & '"')
			IniWrite("Configuration.ini", "Compte", "Mot_de_passe", '"' & GUICtrlRead($Inputpass) & '"')
			IniWrite("Configuration.ini", "Config", "Repertoire_de_telechargement", '"' & GUICtrlRead($lectureemplacementdl) & '"')
			savemp4()
			pagegeneral()

		Case $maj; Téléchargement de la dernière version de youtube-DL en remplacament de l'ancienne version
			Opt("GUIOnEventMode", 1)
			GUICreate("MAJ",220,70)
			$DL = GUICtrlCreateEdit("https://yt-dl.org/latest/youtube-dl.exe", 10, 10, 200, 20)
			$Progress1 = GUICtrlCreateProgress(10, 30, 200, 20)
			GUISetOnEvent($GUI_EVENT_CLOSE, "quit")
			GUISetState()
				Global $Dir = @ScriptDir & "\youtube-dl.exe.new"

				Global $URL = GUICtrlRead($DL)
				Global $Download = InetGet($URL, $Dir, 1, 1) ;Telecharge

				Global $TotalSize = 0

					While Not InetGetInfo($Download, 2) ;Tant que le telechargement n'est pas complet
					Sleep(200)
					$KbRecu = InetGetInfo($Download, 0) ;Obtient les KiloOctet reçu

					If $KbRecu > 0 Then
						If $TotalSize = 0 Then
							$TotalSize = InetGetInfo($Download, 1) ;Obtient la taille du fichier
						EndIf

						$Pourcentage = $KbRecu / $TotalSize * 100 ;calcul le pourcentage
						GUICtrlSetData($Progress1, $Pourcentage) ;transfere le pourcentage a la valeur de la ProgressBar

					EndIf

				WEnd
					FileMove(@ScriptDir & "\youtube-dl.exe.new",@ScriptDir & "\youtube-dl.exe",1)
					run(@ScriptDir & "\" & @ScriptName)
				exit
		Case $changeremplacementdl
			Emplacementdl()
	EndSwitch
WEnd

Func _IsChecked($controle)
	Return BitAND(GUICtrlRead($controle), $GUI_CHECKED) = $GUI_CHECKED
EndFunc   ;==>_IsChecked


Func pagegeneral(); GUI à afficher sur l'écran principal
	GUICtrlSetState($Groupauth, $GUI_HIDE)
	GUICtrlSetState($labelcookies, $GUI_HIDE)
	GUICtrlSetState($Inputid, $GUI_HIDE)
	GUICtrlSetState($Inputpass, $GUI_HIDE)
	GUICtrlSetState($LabelID, $GUI_HIDE)
	GUICtrlSetState($LabelPASS, $GUI_HIDE)
	GUICtrlSetState($save, $GUI_HIDE)
	GUICtrlSetState($Labeltitreconfig, $GUI_HIDE)
	GUICtrlSetState($lectureemplacementdl, $GUI_HIDE)
	GUICtrlSetState($changeremplacementdl, $GUI_HIDE)
	GUICtrlSetState($Checkboxmp4, $GUI_HIDE)
	GUICtrlSetState($Radioauth, $GUI_HIDE)
	GUICtrlSetState($Radiocookies, $GUI_HIDE)
	GUICtrlSetState($labelsupressmp4, $GUI_HIDE)
	GUICtrlSetState($logdl, $GUI_HIDE)
	GUICtrlSetState($logconversion, $GUI_HIDE)
	GUICtrlSetState($dlencours, $GUI_HIDE)
	GUICtrlSetState($Annuler, $GUI_HIDE)
	GUICtrlSetState($dlencours, $GUI_HIDE)
	GUICtrlSetState($FERMER, $GUI_HIDE)
	GUICtrlSetState($conversionencours, $GUI_HIDE)

	GUICtrlSetState($general, $GUI_SHOW)
	GUICtrlSetState($Lien, $GUI_SHOW)
	GUICtrlSetState($soustitre, $GUI_SHOW)
	GUICtrlSetState($720p, $GUI_SHOW)
	GUICtrlSetState($les2, $GUI_SHOW)
	GUICtrlSetState($1080p, $GUI_SHOW)
	GUICtrlSetState($Label1, $GUI_SHOW)
	GUICtrlSetState($saveandexit, $GUI_SHOW)
	GUICtrlSetState($options, $GUI_SHOW)
	GUICtrlSetState($titreLiens, $GUI_SHOW)
	GUICtrlSetState($maj, $GUI_SHOW)
EndFunc   ;==>pagegeneral

Func pagedl(); GUI à afficher sur l'écran de téléchargement

	Opt("GUIOnEventMode", 1)
	GUICtrlSetState($Groupauth, $GUI_HIDE)
	GUICtrlSetState($general, $GUI_HIDE)
	GUICtrlSetState($Lien, $GUI_HIDE)
	GUICtrlSetState($soustitre, $GUI_HIDE)
	GUICtrlSetState($720p, $GUI_HIDE)
	GUICtrlSetState($les2, $GUI_HIDE)
	GUICtrlSetState($1080p, $GUI_HIDE)
	GUICtrlSetState($Label1, $GUI_SHOW)
	GUICtrlSetState($saveandexit, $GUI_HIDE)
	GUICtrlSetState($options, $GUI_HIDE)
	GUICtrlSetState($titreLiens, $GUI_HIDE)
	GUICtrlSetState($conversionencours, $GUI_HIDE)
	GUICtrlSetState($Inputid, $GUI_HIDE)
	GUICtrlSetState($Inputpass, $GUI_HIDE)
	GUICtrlSetState($LabelID, $GUI_HIDE)
	GUICtrlSetState($LabelPASS, $GUI_HIDE)
	GUICtrlSetState($save, $GUI_HIDE)
	GUICtrlSetState($Labeltitreconfig, $GUI_HIDE)
	GUICtrlSetState($lectureemplacementdl, $GUI_HIDE)
	GUICtrlSetState($changeremplacementdl, $GUI_HIDE)
	GUICtrlSetState($conversionencours, $GUI_HIDE)
	GUICtrlSetState($Checkboxmp4, $GUI_HIDE)
	GUICtrlSetState($Radioauth, $GUI_HIDE)
	GUICtrlSetState($Radiocookies, $GUI_HIDE)
	GUICtrlSetState($maj, $GUI_HIDE)
	GUICtrlSetState($FERMER, $GUI_HIDE)
	GUICtrlSetState($logconversion, $GUI_HIDE)
	GUICtrlSetState($remuxVOVF, $GUI_HIDE)

	GUICtrlSetState($dlencours, $GUI_SHOW)
	GUICtrlSetState($logdl, $GUI_SHOW)
	GUICtrlSetState($dlencours, $GUI_SHOW)
	GUICtrlSetState($Annuler, $GUI_SHOW)

	GUICtrlSetOnEvent($FERMER, "quit")
	GUICtrlSetOnEvent($Annuler, "kill")
	GUICtrlSetOnEvent($GUI_EVENT_CLOSE, "kill")
EndFunc   ;==>pagedl

Func pageoptions()

	GUICtrlSetState($general, $GUI_HIDE)
	GUICtrlSetState($Lien, $GUI_HIDE)
	GUICtrlSetState($soustitre, $GUI_HIDE)
	GUICtrlSetState($720p, $GUI_HIDE)
	GUICtrlSetState($les2, $GUI_HIDE)
	GUICtrlSetState($1080p, $GUI_HIDE)
	GUICtrlSetState($Label1, $GUI_SHOW)
	GUICtrlSetState($saveandexit, $GUI_HIDE)
	GUICtrlSetState($options, $GUI_HIDE)
	GUICtrlSetState($titreLiens, $GUI_HIDE)
	GUICtrlSetState($logdl, $GUI_HIDE)
	GUICtrlSetState($logconversion, $GUI_HIDE)
	GUICtrlSetState($dlencours, $GUI_HIDE)
	GUICtrlSetState($Annuler, $GUI_HIDE)
	GUICtrlSetState($dlencours, $GUI_HIDE)
	GUICtrlSetState($FERMER, $GUI_HIDE)
	GUICtrlSetState($maj, $GUI_HIDE)
	GUICtrlSetState($remuxVOVF, $GUI_HIDE)

	GUICtrlSetState($Inputid, $GUI_SHOW)
	GUICtrlSetState($Inputpass, $GUI_SHOW)
	GUICtrlSetState($LabelID, $GUI_SHOW)
	GUICtrlSetState($LabelPASS, $GUI_SHOW)
	GUICtrlSetState($save, $GUI_SHOW)
	GUICtrlSetState($Labeltitreconfig, $GUI_SHOW)
	GUICtrlSetState($lectureemplacementdl, $GUI_SHOW)
	GUICtrlSetState($changeremplacementdl, $GUI_SHOW)
	GUICtrlSetState($Checkboxmp4, $GUI_SHOW)
	GUICtrlSetState($Radioauth, $GUI_SHOW)
	GUICtrlSetState($Radiocookies, $GUI_SHOW)
	GUICtrlSetState($labelsupressmp4, $GUI_SHOW)
	GUICtrlSetState($labelcookies, $GUI_SHOW)
	GUICtrlSetState($Groupauth, $GUI_SHOW)



EndFunc   ;==>pageoptions



Func boutonradio()
	$Radio = IniRead("Configuration.ini", "Config", "typedauth", "")
	If $Radio = ("idpass") Then
		GUICtrlSetState($Radioauth, $GUI_CHECKED)
	EndIf
	If $Radio = ("cookies") Then
		GUICtrlSetState($Radiocookies, $GUI_CHECKED)
	EndIf
	If $Radio = ("") Then
		GUICtrlSetState($Radioauth, $GUI_CHECKED)
		IniWrite("Configuration.ini", "Config", "typedauth", '"idpass"')
	EndIf
EndFunc   ;==>boutonradio



Func quit()
	Exit
EndFunc



Func Emplacementdl()
	Const $sMessage = "Choisir le répertoire de téléchargement"

	; Choisir l'emplacement du répertoire de téléchargement
	$sFileSelectFolder = FileSelectFolder($sMessage, @UserProfileDir & "\Downloads")
	If @error Then
		; Afficher l'erreur.
		MsgBox($MB_SYSTEMMODAL, "", "Aucun répertoire sélectionné.")
	Else
		IniWrite("Configuration.ini", "Config", "Repertoire_de_telechargement", '"' & $sFileSelectFolder & '"')
		GUICtrlSetData($lectureemplacementdl, IniRead("Configuration.ini", "Config", "Repertoire_de_telechargement", ""))
	EndIf
EndFunc   ;==>Emplacementdl



Func convert()
	GUICtrlSetState($dlencours, $GUI_HIDE)
	GUICtrlSetState($conversionencours, $GUI_SHOW)

	GUICtrlSetState($logdl, $GUI_HIDE)
	GUICtrlSetState($logconversion, $GUI_SHOW)
	Local $iPID1 = Run(@ComSpec & ' /c Conversion.bat', "", @SW_HIDE, $STDERR_CHILD + $STDOUT_CHILD)
	Local $sOutput1 = ""
	While 1

		$sOutput1 = StdoutRead($iPID1) & @CRLF
		If @error Then ; Exit the loop if the process closes or StdoutRead returns an error.
			ExitLoop
		EndIf
		While StringInStr($sOutput1, @CRLF & @CRLF)
			$sOutput1 = StringReplace($sOutput1, @CRLF & @CRLF, @CRLF)
		WEnd

		If StringLeft($sOutput1, 1) = @CRLF Or StringLeft($sOutput1, 1) = @CR Or StringLeft($sOutput1, 1) = @LF Then
			$sOutput1 = StringTrimLeft($sOutput1, 1)
		EndIf
		If StringRight($sOutput1, 1) = @CRLF Or StringRight($sOutput1, 1) = @CR Then
			$sOutput1 = StringTrimRight($sOutput1, 1)
		EndIf
		GUICtrlSetData($logconversion, $sOutput1, 1)
		Sleep(50)
	WEnd
EndFunc   ;==>convert



Func septcentvingtp()
	Local $auth = ""
	If IniRead("Configuration.ini", "Config", "typedauth", '""') = "idpass" Then
		Local $auth = "-u " & GUICtrlRead($Inputid) & " -p " & GUICtrlRead($Inputpass)
	ElseIf IniRead("Configuration.ini", "Config", "typedauth", '""') = "cookies" Then
		Local $auth = " --cookie cookies.txt"
	EndIf

	Local $iPID = Run(@ComSpec & ' /c youtube-dl.exe -f "best[height=720]" --sub-format "ass" --audio-quality "0" --sub-lang "frFR" --write-sub  -a Lien_a_DL.txt ' & $auth & ' --no-check-certificate -o "' & GUICtrlRead($lectureemplacementdl) & '\mp4_720p\%(title)s_720p.%(ext)s"', "", @SW_HIDE, $STDERR_CHILD + $STDOUT_CHILD)
	Local $sOutput = ""
	While 1

		$sOutput = StdoutRead($iPID) & @CRLF
		If @error Then ; Exit the loop if the process closes or StdoutRead returns an error.
			ExitLoop
		EndIf
		While StringInStr($sOutput, @CRLF & @CRLF)
			$sOutput = StringReplace($sOutput, @CRLF & @CRLF, @CRLF)
		WEnd

		If StringLeft($sOutput, 1) = @CRLF Or StringLeft($sOutput, 1) = @CR Or StringLeft($sOutput, 1) = @LF Then
			$sOutput = StringTrimLeft($sOutput, 1)
		EndIf
		If StringRight($sOutput, 1) = @CRLF Or StringRight($sOutput, 1) = @CR Then
			$sOutput = StringTrimRight($sOutput, 1)
		EndIf
		GUICtrlSetData($logdl, $sOutput, 1)
		Sleep(50)
	WEnd



EndFunc   ;==>septcentvingtp


Func kill()
	If ProcessExists("youtube-dl.exe") Then
		ProcessClose("youtube-dl.exe")
		Sleep(1000)
	EndIf
	If ProcessExists("mkvmerge.exe") Then
		ProcessClose("mkvmerge.exe")
		Sleep(1000)
	EndIf
	Exit

EndFunc   ;==>kill


Func millequatrevingtp()
	Local $auth = ""
	If IniRead("Configuration.ini", "Config", "typedauth", '""') = "idpass" Then
		Local $auth = "-u " & GUICtrlRead($Inputid) & " -p " & GUICtrlRead($Inputpass)
	ElseIf IniRead("Configuration.ini", "Config", "typedauth", '""') = "cookies" Then
		Local $auth = " --cookie cookies.txt"
	EndIf
	Local $iPID = Run(@ComSpec & ' /c youtube-dl.exe --sub-format "ass" --audio-quality "0" --sub-lang "frFR" --write-sub  -a Lien_a_DL.txt ' & $auth & ' --no-check-certificate -o "' & GUICtrlRead($lectureemplacementdl) & '\mp4_1080p\%(title)s_1080p.%(ext)s"', "", @SW_HIDE, $STDERR_CHILD + $STDOUT_CHILD)
	Local $sOutput = ""
	While 1

		$sOutput = StdoutRead($iPID) & @CRLF
		If @error Then ; Exit the loop if the process closes or StdoutRead returns an error.
			ExitLoop
		EndIf
		While StringInStr($sOutput, @CRLF & @CRLF)
			$sOutput = StringReplace($sOutput, @CRLF & @CRLF, @CRLF)
		WEnd

		If StringLeft($sOutput, 1) = @CRLF Or StringLeft($sOutput, 1) = @CR Or StringLeft($sOutput, 1) = @LF Then
			$sOutput = StringTrimLeft($sOutput, 1)
		EndIf
		If StringRight($sOutput, 1) = @CRLF Or StringRight($sOutput, 1) = @CR Then
			$sOutput = StringTrimRight($sOutput, 1)
		EndIf
		GUICtrlSetData($logdl, $sOutput, 1)
		Sleep(50)
	WEnd




EndFunc   ;==>millequatrevingtp

Func lesdeux()
	septcentvingtp()
	millequatrevingtp()
EndFunc   ;==>lesdeux



Func cookies()
	; Crée une constante locale avec le message à afficher dans FileOpenDialog.
	Local Const $sMessage = "Sélectionner votre fichier cookies"

	; Ouvre une boîte de dialogue  pour sélectionner une liste de fichier(s).
	Local $sFileOpenDialog = FileOpenDialog($sMessage, @UserProfileDir & "\Downloads", "Cookies (*.txt) | Tous (*)", $FD_FILEMUSTEXIST + $FD_MULTISELECT)
	If @error Then
		; Affiche le message d'erreur.
		MsgBox($MB_SYSTEMMODAL, "", "Aucun fichier sélectionné.")

		; Change le répertoire de travail (@WorkingDir) vers l'emplacement du répertoire de script comme FileOpenDialog l'a défini au dernier dossier consulté.
		FileChangeDir(@ScriptDir)
	Else
		; Change le répertoire de travail (@WorkingDir) vers l'emplacement du répertoire de script comme FileOpenDialog l'a défini au dernier dossier consulté.
		FileChangeDir(@ScriptDir)

		; Remplace les instances de "|" avec CRLF dans la chaîne retournée par FileOpenDialog.
		$sFileOpenDialog = StringReplace($sFileOpenDialog, "|", @CRLF)
		FileCopy($sFileOpenDialog, @ScriptDir & "\cookies.txt", $FC_OVERWRITE)
	EndIf
EndFunc   ;==>cookies



Func check()
	If GUICtrlRead($lectureemplacementdl) = "" Then
		MsgBox(48, "Programme non configuré", "Il manque des paramètres qui ne sont pas configurés, le programme va se fermer!" & @CRLF & "Alors va les config ptit boulet")
		Exit
	EndIf
EndFunc   ;==>check



Func soustitre()
	Local $auth = ""
	If IniRead("Configuration.ini", "Config", "typedauth", "idpass") = "idpass" Then
		Local $auth = "-u " & GUICtrlRead($Inputid) & " -p " & GUICtrlRead($Inputpass)
	ElseIf IniRead("Configuration.ini", "Config", "typedauth", '""') = "cookies" Then
		Local $auth = " --cookie cookies.txt"
	EndIf

	Local $iPID = Run(@ComSpec & ' /c youtube-dl.exe --skip-download --sub-format "ass" --sub-lang "frFR" --write-sub  -a lien_a_DL.txt ' & $auth & ' --no-check-certificate -o "' & GUICtrlRead($lectureemplacementdl) & '\Sous-Titres\%(title)s.%(ext)s"', "", @SW_HIDE, $STDERR_CHILD + $STDOUT_CHILD)
	Local $sOutput = ""
	While 1
		$sOutput = StdoutRead($iPID) & @CRLF
		If @error Then ; Exit the loop if the process closes or StdoutRead returns an error.
			ExitLoop
		EndIf
		GUICtrlSetData($logdl, $sOutput, 1)
		Sleep(500)
	WEnd
EndFunc   ;==>soustitre



Func savemp4()

	If GUICtrlRead($Checkboxmp4) = $GUI_CHECKED Then ; si case coché alors gui activé,
		GUICtrlSetState($Checkboxmp4, $GUI_ENABLE)
		IniWrite("Configuration.ini", "Config", "savemp4", "1")
	Else
;~               GUICtrlSetState($Checkboxmp4, $GUI_DISABLE); sinon gui désactivé.
		IniWrite("Configuration.ini", "Config", "savemp4", "0")
	EndIf
EndFunc   ;==>savemp4


Exit

Dans l'espoir de trouver une solution.

Cordialement
Nunurs
nunurs
Niveau 2
Niveau 2
Messages : 16
Enregistré le : ven. 27 avr. 2012 15:05
Status : Hors ligne

Re: Problème d'utilisation excessive du processeur

#2

Message par nunurs »

Snif personne :(
Avatar du membre
orax
Modérateur
Modérateur
Messages : 1479
Enregistré le : lun. 23 mars 2009 04:50
Localisation : ::1
Status : Hors ligne

Re: Problème d'utilisation excessive du processeur

#3

Message par orax »

nunurs a écrit : ven. 24 nov. 2017 10:21 j'ai remarqué que si je lançais plusieurs fois le script le processeur restait utilisé même après la fermeture du script m'obligeant a redémarrer l'ordinateur.
Il faudrait savoir dans quelle partie ça se produit. Pour faire ça, ajoute Opt("TrayIconDebug", 1) vers le début du script. Ensuite, quand on met la souris au dessus de l'icône AutoIt dans la zone de notification, une info-bulle s'affiche et indique la ligne en cours d'exécution (voir l'image). Quand le processeur est trop utilisé, tu pourras voir si le script est bloqué à un endroit particulier.
TrayIconDebug.png
TrayIconDebug.png (6.03 Kio) Vu 1526 fois
nunurs a écrit : ven. 24 nov. 2017 10:21 J'aimerai aussi savoir comment faire pour quand lorsque je souhaite stopper la "maj" de la petite GUI qui se lance il ne ferme pas tout le script mais juste la partie téléchargement.
Voir la fonction GUIDelete pour fermer une fenêtre. Il faudra l'utiliser à la place de Exit.
De petits détails peuvent faire toute la différence. — Quand la boule de neige commence à rouler… poussez-la. (Columbo)
nunurs
Niveau 2
Niveau 2
Messages : 16
Enregistré le : ven. 27 avr. 2012 15:05
Status : Hors ligne

Re: Problème d'utilisation excessive du processeur  

#4

Message par nunurs »

d'accord merci, je vais voir ca demain matin je te remercie :)
Répondre