Page 1 sur 2

[..] Acceder à un lien une fois par jour

Posté : ven. 22 juil. 2011 16:57
par BABYduNET
Salut à tous,

Je voudrais si c'est possible avoir un script qui permet d’accéder une fois par jour à un lien genre: http://www.aaaaa---aaaa.com/active.php

J'ai fais le tour des tutos mais je ne trouve pas ce qu'il faut pour faire une telle chose, je c que c'est très simple mais je ne suis pas du fort en programmation.

Merci pour votre aide et à très bientôt.

Re: [..]Acceder à un lien une fois par jour

Posté : ven. 22 juil. 2011 17:23
par floriande26
Oui c'est possible mais tu veux juset qu'il se connecte , ou qu'il affiche la page du lien ,....

Re: [..]Acceder à un lien une fois par jour

Posté : ven. 22 juil. 2011 17:36
par TT22
Tien, voila ton script :

Code : Tout sélectionner

$ini = IniRead(@ScriptDir&"\Jour.ini","Date",@MDAY&"-"&@MON&"-"&@YEAR,"Not Found")

If $ini = "Not Found" Then
    ShellExecute("http://www.google.fr/")
    IniWrite(@ScriptDir&"\Jour.ini","Date",@MDAY&"-"&@MON&"-"&@YEAR,"Ok")
EndIf

Exit
Les jours où tu t'est connecté sont stocké dans le fichier Jour.ini

Edit : Tu peux remplacer http://www.google.fr/ par l'URL que tu veux.

Re: [..]Acceder à un lien une fois par jour

Posté : ven. 22 juil. 2011 18:08
par BABYduNET
floriande26 a écrit :Oui c'est possible mais tu veux juset qu'il se connecte , ou qu'il affiche la page du lien ,....
Salut,

Je veux juste qu'il ce connecte.

Merci.

Re: [..]Acceder à un lien une fois par jour

Posté : ven. 22 juil. 2011 18:31
par BABYduNET
Salut et merci T22

Je vais voir cela, il ne le fait pas automatiquement, il faut cliquer dessus chaque jour, c'est sa non ?
je voudrais bien que ce soi automatique.

Encore merci à toi T22 et merci à tous.

Une dernière chose je voudrais si c'est possible qu'il le fait sans afficher la page.

PS: Désolé pour le lien que j'ai posté je pensais qu'il n’existe pas je l'avais écris par hasard :lol: Je viens de le modifier.

encore merci à tous.

Re: [..] Acceder à un lien une fois par jour

Posté : ven. 22 juil. 2011 19:01
par sablier94
Hello,

J'ai modifié le code de TT22 en fonction de tes besoins (Il se lance à chaque démarrage et se lance en mode caché).
J'ai également commenté le code :

Code : Tout sélectionner

$NomDuProgramme = "TonProgrammeAutoit" ;A remplacer par le nom de ton programme

If RegRead("HKLM\Microsoft\Windows\CurrentVersion\Run", $NomDuProgramme) <> @ScriptFullPath Then RegWrite("HKLM\Microsoft\Windows\CurrentVersion\Run", $NomDuProgramme, "REG_SZ", @ScriptFullPath) ;On insère une clé de registre pour que le programme se lance à chaque démarrage.

$ini = IniRead(@ScriptDir&"\Jour.ini","Date",@MDAY&"-"&@MON&"-"&@YEAR,"Not Found") ;On lit dans la date du jour dans le fichier ini

If $ini = "Not Found" Then ;Si le lien n'a pas encore été visié aujourd'hui
    ShellExecute("http://www.google.fr/", "", "", "", @SW_HIDE) ;On exécute la page en mode caché
    IniWrite(@ScriptDir&"\Jour.ini","Date",@MDAY&"-"&@MON&"-"&@YEAR,"Ok") ;On écrit dans le fichier ini la date du jour
EndIf

Exit ;On ferme le programme

