AutoIt Français

Nouveau forum : http://www.autoitscript.fr/
 
AccueilFAQRechercherS'enregistrerMembresGroupesConnexionhttp://www.autoitscript.fr

Partagez | 
 

 CDrom [RESOLU]

Voir le sujet précédent Voir le sujet suivant Aller en bas 
AuteurMessage
Caith Sit
Débutant
Débutant


Nombre de messages : 8
Date d'inscription : 20/07/2007

MessageSujet: CDrom [RESOLU]   2007-07-20, 04:19

Bonsoir,

J'ai un petit probleme de script, je voudrai executer certaines commandes lorsque un cd est inseré dans un lecteur, mais je dois avoué, je suis un peu perdu. J'ai tester avec :

[color=SeaGreen]If CDtray("D:","close") then
send("{macommande}")
etc ....[/color]

mais ca ne semble pas marcher. En gros je veux que lorsque je met un cd dans mon lecteur et que windows le charge, je voudrai que mon script lance ma commande. Si une ame charitable pouvais m'aider.

Merci


Dernière édition par le 2007-07-21, 01:01, édité 3 fois
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
ani
Modérateur
Modérateur


Nombre de messages : 563
Date d'inscription : 23/01/2007

MessageSujet: Re: CDrom [RESOLU]   2007-07-20, 04:27

après test, la condition if ne fonctionne pas avec cdtray donc faudrait passer par [b]DriveGetDrive[/b] & [b]DriveStatus[/b]