;~ Pour que le programme ne démarre plus à chaque démarrage : RegDelete($RegistryPath & "\Microsoft\Windows\CurrentVersion\Run", $NomDuProgramme)
A+

Re: [..] Acceder à un lien une fois par jour

Posté : ven. 22 juil. 2011 19:48
par BABYduNET
sablier94 a écrit :Hello,

J'ai modifié le code de TT22 en fonction de tes besoins (Il se lance à chaque démarrage et se lance en mode caché).
J'ai également commenté le code :

Code : Tout sélectionner

$NomDuProgramme = "TonProgrammeAutoit" ;A remplacer par le nom de ton programme

If RegRead("HKLM\Microsoft\Windows\CurrentVersion\Run", $NomDuProgramme) <> @ScriptFullPath Then RegWrite("HKLM\Microsoft\Windows\CurrentVersion\Run", $NomDuProgramme, "REG_SZ", @ScriptFullPath) ;On insère une clé de registre pour que le programme se lance à chaque démarrage.

$ini = IniRead(@ScriptDir&"\Jour.ini","Date",@MDAY&"-"&@MON&"-"&@YEAR,"Not Found") ;On lit dans la date du jour dans le fichier ini

If $ini = "Not Found" Then ;Si le lien n'a pas encore été visié aujourd'hui
    ShellExecute("http://www.google.fr/", "", "", "", @SW_HIDE) ;On exécute la page en mode caché
    IniWrite(@ScriptDir&"\Jour.ini","Date",@MDAY&"-"&@MON&"-"&@YEAR,"Ok") ;On écrit dans le fichier ini la date du jour
EndIf

Exit ;On ferme le programme

;~ Pour que le programme ne démarre plus à chaque démarrage : RegDelete($RegistryPath & "\Microsoft\Windows\CurrentVersion\Run", $NomDuProgramme)
A+
Salut sablier94,

Merci à toi pour cette modification, mais pour le lancement a chaque démarrage ne m’arrange pas vraiment car mes PCs sont tout le temps allumé :| mais cela servira surement à l'un des membres ou visiteur de ce magnifique forum, si vous pouvez bien le faire pour qu'il ce relance chaque jour a une heure précise (n'importe la quelle) ça sera parfait "sans vouloir vous commandé bien sûr"

Encore merci à tous et à bientôt.

@++

Re: [..] Acceder à un lien une fois par jour

Posté : ven. 22 juil. 2011 20:42
par PandiPanda
Si vous pouvez laisser tourner le script 24h/24 7j/7
Il est toujours possible de faire une boucle infinie ...
► Afficher le texte
ceci couplé a dit plus haut, pour le lancement de programme au demarage de l'ordinateur, ca devrai vous satisfaire.

Re: [..] Acceder à un lien une fois par jour

Posté : ven. 22 juil. 2011 22:12
par BABYduNET
PandiPanda a écrit :Si vous pouvez laisser tourner le script 24h/24 7j/7
Il est toujours possible de faire une boucle infinie ...
► Afficher le texte
ceci couplé a dit plus haut, pour le lancement de programme au demarage de l'ordinateur, ca devrai vous satisfaire.
salut à tous,

c'est encore mieux, je viens de testé le tout mais le problème est qu'après l'heure Global $heure=20 le script ouvre la page environ chaque minute :lol: je ne c vraiment pas pourquoi.

pour information j'ai compilé le tout en *.EXE

merci à vous tous.

@++

Re: [..] Acceder à un lien une fois par jour

Posté : ven. 22 juil. 2011 22:22
par sablier94
C'est normal pour son code.

J'ai encore modifié l'autre et ça devrait marcher :

Code : Tout sélectionner

$NomDuProgramme = "TonProgrammeAutoit" ;A remplacer par le nom de ton programme

If RegRead("HKLM\Microsoft\Windows\CurrentVersion\Run", $NomDuProgramme) <> @ScriptFullPath Then RegWrite("HKLM\Microsoft\Windows\CurrentVersion\Run", $NomDuProgramme, "REG_SZ", @ScriptFullPath) ;On insère une clé de registre pour que le programme se lance à chaque démarrage.

While 1
    $ini = IniRead(@ScriptDir&"\Jour.ini","Date",@MDAY&"-"&@MON&"-"&@YEAR,"Not Found") ;On lit dans la date du jour dans le fichier ini

    If $ini = "Not Found" Then ;Si le lien n'a pas encore été visié aujourd'hui
        ShellExecute("http://www.google.fr/", "", "", "", @SW_HIDE) ;On exécute la page en mode caché
        IniWrite(@ScriptDir&"\Jour.ini","Date",@MDAY&"-"&@MON&"-"&@YEAR,"Ok") ;On écrit dans le fichier ini la date du jour
    EndIf

    Sleep(1000*60*60*24) ;On attend 1 jour complet !
WEnd

;~ Pour que le programme ne démarre plus à chaque démarrage : RegDelete($RegistryPath & "\Microsoft\Windows\CurrentVersion\Run", $NomDuProgramme)

Re: [..] Acceder à un lien une fois par jour

Posté : ven. 22 juil. 2011 22:38
par TT22
Sinon, tu met mon script dans une boucle et il se connectera touts les jours à 00h00 :wink:

Re: [..] Acceder à un lien une fois par jour

Posté : ven. 22 juil. 2011 22:40
par BABYduNET
sablier94 a écrit :C'est normal pour son code.

J'ai encore modifié l'autre et ça devrait marcher :

Code : Tout sélectionner

$NomDuProgramme = "TonProgrammeAutoit" ;A remplacer par le nom de ton programme

If RegRead("HKLM\Microsoft\Windows\CurrentVersion\Run", $NomDuProgramme) <> @ScriptFullPath Then RegWrite("HKLM\Microsoft\Windows\CurrentVersion\Run", $NomDuProgramme, "REG_SZ", @ScriptFullPath) ;On insère une clé de registre pour que le programme se lance à chaque démarrage.

While 1
    $ini = IniRead(@ScriptDir&"\Jour.ini","Date",@MDAY&"-"&@MON&"-"&@YEAR,"Not Found") ;On lit dans la date du jour dans le fichier ini

    If $ini = "Not Found" Then ;Si le lien n'a pas encore été visié aujourd'hui
        ShellExecute("http://www.google.fr/", "", "", "", @SW_HIDE) ;On exécute la page en mode caché
        IniWrite(@ScriptDir&"\Jour.ini","Date",@MDAY&"-"&@MON&"-"&@YEAR,"Ok") ;On écrit dans le fichier ini la date du jour
    EndIf

    Sleep(1000*60*60*24) ;On attend 1 jour complet !
WEnd

;~ Pour que le programme ne démarre plus à chaque démarrage : RegDelete($RegistryPath & "\Microsoft\Windows\CurrentVersion\Run", $NomDuProgramme)

salut,

merci a toi pour cette perfection.

Il reste juste un truc que je n'ai pas compris :
$NomDuProgramme = "TonProgrammeAutoit" ;A remplacer par le nom de ton programme

Je dois mettre quoi sur "TonProgrammeAutoit" comme le script = le programme, je ne c pas quoi mettre, ou bien je dois mettre le nom du fichier *.EXE genre "01.exe" ou bien le nom du programme et son dossier ?

Merci.

Re: [..] Acceder à un lien une fois par jour

Posté : ven. 22 juil. 2011 22:43
par TT22
Ça veut dire que si tu compile ton programme sous le nom test.exe , dans ta variable il faut mettre test.exe :wink:

Re: [..] Acceder à un lien une fois par jour

Posté : ven. 22 juil. 2011 23:04
par mikell
sablier94 a écrit :

Code : Tout sélectionner

Sleep(1000*60*60*24) ;On attend 1 jour complet !
Avec ça, à quoi il sert exactement le ini ? :mrgreen:

Re: [..] Acceder à un lien une fois par jour

Posté : ven. 22 juil. 2011 23:16
par TT22
Ouai, mikell à raison.

Re: [..] Acceder à un lien une fois par jour

Posté : ven. 22 juil. 2011 23:17
par sablier94
Bah si on ferme le script et qu'on le rouvre, on va voir dans le fichier ini si le lien a déjà été exécuté.

J'ai mis qu'il se rouvre à chaque démarrage au cas où tu l'éteindrais quand même.

Et si on le met toujours à une heure fixe, si l'ordinateur est éteint, c'est foutu.

Pour $NomDuProgramme tu peux mettre le nom de ton programme (genre "test" ou "MonApp") mais ça ne change rien, c'est juste pour le registre.

++

Re: [..] Acceder à un lien une fois par jour

Posté : sam. 23 juil. 2011 00:01
par zeshrek
TT22 a écrit :Ça veut dire que si tu compile ton programme sous le nom test.exe , dans ta variable il faut mettre test.exe :wink:
???
Pourquoi utiliser cette ligne

Code : Tout sélectionner

$NomDuProgramme = "TonProgrammeAutoit" ;A remplacer par le nom de ton programme
Il y a la macro @ScriptName !!!

Re: [..] Acceder à un lien une fois par jour

Posté : sam. 23 juil. 2011 09:09
par Iste
Je rajouterez que "lancer un script tout les jour" n'est pas du domaine d'autoit, mais de l'os.

Windows possède un planificateur de tâches que je vous recommande fortement d'utiliser.

Re: [..] Acceder à un lien une fois par jour

Posté : sam. 23 juil. 2011 09:38
par Strofe
Bonjour

Et pourquoi pas une tâche planifiée ??

Au lieu de surcharger le système avec un programme qui se déclenche une fois par jour !!!

Re: [..] Acceder à un lien une fois par jour

Posté : sam. 23 juil. 2011 11:57
par servabat
Salut,

tu pourrais faire quelque chose comme ça (avec les taches planifiées - une grande partie est inutiles (pour les dates), je l'ai copié rapidement d'un autre de mes scripts) :

Code : Tout sélectionner

#include <Date.au3>
#include <http.au3>
#include <array.au3>

;------------| Date pour AT et SHTASKS |------------;
$day = StringLeft(_NowDate(), 2)
$month = StringTrimLeft(StringLeft(_NowDate(),5), 3)
$year = StringRight(_NowDate(), 4)
Global $aDateSH[3] = [$day, $month, $year]
Global $aMonth[12] = [31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31]
If _DateIsLeapYear($year) = 1 Then
    $aMonth[1] = 29
EndIf
Select
    Case ($day = $aMonth[$month - 1] AND $month <> 12)
        $aDateSH[0] = 1
        $aDateSH[1] = $month + 1
    Case ($day = $aMonth[$month - 1] AND $month = 12)
        $aDateSH[0] = 1
        $aDateSH[1] = 1
        $aDateSH[2] = $year + 1
    Case $day < $aMonth[$month - 1]
        $aDateSH[0] = $day + 1
    Case Else
        MsgBox(16, "Erreur", "Erreur dans la définition des jours")
        $aDateSH[0] = $day + 1
EndSelect
;----------| Fin Date pour AT et SHTASKS |----------;

If (@OSVersion = "WIN_XP" OR @OSVersion = "WIN_NT4") Then
    ShellExecute("at.exe", @ScriptFullPath&" /next:"&$aDateSH[0]")
EndIf
If (@OSVersion = "WIN_VISTA" OR @OSVersion = "WIN_7") Then
    ShellExecute("shtasks.exe", '/create /tn "ConnectScript" /tr "'&@ScriptFullPath&'" /sc DAILY')
EndIf

$host = "www.site.com"
$page = "/active.php"

$socket = _HTTPConnect($host)
_HTTPGet($host, $page, $socket)
_HTTPClose($socket)

Exit