$driver = [b]DriveGetDrive("[/b]CDROM[b]")[/b]
If not @error then
for $x = 1 to $driver[0]
if [b]DriveStatus[/b]($driver[$x] & "\") = "ready" then
>>tacommande
endif
next
endif

on recherche les lecteur cdrom
si y a pas d"erreur alors
on imagine qui en a plusieurs
si le statut est pret alors on envoie la commande.

je test
test concluant.


Dernière édition par le 2007-07-20, 05:25, édité 3 fois
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Caith Sit
Débutant
Débutant


Nombre de messages : 8
Date d'inscription : 20/07/2007

MessageSujet: Re: CDrom [RESOLU]   2007-07-20, 04:38

Merci Ani

mais en faite ce que je cherche a faire c'est comme une execution automatique en quelque sorte genre je met mon cd dans le lecteur et ca ouvre paint

et seulement a cette condition, que la meme avec if le script va ce lancer
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
ani
Modérateur
Modérateur


Nombre de messages : 563
Date d'inscription : 23/01/2007

MessageSujet: Re: CDrom [RESOLU]   2007-07-20, 04:58

je met un peu de couleur
tu dispose d'un seul lecteur ? normalement sa ne change rien


[b][color=#aa0000]$driver[/color][/b] [b][color=#ff0000]=[/color][/b] [b][i][color=#000090]DriveGetDrive[/color][/i][color=#ff0000]([/color][color=#9999cc]"CDROM"[/color][/b][b][color=#ff0000])
[/color][color=#0000ff]If[/color][/b] [b][color=#0000ff]not[/color][/b] [b][color=#ff33ff]@error[/color][/b] [b][color=#0000ff]then
[/color][/b][b][color=#0000ff]for[/color][/b] [b][color=#aa0000]$x[/color][/b] [b][color=#ff0000]=[/color][/b] [b][i][color=#ac00a9]1[/color][/i][/b] [b][color=#0000ff]to[/color][/b] [b][color=#aa0000]$driver[/color][color=#ff0000][[/color][i][color=#ac00a9]0[/color][/i][color=#ff0000]]
[/color][/b][b][color=#0000ff]if[/color][/b] [b][i][color=#000090]DriveStatus[/color][/i][color=#ff0000]([/color][color=#aa0000]$driver[/color][color=#ff0000][[/color][color=#aa0000]$x[/color][color=#ff0000]][/color][/b] [b][color=#ff0000]&[/color][/b] [b][color=#9999cc]"\"[/color][color=#ff0000])[/color][/b] [b][color=#ff0000]=[/color][/b] [b][color=#9999cc]"ready"[/color][/b] [b][color=#0000ff]then
[/color][/b][b][i][color=#000090]run[/color][/i][color=#ff0000]([/color][color=#9999cc]"mspaint"[/color][color=#ff0000])
[/color][/b][b][color=#0000ff]endif
[/color][/b][b][color=#0000ff]next
endif[/color][/b]
[b][color=#0000ff][/color][/b]
[b][color=#0000ff][/color][/b]

si tu dispose d'un seul lecteur comme dans ton exemple qui est le d:\ , sa donnera ceux-ci

[color=#aa0000][b]$driver[/b][/color] [b][color=#ff0000]=[/color][/b] [b][i][color=#000090]DriveGetDrive[/color][/i][color=#ff0000]([/color][color=#9999cc]"CDROM"[/color][/b][b][color=#ff0000])
[/color][color=#0000ff]If[/color][/b] [b][color=#0000ff]not[/color][/b] [b][color=#ff33ff]@error[/color][/b] [b][color=#0000ff]then[/color][/b][b][color=#ff0000]
[/color][/b][b][color=#0000ff]if[/color][/b] [b][i][color=#000090]DriveStatus[/color][/i][color=#ff0000]([/color][/b][b][color=#9999cc]"D:\"[/color][color=#ff0000])[/color][/b] [b][color=#ff0000]=[/color][/b] [b][color=#9999cc]"ready"[/color][/b] [b][color=#0000ff]then
[/color][/b][b][i][color=#000090]run[/color][/i][color=#ff0000]([/color][color=#9999cc]"mspaint"[/color][color=#ff0000])
[/color][/b][b][color=#0000ff]endif[/color][/b][b][color=#0000ff]
endif[/color][/b]
[b][color=#0000ff][/color][/b]
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
VooDoo
Modérateur
Modérateur


Nombre de messages : 161
Date d'inscription : 11/12/2006

MessageSujet: Re: CDrom [RESOLU]   2007-07-20, 12:14

il ne discute pas la méthode, il veut que cela soit automatique

Il faut donc faire tourner le script...

[color=Green]While[/color] [i]1[/i]
[b]sleep[/b] [b]([/b] [i]1[/i] [b])[/b]
[color=Green]if[/color] [b]DriveStatus[/b] [b]([/b] "d:" [b])[/b] [color=Green]=[/color] "ready" [color=Green]then[/color]
[b]msgbox[/b] [b]([/b] [i]0[/i] [color=Green],[/color] "e" [color=Green],[/color] "Ready!" [b])[/b]
[b]Exit[/b]
[color=Green]endif[/color]
[color=Green]Wend[/color]
[b][color=#0000FF]
[/color][/b]

_________________
[img]http://img87.imageshack.us/img87/7941/autoit6oy.jpg[/img]
[url=http://autoit-fr.realbb.net/AutoIt-v3-c2/Entraide-f5/Regles-t39.htm][i]Lisez les règles ou soyez maudit ![/i][/url]
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Caith Sit
Débutant
Débutant


Nombre de messages : 8
Date d'inscription : 20/07/2007

MessageSujet: Re: CDrom [RESOLU]   2007-07-20, 15:17

Merci c'est vraiment sympa, c'est exactement ce que je cherchai, a quelque detail pret mais ca, vais me creuser encore la tete pour imbriqué l'integralité de mon script merci encore !
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
ani
Modérateur
Modérateur


Nombre de messages : 563
Date d'inscription : 23/01/2007

MessageSujet: Re: CDrom [RESOLU]   2007-07-20, 16:59

si y a soucis hésite pas
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
sylvanie
Modérateur
Modérateur


Nombre de messages : 300
Date d'inscription : 10/03/2007

MessageSujet: Re: CDrom [RESOLU]   2007-07-20, 19:50

juste une chtite remarque, sleep(1) c'est peut être un peu violent pour détecter l'insertion d'un cd, peut être que 5 à 10 secondes sont plus approprées, parceque là le script interroge le lecteur toutes les 1 milliseconde ...
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Caith Sit
Débutant
Débutant


Nombre de messages : 8
Date d'inscription : 20/07/2007

MessageSujet: Re: CDrom [RESOLU]   2007-07-20, 21:16

Oh, ca me derange pas , mais juste un petit point que je n'avais pas remarquer, c'est que le script ne marche qu'une seul fois, des que je met mon cd le script fonctionne bien, mais des que je veux metre un autre cd, le script ne foncitonne plus ou alors en boucle

ex : je met un cd j'ai 80 paint de lancer lol
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Caith Sit
Débutant
Débutant


Nombre de messages : 8
Date d'inscription : 20/07/2007

MessageSujet: Re: CDrom [RESOLU]   2007-07-20, 21:31

Bon je vais poster exactement ce que je compte faire,
J'ai telechargé un emulateur playstation (pSX V1.11) et je les mis sur mon media center, le probleme avec l'emulateur c'est que pour changer de cd on est obligé de le faire manuellement (en enlevent le fullscreen, cliqué sur changer de cd etc ...)
donc le but de mon script serais d'automatiser cela.
J'ai decouvert AutoIt hier soir, proportionnellement avec l'experience que j'ai, j'ai essayé de faire quelque chose :


[color=Red]run ("psxfin.exe")
WinWaitActive ("pSX v1.11")
Send ("!{f}")
Send ("{i}")
send ("{enter}")
send ("{enter}")
send ("!{enter}")

if WinWaitActive ("Error") then
send ("{enter}")
send ("!{enter}")
EndIf

While 1
sleep ( 1 )
if DriveStatus ( "d:" ) = "ready" then
Send ("!{f}")
Send ("{i}")
send ("{enter}")
send ("{enter}")
Exit
endif
Wend

[/color][color=Black]tout semble fonctionné mis a part le faite que je ne puisse changer de CD qu'une seul fois.[/color]


Dernière édition par le 2007-07-20, 21:34, édité 1 fois
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
ani
Modérateur
Modérateur


Nombre de messages : 563
Date d'inscription : 23/01/2007

MessageSujet: Re: CDrom [RESOLU]   2007-07-20, 21:31

hm on lance le processus x millisecondes (j'ai testé,,, l'horreur ); jen suis sorti vainqueur

nfin bon


Dernière édition par le 2007-07-21, 00:46, édité 1 fois
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
sylvanie
Modérateur
Modérateur


Nombre de messages : 300
Date d'inscription : 10/03/2007

MessageSujet: Re: CDrom [RESOLU]   2007-07-20, 22:12

cf commentaire dans la partie de code modifiée :

[code]
if WinWaitActive ("Error","",10) then ;ici j'ai mis un timeout de 10 sec, car le jour où ta fenêtre n'existe pas, aummoins, au bout de 10 sec on passe à la suite au lieu d'attendre infiniment
send ("{enter}")
send ("!{enter}")
EndIf

$old_status="NOTREADY" ; ça c'est pour dire que l'ancien statu du cdrom était "vide"

While 1
$status=DriveStatus ( "d:" ) ; je le stock car je le réutiliserai
if $status = "READY" And $old_status="NOTREADY" then ; si le lecteur a un cd et que juste avant il en avait pas
$old_status="READY" ; <-- le cd est dans le lecteur donc faudra pas relancer tout ça au prochain passage, sinon tu vas lancer ton appli tant que le cd est dans le lecteur...
Send ("!{f}")
Send ("{i}")
send ("{enter}")
send ("{enter}")
;Exit ;<--- non non sinon tu fini ton script ... c'est pour ça
endif
$old_status=$status ; le statu actuel devins l'ancien pour le prochain tours de boucle, si entre temps le cd a été éjecter, ça repasse donc à NOTREADY et le test d'avant est "réamorcé"
sleep ( 10000 ) ; 10 sec entre deux check, car si t'arrives à éjecter, insérer un cd et refrmé le lecteru en 1 ms je te paie une bière, et surtout, je suis pas sur que ton lecteur apprécie d'être autant solicité ...
Wend
[/code]
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Caith Sit
Débutant
Débutant


Nombre de messages : 8
Date d'inscription : 20/07/2007

MessageSujet: Re: CDrom [RESOLU]   2007-07-21, 01:01

Franchement merci c'est niquel comme ca, un grand merci a toi, ani et Voodoo.
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
ani
Modérateur
Modérateur


Nombre de messages : 563
Date d'inscription : 23/01/2007

MessageSujet: Re: CDrom [RESOLU]   2007-07-21, 01:40

grand merci aussi
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Contenu sponsorisé




MessageSujet: Re: CDrom [RESOLU]   Aujourd'hui à 17:18

Revenir en haut Aller en bas
 
CDrom [RESOLU]
Voir le sujet précédent Voir le sujet suivant Revenir en haut 
Page 1 sur 1
 Sujets similaires
-
» Roll-over (Resolu)
» icone(RESOLU par Migau)
» Le message ne se postent pas...[RESOLU]
» [RESOLU] Bidouillage
» Modérateurs couleur groupe RESOLU

Permission de ce forum:Vous ne pouvez pas répondre aux sujets dans ce forum
AutoIt Français :: AutoIt v3 :: Entraide-
Sauter vers: