ENG2ITA Community

Hardware e software => Programmazione e scripting => Topic aperto da: Yza_K - 11/09/2008, 10:11

Titolo: Sezione Autoit, Discussioni e scambio di idee...
Inserito da: Yza_K - 11/09/2008, 10:11
Come da titolo, Vedrò di aiutare ( O FARMI AIUTARE ) in questo linguaggio.
Titolo: Re: Sezione Autoit, Discussioni e scambio di idee...
Inserito da: DMD - 17/05/2009, 10:33
Chiedo gentilmente come utilizzare la funzione Macro Generator.

La procedura che ho eseguito è questa:
Una volta che mi sono posizionato sull'eseguibile, del software che voglio automatizzare, tasto DX>More Options>Installer Tools>AutoIt MacroGenerator.

Una volta aperta la finestra ho premuto il tatso "Rec" e avviato l'installazione del software preferito, a fine installazione, ho stoppato la registrazione e salvato il file generato.

A questo punto quale passaggio devo esguire prima di compilare lo script?


Cordialmente ringrazio
Titolo: Re: Sezione Autoit, Discussioni e scambio di idee...
Inserito da: Yza_K - 17/05/2009, 22:42
Ciao DMD

Io non conosco il Macro Generator, ma se mi alleghi lo script (anche in pm) te lo controllo.

Cmq uno script in autoit va elaborato con autoit , basta installare autoit ,eseguitrlo e poi testare con F5, se va tutto bene fai l'exe con F7..



Titolo: Re: Sezione Autoit, Discussioni e scambio di idee...
Inserito da: DMD - 18/05/2009, 06:31
Il programma che cerco di "automatizzare" è il noto DivX (http://www.divx.com/en/win)

lo script generato è questo

Codice: [Seleziona]
;--- AutoIt Macro Generator V 0.21 beta ---
Opt("WinTitleMatchMode", 4)
WinWait("Codec DivX 6.8","")
ControlClick("Codec DivX 6.8","","DirectUIHWND3")
ControlClick("Codec DivX 6.8","","DirectUIHWND3")
WinWait("Language selection","Cancel")
ControlClick("Language selection","Cancel","Button1")
WinWait("DivX for Windows Setup","Copyright (c) DivX, Inc. 2009")
ControlClick("DivX for Windows Setup","Copyright (c) DivX, Inc. 2009","Button2")
WinWait("DivX for Windows Setup ","Copyright (c) DivX, Inc. 2009")
ControlCommand("DivX for Windows Setup ","Copyright (c) DivX, Inc. 2009","Button4","Check","")
ControlClick("DivX for Windows Setup ","Copyright (c) DivX, Inc. 2009","Button2")
;AutoIt supports no SysTreeView32
ControlClick("DivX for Windows Setup ","Copyright (c) DivX, Inc. 2009","SysTreeView321")
;AutoIt supports no SysTreeView32
ControlClick("DivX for Windows Setup ","Copyright (c) DivX, Inc. 2009","SysTreeView321")
;AutoIt supports no SysTreeView32
ControlClick("DivX for Windows Setup ","Copyright (c) DivX, Inc. 2009","SysTreeView321")
;AutoIt supports no SysTreeView32
ControlClick("DivX for Windows Setup ","Copyright (c) DivX, Inc. 2009","SysTreeView321")
ControlClick("DivX for Windows Setup ","Copyright (c) DivX, Inc. 2009","Button2")
ControlClick("DivX for Windows Setup ","Copyright (c) DivX, Inc. 2009","Button2")
WinWait("DivX for Windows Setup","Copyright (c) DivX, Inc. 2009")
ControlClick("DivX for Windows Setup","Copyright (c) DivX, Inc. 2009","Button2")
WinWait("http://go.divx.com/postinstall/win/en - Windows Internet Explorer","Navigation Bar")

;--- End ---




Poi cliccando con il tasto DX sull'eseguibile  More Option>InstallerToolsAutoIT Automated Script>Use WinWait In sequence ho ottenuto un'altro script che ho modificato con le righe del primo.

Codice: [Seleziona]
#region - DivXInstaller install script - (Automated with WinWait functions)

Opt('TrayIconDebug', 1)
Opt('WinDetectHiddenText', 1)
Opt('WinTitleMatchMode', 4)

; Installer.
$executable = 'DivXInstaller.exe'
; Show progess.
$splash = 0
; Default catagory folder in startmenu.
$group = ''
; New catagory to move the default folder into.
$catagory = ''
; Installation folder in Program Files.
$directory = ''

; Run the installer.
$pid = _Install()
If WinWait("Codec DivX 6.8", 60) Then
ControlClick("Language selection","Cancel","Button1")
WinWait("DivX for Windows Setup","Copyright (c) DivX, Inc. 2009")
ControlClick("DivX for Windows Setup","Copyright (c) DivX, Inc. 2009","Button2")
WinWait("DivX for Windows Setup ","Copyright (c) DivX, Inc. 2009")
ControlCommand("DivX for Windows Setup ","Copyright (c) DivX, Inc. 2009","Button4","Check","")
ControlClick("DivX for Windows Setup ","Copyright (c) DivX, Inc. 2009","Button2")
;AutoIt supports no SysTreeView32
ControlClick("DivX for Windows Setup ","Copyright (c) DivX, Inc. 2009","SysTreeView321")
;AutoIt supports no SysTreeView32
ControlClick("DivX for Windows Setup ","Copyright (c) DivX, Inc. 2009","SysTreeView321")
;AutoIt supports no SysTreeView32
ControlClick("DivX for Windows Setup ","Copyright (c) DivX, Inc. 2009","SysTreeView321")
;AutoIt supports no SysTreeView32
ControlClick("DivX for Windows Setup ","Copyright (c) DivX, Inc. 2009","SysTreeView321")
ControlClick("DivX for Windows Setup ","Copyright (c) DivX, Inc. 2009","Button2")
ControlClick("DivX for Windows Setup ","Copyright (c) DivX, Inc. 2009","Button2")
WinWait("DivX for Windows Setup","Copyright (c) DivX, Inc. 2009")
ControlClick("DivX for Windows Setup","Copyright (c) DivX, Inc. 2009","Button2")
WinWait("DivX for Windows Setup","&Close")
ControlClick("DivX for Windows Setup","&Close","Button2")
WinWait("Windows Internet Explorer","Barra di spostamento")
Else
_Abort()
EndIf
ProcessWaitClose($pid)

; Remove shortcuts.
If _MainShortcut('?.lnk') Then
; Relative to shortcut directories
; Remove Startmenu shortcuts
FileDelete('?.lnk')
FileDelete('?.lnk')
FileDelete('?.lnk')
FileDelete('?.lnk')
FileDelete('?.lnk')
; Remove other shortcuts
_Desktop('?.lnk')
_QuickLaunch('?.lnk')
EndIf

#endregion

Exit

#cs - Exitcodes
1 = _Install(): Installer not found
2 = _Abort(): Installer process closed and then Abort
3 = _Abort(): Abort only
-1 = _ProcessBlock(): Blocked processes not unblocked
#ce

Func _Install($path = 'Default')
; Run the installer in Default Script directory.
Dim $splash, $processblock
If $path = 'Default' Then $path = @ScriptDir
If StringRight($path, 1) <> '\' Then $path = $path & '\'
If StringInStr($executable, '\') Then $path = ''
If Not FileExists($path & $executable) Then Exit 1
If $processblock <> '' Then Call('_' & 'ProcessBlock')
If $splash Then _Splash('Installing:' & StringTrimRight(StringReplace(@ScriptName, '_', ' '), 4))
If StringRight($executable, 3) = 'msi' Then
Return Run(@SystemDir & '\msiexec /i "' & $path & $executable & '"')
Else
Return Run($path & $executable)
EndIf
EndFunc

Func _Abort()
; close process if exists then exit.
Dim $pid
If ProcessExists($pid) Then
ProcessClose($pid)
Exit 2
Else
Exit 3
EndIf
EndFunc

Func _Desktop($shortcut)
; Delete a Desktop shortcut.
If FileExists(@DesktopDir & '\' & $shortcut) Then
Return FileDelete(@DesktopDir & '\' & $shortcut)
ElseIf FileExists(@DesktopCommonDir & '\' & $shortcut) Then
Return FileDelete(@DesktopCommonDir & '\' & $shortcut)
EndIf
EndFunc

Func _MainShortcut($shortcut, $rename = '')
; Change working directory to correct StartMenu\Group directory.
Dim $group, $catagory, $splash
If $group = '' Then Return 0
If FileExists(@ProgramsDir & '\' & $group) Then
FileChangeDir(@ProgramsDir & '\' & $group)
ElseIf FileExists(@ProgramsCommonDir & '\' & $group) Then
FileChangeDir(@ProgramsCommonDir & '\' & $group)
Else
Return 0
EndIf
; Wait for main shortcut.
If $splash Then _Splash('Waiting for shortcuts')
For $i = 1 To 20
If FileExists($shortcut) Then ExitLoop
Sleep(500)
Next
If $splash Then _Splash('Cleaning up:' & StringTrimRight(StringReplace(@ScriptName, '_', ' '), 4))
; If catagory not assigned anything, then return.
If $catagory = '' Then Return 1
; Move the group folder into the catagory folder.
If FileChangeDir('..') And DirCopy($group, $catagory & '\' & $group, 1) Then
If DirRemove($group, 1) Then
; If optional rename parameter is used, then rename the group folder.
If $rename <> '' And FileChangeDir($catagory) Then
If DirCopy($group, $rename, 1) And DirRemove($group, 1) Then
Return FileChangeDir($rename)
EndIf
Else
Return FileChangeDir($catagory & '\' & $group)
EndIf
EndIf
EndIf
EndFunc

Func _QuickLaunch($shortcut)
; Delete a Quicklaunch shortcut.
Local $subdirs = 'Microsoft\Internet Explorer\Quick Launch'
If FileExists(@AppDataDir & '\' & $subdirs & '\' & $shortcut) Then
Return FileDelete(@AppDataDir & '\' & $subdirs & '\' & $shortcut)
ElseIf FileExists(@AppDataCommonDir & '\' & $subdirs & '\' & $shortcut) Then
Return FileDelete(@AppDataCommonDir & '\' & $subdirs & '\' & $shortcut)
EndIf
EndFunc

Func _Splash($text = '')
; Shows a small borderless splash message.
Dim $splash
If $splash Then
If $text Then
SplashTextOn('', $text, 500, 25, -1, 5, 1, '', 14)
Else
SplashOff()
EndIf
EndIf
EndFunc

Func _WinClose($title, $text = '')
; Close a window with further attempts.
For $i = 1 To 10
WinClose($title, $text)
If Not WinExists($title) Then Return 1
Sleep(500)
Next
EndFunc

Func OnAutoItStart()
; A 2nd script instance will exit.
If StringInStr($CMDLINERAW, '/dummy') Then Exit
If WinExists(@ScriptName & '_Interpreter') Then Exit
AutoItWinSetTitle(@ScriptName & '_Interpreter')
EndFunc




Dopo ho compilato il file, ma quando lo lancio non mi attiva l'istallazione automatizzata del software preferito.

Questa procedura l'ho fatta anche per altri software e devo dire che con più di qualcuno ha funzionato, per cui non riesco a capire se con qualche programma bisogna agire in modo diverso.


Un saluto
Titolo: Re: Sezione Autoit, Discussioni e scambio di idee...
Inserito da: Yza_K - 18/05/2009, 09:18
Il software che utilizzi è un pochino pasticcione, tra poco te lo faccio bene.
Titolo: Re: Sezione Autoit, Discussioni e scambio di idee...
Inserito da: DMD - 18/05/2009, 13:42
GRAZIE!   

Anche perchè di programmazione non ne capisco niente, ed è per questo che mi affido alla soluzione più comoda e  "automatizzata" del MacroGenerator.
Titolo: Re: Sezione Autoit, Discussioni e scambio di idee...
Inserito da: Yza_K - 18/05/2009, 22:33
Ti do il sorgente domanimattina, ho avuto un contrattempo.
Titolo: Re: Sezione Autoit, Discussioni e scambio di idee...
Inserito da: Yza_K - 19/05/2009, 10:27
Allego il parassita. se vuoi lo puoi personalizzare.

Codice: [Seleziona]
;
; YZA_K 4 EnG2ItA Staff ....   since 1982 to 2009 LOL
;

Run("DivXInstaller.exe") ;nome del file
Opt("WinTitleMatchMode", 4)
WinWaitActive ( "Language selection" )
send ("{ENTER}")
WinWaitactive ("DivX for Windows Setup")
ControlClick ( "DivX for" , "Welcome", "Button2" )
WinWaitactive ("DivX for Windows Setup","Copyright (c) DivX, Inc. 2009")
send ("{tab}"&"{space}"&"{ENTER}")
WinWaitactive ("DivX for Windows Setup","Choose Components")
; qua dovresti decidere che cosa vuoi preselezionare
; si fà con SEND up/dawn e space.alla fine:
send ("{tab}"&"{tab}"&"{ENTER}")
WinWaitactive ("DivX for Windows Setup","Choose Install Location")
ControlClick ( "DivX for" , "Choose the folder", "Button2" )
;
WinWaitactive ("DivX for Windows Setup")
ControlClick ( "DivX for" , "Free!", "Button4" )
send ("{ENTER}")

WinWaitactive ("DivX for Windows Setup","Sign up for the DivX")
ControlClick ( "DivX for" , "Keep up", "Button2" )
;
WinWaitactive ("DivX for Windows Setup","Installation Complete")
ControlClick ( "DivX for" , "has been", "Button2" )
sleep(2888)
If ProcessExists("iexplore.exe") Then
$PID = ProcessExists("iexplore.exe")
ProcessClose($PID)
EndIf
exit


Titolo: Re: Sezione Autoit, Discussioni e scambio di idee...
Inserito da: DMD - 19/05/2009, 11:44
GRANDE Yza_K !   :milite: :hop02:

Ho testato e l'installazione funge regolarmente, però ti chiedo alcune cosette se non oso troppo.

1- è possibile deselezionare i tool aggiuntivi,  tipo web player ectc.. e lasciare solo il codec?

2- Alla fine dell'installazione mi apre in automatico la pagina web, non c'è modo di impedire questo?


Grazie per il grande lavoro che hai fatto. ;)

Un saluto
Titolo: Re: Sezione Autoit, Discussioni e scambio di idee...
Inserito da: Yza_K - 19/05/2009, 20:17
1) che usi ? il firexox o opera ?
2)
; qua dovresti decidere che cosa vuoi preselezionare
; si fà con SEND up/dawn e space.alla fine:
te l'ho gia scritto cmq mo te lo modifico (domani xò)
Titolo: Re: Sezione Autoit, Discussioni e scambio di idee...
Inserito da: DMD - 19/05/2009, 21:44
Grazie per il tempo che mi dedichi.

Utilizzo Firefox come browser principale, comunque se si riuscisse a bloccare l'apertura del browser sarebbe meglio.

p.s. che dici, sarebbe possibile una mini guida semplice per utilizzare il MacroGenerator senza addentrarsi troppo nel mare immenso della programmazione pura?

Un saluto
Titolo: Re: Sezione Autoit, Discussioni e scambio di idee...
Inserito da: fireblad02 - 20/05/2009, 09:22
p.s. che dici, sarebbe possibile una mini guida semplice per utilizzare il MacroGenerator senza addentrarsi troppo nel mare immenso della programmazione pura?

Interesserebbe anche a me  ;D ;D ;D
Titolo: Re: Sezione Autoit, Discussioni e scambio di idee...
Inserito da: Yza_K - 20/05/2009, 09:46
Grazie per il tempo che mi dedichi.

Utilizzo Firefox come browser principale, comunque se si riuscisse a bloccare l'apertura del browser sarebbe meglio.
Hai notato che non ti ho chiesto di ie ? sai perche ?? perche non era possibile, l' avevo già chiuso XD.

p.s. che dici, sarebbe possibile una mini guida semplice per utilizzare il MacroGenerator senza addentrarsi troppo nel mare immenso della programmazione pura?
Io non ne so un zuffolo di  MacroGenerator, mai visto ... non ti posso aiutare su una eventuale guida...


Un saluto

(per i piu pigri allego l'eseguibile)
ecco il codice :

Codice: [Seleziona]

;
; YZA_K 4 EnG2ItA Staff ....   since 1982 to 2009 LOL
;

Run("DivXInstaller.exe") ;nome del file
Opt("WinTitleMatchMode", 4)
WinWaitActive ( "Language selection" )
send ("{ENTER}")
WinWaitactive ("DivX for Windows Setup")
ControlClick ( "DivX for" , "Welcome", "Button2" )
WinWaitactive ("DivX for Windows Setup","Copyright (c) DivX, Inc. 2009")
send ("{tab}"&"{space}"&"{ENTER}")
WinWaitactive ("DivX for Windows Setup","Choose Components")
;
send ("{down}"&"{space}")
sleep(88)
send ("{down}"&"{space}")
sleep(88)
send ("{down}"&"{space}")
sleep(88)
send ("{down}"&"{space}")
sleep(88)
;
send ("{tab}"&"{tab}"&"{ENTER}")
WinWaitactive ("DivX for Windows Setup","Choose Install Location")
ControlClick ( "DivX for" , "Choose the folder", "Button2" )
;
WinWaitactive ("DivX for Windows Setup")
ControlClick ( "DivX for" , "Free!", "Button4" )
send ("{ENTER}")
;
WinWaitactive ("DivX for Windows Setup","Sign up for the DivX")
ControlClick ( "DivX for" , "Keep up", "Button2" )
;
WinWaitactive ("DivX for Windows Setup","Installation Complete")
ControlClick ( "DivX for" , "has been", "Button2" )
; Bye
sleep(2888)
$PID = ProcessExists("firefox.exe")
If $PID Then
ProcessClose($PID)
EndIf
$PID = ProcessExists("IEXPLORE.EXE")
If $PID Then
ProcessClose($PID)
EndIf
$PID = ProcessExists("opera.exe")
If $PID Then
ProcessClose($PID)
endif
;
exit

Titolo: Re: Sezione Autoit, Discussioni e scambio di idee...
Inserito da: DMD - 20/05/2009, 18:27
Non ho parole per ringraziarti!

 Funziona come desideravo sopratutto sotto W7 RC1

(https://www.eng2ita.net/forum/proxy.php?request=http%3A%2F%2Fimg41.imageshack.us%2Fimg41%2F4415%2Ftestw7n.th.jpg&hash=608bd29cc9020f6506b8a7658344dd0df44f1849) (http://img41.imageshack.us/my.php?image=testw7n.jpg)


Adesso il problema per me, è capire come funziona lo script in modo da poterlo studiare per adattarlo ad altri software, magari ci fosse un tool che farebbe in automatico...    a proposito ho smanettato tempo fa con  Almeza MultiSet (http://www.almeza.com/content/view/96/108/) però non sono riuscito a "estrapolare" il solo file compilato che mi interessa per lanciare l'eseguibile, bisogna per forza fare un cd avviabile proprietario che installa i singoli programmi.

Penso che AutoIT sia più flessibile, anche se molto complesso.

Un saluto
Titolo: Re: Sezione Autoit, Discussioni e scambio di idee...
Inserito da: Yza_K - 21/05/2009, 09:06
Almeza MultiSet non te lo consiglio, l'ho guardato tempo fà e mi son sbellicato dal ridere XD

Se vuoi, una mano te la do con autoit, previo il mio limitatissimo tempo, mi sembra di ricordare che ci son dei tutorial video in rete...

Sono felice che il parassita sia ciò che desideravi, ciau
Titolo: Re: Sezione Autoit, Discussioni e scambio di idee...
Inserito da: DMD - 22/05/2009, 08:48
Grande esempio di programmazione unattended da studiare.

Anche se a molti farebbe piacere di avere  la "pappa pronta", a me stimola la passione per il procedimento che hai realizzato.

Sono consapevole che l'argomento è abbastanza difficile da affrontare, almeno per me,ho provato a "gogglare" e il materiale che ho trovato tratta direttamente di programmazione pura, chiedo se esiste qualche guida comprensibile ad ignoranti come me.

Il desiderio da realizzare sarebbe quello di poter automatizzare qualsiasi softw come lo si desidera, sarebbe proprio il massimo dell'unattended.


Un saluto
Titolo: Re: Sezione Autoit, Discussioni e scambio di idee...
Inserito da: OnePiece - 22/05/2009, 10:41
credo e proprio quello che cerchi http://hacking2.0.forumcommunity.net/?t=10585187. io già provato ed già familiarizzato un po, ma io facendo troppe cose o già fregato me stesso cosi non mi esce il tempo rivedere nuovi cose ormai, o rivedere altri cose che mi piacciano come dire hmmmmmmmm

ah se leggi li noterai subito che fare quello che vuoi fare tu non e difficile ;), fare altro o andare altro.... forse si, ma per quello che serve a te per quello che o capito credo se leggi 2 3 4 5 giorni in rete credo arriverai già fare quello che stai cercando di fare.

Ciao.
Titolo: Re: Sezione Autoit, Discussioni e scambio di idee...
Inserito da: DMD - 22/05/2009, 11:08
GRAZIE DEL CONTRIBUTO!

Spero di riuscirre a capirci qualcosa,  cerco anche io di "raccimolare" più materiale possibile in rete per trovare qualcosa di "comprensibile".


Un saluto


Titolo: Re: Sezione Autoit, Discussioni e scambio di idee...
Inserito da: fireblad02 - 22/05/2009, 11:59
DMD se ti interessa ti segnalo questo forum che avevo nei preferiti :

Autoit fanclub (http://autoit.forumcommunity.net)

C'è una guida molto simile a quella postata da OnePiece e altre piccole guide (ad esempio Skinnare una gui).
Titolo: Re: Sezione Autoit, Discussioni e scambio di idee...
Inserito da: Max - 22/05/2009, 16:44
Se leggi bene nella loro sezione Autoit, DMD ci ha già postato di recente ma senza trovare chiarimenti.  :P
Teniamocelo stretto il nostro Yza_K.  :thumbup:

Quasi quasi mi offro volontario per la traduzione di qualunque guida su AutoIT, dall'inglese all'italiano... solo che ci vorrebbe una guida maestosa come unico riferimento del forum, correlata da immagini.
Titolo: Re: Sezione Autoit, Discussioni e scambio di idee...
Inserito da: DMD - 22/05/2009, 20:00
Azz....  Neanche faccio in tempo a postare su altri forum che il nostro Max ti scopre  ;D

Adesso che il nostro amm. si è offerto come traduttore,  magari Yaz_K potrebbe valutare un'ipotesi di una forse remota  guida con l'esclusiva dei relativi diritti  ::)
Titolo: Re: Sezione Autoit, Discussioni e scambio di idee...
Inserito da: Yza_K - 22/05/2009, 21:27
Pensavo di fare un video e magari metterci i miei tips XD, sarebbe sicuramente + easy se lo scopo ultimo è fare unattended...

Ma... non servirebbe a un tubo se si vuole fare altre cose... vedete, fare unattended con autoit è estremamente semplice, programmare invece è veramente difficile (autoit non è proprio "userfrendly")

Titolo: Re: Sezione Autoit, Discussioni e scambio di idee...
Inserito da: Singolarity - 22/05/2009, 22:10
se si mastica già un po' di visual basic...autoit lo si può considerare un suo dialetto ad altissimo livello e quindi la via sarebbe già + semplice.
Titolo: Re: Sezione Autoit, Discussioni e scambio di idee...
Inserito da: DMD - 22/05/2009, 22:32
..... vedete, fare unattended con autoit è estremamente semplice, programmare invece è veramente difficile .....

Fare l'unattended penso sia l'obiettivo principale e più comune a tutti, spero che anche altri siano d'accordo con questo punto.

La programmazione, essendo di difficile attuazione,  per chi fosse interessato al limite si potrebbe fare solo degli accenni e rimandare a dei link dedicati se ci sono, altrimenti la lasciamo stare.



Titolo: Re: Sezione Autoit, Discussioni e scambio di idee...
Inserito da: fireblad02 - 23/05/2009, 16:30
Ciao ragazzi, googlando ho trovato questo SITO (http://www.addebook.com/it/uncategorized/autoit-v3-your-quick-guide-oreilly-short-cuts_7537.html) che permette di scaricare una guida su AutoIt (completamente inglese purtroppo  >:( >:( )

(https://www.eng2ita.net/forum/proxy.php?request=http%3A%2F%2Fcovers.oreilly.com%2Fimages%2F9780596515126%2Fcat.gif&hash=6a2bef3327b8162812ad03790b75f40c9fb62311)

PS: non mi sembra un sito warez quindi non credo di andare contro il regolamento, se cosi non fosse mi scuso e provederò a rimuovere immediatamente il sito.

Bye
Titolo: Re: Sezione Autoit, Discussioni e scambio di idee...
Inserito da: Mr.X - 24/05/2009, 00:26
Date un occhio qua: Autoit Guida in Italiano (http://www.scribd.com/doc/3010253/AutoIt-Italiano)
Se vi registrate ve lo potete scaricare in pdf così lo consultate offline ;)
Titolo: Re: Sezione Autoit, Discussioni e scambio di idee...
Inserito da: Max - 24/05/2009, 11:15
Date un occhio qua: Autoit Guida in Italiano (http://www.scribd.com/doc/3010253/AutoIt-Italiano)
Se vi registrate ve lo potete scaricare in pdf così lo consultate offline ;)

Esiste un altro modo, ad esempio è sufficiente installare programmi come Primopdf o PDFCreator, premere il pulsante di stampa sul menu a discesa "More", selezionare la periferica di stampa virtuale installata da uno di questi programmi, e in seguito, dopo il download, è possibile prelevare il pdf.
Titolo: Re: Sezione Autoit, Discussioni e scambio di idee...
Inserito da: fireblad02 - 24/05/2009, 14:21
Esiste un altro modo, ad esempio è sufficiente installare programmi come Primopdf o PDFCreator, premere il pulsante di stampa sul menu a discesa "More", selezionare la periferica di stampa virtuale installata da uno di questi programmi, e in seguito, dopo il download, è possibile prelevare il pdf.

Bella soluzione che non conoscevo ...  :milite: :milite:

Comunque una soluzione ancora più semplice è quella di inserire una email falsa e in 2 clic scarichi il file :) :) :)
Titolo: Re: Sezione Autoit, Discussioni e scambio di idee...
Inserito da: Max - 24/05/2009, 15:48
Bella soluzione che non conoscevo ...  :milite: :milite:

Comunque una soluzione ancora più semplice è quella di inserire una email falsa e in 2 clic scarichi il file :) :) :)

La mia però è più elegante.  verycool
Titolo: Re: Sezione Autoit, Discussioni e scambio di idee...
Inserito da: Yza_K - 25/05/2009, 08:34
La mia però è più elegante.  verycool

Concordo XD
Titolo: Re: Sezione Autoit, Discussioni e scambio di idee...
Inserito da: DMD - 25/05/2009, 15:29
D'accordo sull'eleganza o meno, io mi sono registrato e ho scaricato normalmente (non vedo che problema c'è).

Comunque, al di là di tutto, dando un'occhiata mi sembra alquanto ostico, per chi non mastica programmazione come me.

Per cui chiedo gentilmente (sempre se è posibile)  se qualche anima pia  ::) potrebbe "decifrare" la guida in modo da renderla "adatta" per automatizzare l'installazione dei software.


Un saluto
Titolo: Re: Sezione Autoit, Discussioni e scambio di idee...
Inserito da: fireblad02 - 10/06/2009, 13:18
........

Edit: risolto, scusate il disturbo
Titolo: Re: Sezione Autoit, Discussioni e scambio di idee...
Inserito da: japper - 22/12/2009, 21:05
Ciao a tutti , nn ho letto tutto perchè c'è troppo da leggere xD...
Cmq nn so risolvere un problemino...
Dovrei COpiare un file in un ciclo , il problema che me copia lo stesso file sovrascvriendo il vecchio e quindi alla fine nn mi fa 100 copie o 10 copie come voglio io ,me ne fa solamente una...
Citazione
$i=0
$n=int(Random(50,100))
while $i<$n
filecopy("C:\Users\japper\desktop\USB\xxxxx.exe","C:\Users\japper\desktop\USB\USB1\",1)
$i+=1
WEnd
Titolo: Re: Sezione Autoit, Discussioni e scambio di idee...
Inserito da: BAT - 24/12/2009, 19:21
Ti premetto che non conosco AutoIt però ho letto il tuo codice e lo
interpreto come "copia n volte il file xxxxx.exe chiamandolo
xxxxx1.exe, xxxxx2.exe" ... e così via.

Secondo me c'è un errore di impostazione nel ciclo while: non vedo
nel comando di copia il nome del file destinazione indicato come parametro,
dovresti metterlo;

oppure dovresti verificare l'esistenza di una variante a 3 parametri del comando di copia, del tipo
filecopy(directory&FileSsorgente, directory-destinazione, nomeFileCopiato)

In ogni caso il contatore i, deve essere concatenato al nome del file
destinazione prima del suffisso ".exe", ossia devi passare come parametro
"nomeFileCopiato"+i+".exe"
dove con il + indico la concatenazione di stringhe di caratteri.

Un'altra alternativa è copiare il file destinazione con lo stesso nome del sorgente
ed aggiungere un'istruzione all'interno del while con un comando, se esiste, di ridenominazione

while $i<$n
filecopy("C:\Users\japper\desktop\USB\xxxxx.exe","C:\Users\japper\desktop\USB\USB1\",1)
comando-di-ridenominazione
$i+=1
Titolo: Re: Sezione Autoit, Discussioni e scambio di idee...
Inserito da: oldman - 05/02/2010, 09:35
@ japper
Ammesso che ciò di cui hai bisogno corrisponda a quanto interpretato da BAT nel post quì sopra
Il codice da usare è il seguente:
Codice: [Seleziona]
#Include <File.au3>

$FILE = "test.txt" ; nome del file da copiare
$SRCDIR = "G:\CODING\Test\" ; cartella sorgente
$TGTDIR = "G:\CODING\Test\Test1\" ; cartella di destinazione
$FNAME = StringTrimRight($FILE, 4) ; nome del file (Test)
$FEXTN = StringRight($FILE, 4) ; estensione del file (.txt)

; Se non esiste crea la cartella di destinazione e vi inserisce 10 copie del file da test1.txt a test10.txt
For $i = 1 to 10
FileCopy($SRCDIR&$FILE, $TGTDIR&$FNAME&$i&$FEXTN, 8)
Next
Exit

Ciao
Titolo: Re: Sezione Autoit, Discussioni e scambio di idee...
Inserito da: Mr.X - 06/02/2010, 13:45
@oldman
Bravo! Non è ben chiaro perchè hai messo
Codice: [Seleziona]
#Include <File.au3> nella prima riga.
Il tutto si potrebbe sintetizzare così:
Codice: [Seleziona]
For $i = 1 to 10
$file="file"&$i&".txt"
FileCopy("C:\file.txt", "D:\backup\"&$file, 9)
Next
Tutto ciò se il file sorgente è 'file.txt' e si trova in C:\ altrimenti scriviamo il percorso corretto nella riga FileCopy
Il codice crea una cartella in D:\  denominata backup e sovrascrive i file eventualmente già presenti (vedi il flag 9 =8+1 nella riga FileCopy che significa: crea la directory se non esiste e sovrascrivi i file).
Titolo: Re: Sezione Autoit, Discussioni e scambio di idee...
Inserito da: oldman - 06/02/2010, 18:25
@MISTER X
Codice: [Seleziona]
#Include <File.au3>l'ho messo xchè se compili il .au3 in .exe devi includere la relativa libreria di funzioni di AutoIt.
mentre le 5 variabili le ho messe in modo da avere la possibilità di usare le funzioni "FileFindFirstFile()" e "FileFindFirstFile()" nel caso volesse ripetere l'operazione x tutti i files contenuti nella cartella sorgente.
La struttura così impostata consente inoltre di ricavare una funzione dedicata allo scopo.
Ciao

Titolo: Re: Sezione Autoit, Discussioni e scambio di idee...
Inserito da: Mr.X - 06/02/2010, 20:03
Cio che ti dico vuole essere solo una critica costruttiva...siamo qui per imparare e/o insegnare; ma proprio questa affermazione non la butto giù:
Citazione
l'ho messo xchè se compili il .au3 in .exe devi includere la relativa libreria di funzioni di AutoIt.
Se compilo in exe il tuo codice senza
Codice: [Seleziona]
#Include <File.au3> questo funziona comunque.
La guida dice:
Citazione
Per usare una funzione usa semplicemente #include <include.au3> all'inizio del tuo script file.
Se ad esempio uso la funzione _ColorGetGreen dovrò scrivere #include <Color.au3>; se ho bisogno della funzione _FileCreate scriverò #include <File.au3> , se ho bisogno della funzione _RunDOS scriverò #include <Process.au3>
Nel tuo script non compare neppure una funzione utente pre-scritta che mi giustifichi la presenza di #Include <File.au3>
Anche
Codice: [Seleziona]
Exit all'ultima riga è superfluo.
Comunque il tuo codice funziona... non ti preoccupare: sono un po' pignolo  :devil01:
Titolo: Re: Sezione Autoit, Discussioni e scambio di idee...
Inserito da: DMD - 06/02/2010, 22:42
Chiedo se c'è qualche link dove poter approfondire il MacroGenerator.

Grazie
Titolo: Re: Sezione Autoit, Discussioni e scambio di idee...
Inserito da: Mr.X - 07/02/2010, 11:38
Questo è AutoitMacrogenerator: http://www.megaupload.com/?d=FTBDZEI7 dentro c'è il file chm della guida, ma probabilmente (forse non ti dico nulla di nuovo) è troppo sintetica.
Questo è il link ufficiale: http://www.voss2000.de.vu/ , la registrazione è d'obbligo per accedere al forum.
Personalmente non l'ho mai usato.. vado a manina e delle volte mi aiuto con Autoit Window info.
Titolo: Re: Sezione Autoit, Discussioni e scambio di idee...
Inserito da: DMD - 07/02/2010, 20:11
Ci ho riprovato un'altra volta, ma secondo me è dura.

Allora ho provato con il Macrogenerator ad installare PDFCreator
 (http://www.pdfforge.org/download)
Ho ottenuto lo script che ho salvato nella stessa directory del programma, poi ho provato a lanciarlo  senza successo, epppure la sequenza dei vari click del mouse mi pare sia memorizzata correttamente.

Codice: [Seleziona]
;--- AutoIt Macro Generator V 0.21 beta ---
Opt("WinTitleMatchMode", 4)
WinWait("PDFCreator_0.9.9","")
ControlClick("PDFCreator_0.9.9","","DirectUIHWND3")
ControlClick("PDFCreator_0.9.9","","DirectUIHWND3")
WinWait("Selezionare la lingua dell'installazione","Selezionare la lingua da utili")
ControlClick("Selezionare la lingua dell'installazione","Selezionare la lingua da utili","TNewButton1")
WinWait("Installazione di PDFCreator","PDFCreator 0.9.9 sarà installa")
ControlClick("Installazione di PDFCreator","PDFCreator 0.9.9 sarà installa","TNewButton1")
WinWait("Installazione di PDFCreator","Leggere con attenzione le info")
ControlClick("Installazione di PDFCreator","Leggere con attenzione le info","TNewRadioButton1")
ControlClick("Installazione di PDFCreator","Leggere con attenzione le info","TNewButton2")
WinWait("Installazione di PDFCreator","Selezionare la modalità di ins")
ControlClick("Installazione di PDFCreator","Selezionare la modalità di ins","TNewButton2")
WinWait("Installazione di PDFCreator","Scegliere un nome per la stamp")
ControlClick("Installazione di PDFCreator","Scegliere un nome per la stamp","TNewButton2")
WinWait("Installazione di PDFCreator","Dove si vuole installare PDFCr")
ControlClick("Installazione di PDFCreator","Dove si vuole installare PDFCr","TNewButton3")
WinWait("Installazione di PDFCreator","Quali componenti devono essere")
ControlClick("Installazione di PDFCreator","Quali componenti devono essere","TNewButton3")
WinWait("Installazione di PDFCreator","Dove si vuole inserire i colle")
ControlClick("Installazione di PDFCreator","Dove si vuole inserire i colle","TNewButton4")
WinWait("Installazione di PDFCreator","Quali processi aggiuntivi si v")
ControlClick("Installazione di PDFCreator","Quali processi aggiuntivi si v","TNewButton4")
WinWait("Installazione di PDFCreator","Il programma di installazione ")
ControlClick("Installazione di PDFCreator","Il programma di installazione ","TNewButton4")
WinWait("Installazione di PDFCreator","L'installazione di PDFCreator ")
ControlClick("Installazione di PDFCreator","L'installazione di PDFCreator ","TNewButton4")

;--- End ---
Titolo: Re: Sezione Autoit, Discussioni e scambio di idee...
Inserito da: Mr.X - 07/02/2010, 22:03
Così dovrebbe andare:
Codice: [Seleziona]
Opt("WinTitleMatchMode", 4)
Run(@ScriptDir & "\PDFCreator-0_9_9_setup.exe")
WinWaitActive("Selezionare la lingua dell'installazione","Selezionare la lingua da utili")
ControlClick("Selezionare la lingua dell'installazione","Selezionare la lingua da utili","TNewButton1")
WinWaitActive("Installazione di PDFCreator","PDFCreator 0.9.9 sarà installa")
ControlClick("Installazione di PDFCreator","PDFCreator 0.9.9 sarà installa","TNewButton1")
WinWaitActive("Installazione di PDFCreator","Leggere con attenzione le info")
ControlClick("Installazione di PDFCreator","Leggere con attenzione le info","TNewRadioButton1")
ControlClick("Installazione di PDFCreator","Leggere con attenzione le info","TNewButton2")
WinWaitActive("Installazione di PDFCreator","Selezionare la modalità di ins")
ControlClick("Installazione di PDFCreator","Selezionare la modalità di ins","TNewButton2")
WinWaitActive("Installazione di PDFCreator","Scegliere un nome per la stamp")
ControlClick("Installazione di PDFCreator","Scegliere un nome per la stamp","TNewButton2")
WinWaitActive("Installazione di PDFCreator","Dove si vuole installare PDFCr")
ControlClick("Installazione di PDFCreator","Dove si vuole installare PDFCr","TNewButton3")
If WinWaitActive("Installazione di PDFCreator","Installa l'Add On di PDFCreato",2) Then
ControlClick("Installazione di PDFCreator","Installa l'Add On di PDFCreato","TCheckBox1")
sleep(200)
ControlClick("Installazione di PDFCreator","Installa l'Add On di PDFCreato","TNewButton3")
EndIf
WinWaitActive("Installazione di PDFCreator","Quali componenti devono essere")
ControlClick("Installazione di PDFCreator","Quali componenti devono essere","TNewButton3")
WinWaitActive("Installazione di PDFCreator","Dove si vuole inserire i colle")
ControlClick("Installazione di PDFCreator","Dove si vuole inserire i colle","TNewButton4")
WinWaitActive("Installazione di PDFCreator","Quali processi aggiuntivi si v")
ControlClick("Installazione di PDFCreator","Quali processi aggiuntivi si v","TNewButton4")
WinWaitActive("Installazione di PDFCreator","Il programma di installazione ")
ControlClick("Installazione di PDFCreator","Il programma di installazione ","TNewButton4")
WinWaitActive("Installazione di PDFCreator","L'installazione di PDFCreator ")
ControlClick("Installazione di PDFCreator","L'installazione di PDFCreator ","TNewButton4")
Diciamo che il tuo andava corretto un po' ma nemmeno troppo.
Però il Macrogenerator deve servire a risparmiare tempo al limite, successivamente è doveroso ricontrollare i passaggi a mano.
Come puoi ben notare ho aggiunto
Codice: [Seleziona]
Run(@ScriptDir & "\PDFCreator-0_9_9_setup.exe") ...eehhh... se non mi fai partire l'installer come si fa?
Poi ho cambiato tutti i Winwait con WinWaitActive : ovvero nel primo caso lo script aspetta che la finestra esista... nel secondo caso aspetta che sia attiva... mi sembra più preciso così.
Poi ho aggiunto nel ciclo If EndIf un passaggio che a te mancava... è per questo che l'ho messo in If (in particolare sbuca la finestra che chiede di mettere di default il motore di ricerca Yahoo da cui ho puntualmente tolto il segno di spunta)
Per il resto il tuo script era ok  ;)
Titolo: Re: Sezione Autoit, Discussioni e scambio di idee...
Inserito da: DMD - 08/02/2010, 10:28
Non so come ringraziarti per questa tua soluzione :worthy:

Io non conoscendo minimamente il linguaggio non ci sarei mai arrivato, spero solo di poter "adattare" i passaggi che hai corretto per altri script generati affinchè si aviino regolarmente.

L'unica cosa che riguarda questo programma specifico è che fa installare, una specie di pdf toolbar e se lo installo off-line mi da questo messaggio d'errore, che poi basta solo annullare.

(https://www.eng2ita.net/forum/proxy.php?request=http%3A%2F%2Fwww.allfreeportal.com%2Fimghost%2Fimages%2F169972errore+pdfcreator.PNG&hash=41c0b50c4a97216c779cfbc1f99fc17852a3f738) (http://allfreeportal.com)

Però penso che questo sia un problema che riguarda solo il software in questione.


Comunque grazie per l'aiuto, anche se vedo ho molto da imparare.
Titolo: Re: Sezione Autoit, Discussioni e scambio di idee...
Inserito da: Mr.X - 08/02/2010, 21:51
In tal caso facciamo così:
Codice: [Seleziona]
Opt("WinTitleMatchMode", 4)
Run(@ScriptDir & "\PDFCreator-0_9_9_setup.exe")
WinWaitActive("Selezionare la lingua dell'installazione","Selezionare la lingua da utili")
ControlClick("Selezionare la lingua dell'installazione","Selezionare la lingua da utili","TNewButton1")
WinWaitActive("Installazione di PDFCreator","PDFCreator 0.9.9 sarà installa")
ControlClick("Installazione di PDFCreator","PDFCreator 0.9.9 sarà installa","TNewButton1")
WinWaitActive("Installazione di PDFCreator","Leggere con attenzione le info")
ControlClick("Installazione di PDFCreator","Leggere con attenzione le info","TNewRadioButton1")
ControlClick("Installazione di PDFCreator","Leggere con attenzione le info","TNewButton2")
WinWaitActive("Installazione di PDFCreator","Selezionare la modalità di ins")
ControlClick("Installazione di PDFCreator","Selezionare la modalità di ins","TNewButton2")
WinWaitActive("Installazione di PDFCreator","Scegliere un nome per la stamp")
ControlClick("Installazione di PDFCreator","Scegliere un nome per la stamp","TNewButton2")
WinWaitActive("Installazione di PDFCreator","Dove si vuole installare PDFCr")
ControlClick("Installazione di PDFCreator","Dove si vuole installare PDFCr","TNewButton3")
If WinWaitActive("Installazione di PDFCreator","Installa l'Add On di PDFCreato",2) Then
ControlClick("Installazione di PDFCreator","Installa l'Add On di PDFCreato","TCheckBox1")
sleep(200)
ControlClick("Installazione di PDFCreator","Installa l'Add On di PDFCreato","TNewButton3")
EndIf
WinWaitActive("Installazione di PDFCreator","Quali componenti devono essere")
Send("{tab}" & "{DOWN}" & "{DOWN}" & "{DOWN}" & "{SPACE}")
ControlClick("Installazione di PDFCreator","Quali componenti devono essere","TNewButton3")
WinWaitActive("Installazione di PDFCreator","Dove si vuole inserire i colle")
ControlClick("Installazione di PDFCreator","Dove si vuole inserire i colle","TNewButton4")
WinWaitActive("Installazione di PDFCreator","Quali processi aggiuntivi si v")
ControlClick("Installazione di PDFCreator","Quali processi aggiuntivi si v","TNewButton4")
WinWaitActive("Installazione di PDFCreator","Il programma di installazione ")
ControlClick("Installazione di PDFCreator","Il programma di installazione ","TNewButton4")
WinWaitActive("Installazione di PDFCreator","L'installazione di PDFCreator ")
ControlClick("Installazione di PDFCreator","L'installazione di PDFCreator ","TNewButton4")
In tal modo la pdf toolbar non viene installata (considerando inoltre che per installarsi ha bisogno della connessione internet per scaricarla).
Titolo: Re: Sezione Autoit, Discussioni e scambio di idee...
Inserito da: DMD - 08/02/2010, 23:16
GRANDE! FUNZIONAAA!  :milite: :up1: :grazie: :hop02:

Adesso però sono preoccupato, da chi vado a ripetizione?   :(
Ho un paio di programmi da fare un trattamento simile, porca paletta se sapessi almeno i comandi basilari per correggere lo script del Macrogenerator sarei apposto, mi risparmierei  un corso completo di AutoIT.
Purtoppo in rete non sono riuscito a trovare un granchè in merito.


Un saluto
Titolo: Re: Sezione Autoit, Discussioni e scambio di idee...
Inserito da: Mr.X - 09/02/2010, 18:49
@DMD
forza, esponi pure tutto che li correggiamo questi script  :D
Titolo: Re: Sezione Autoit, Discussioni e scambio di idee...
Inserito da: DMD - 09/02/2010, 19:49
Non vorrei approfittare ma la scusa è per apprendere, comunque ringrazio per la disponibilità.

Il primo software riguarda ConvertXtoDVD (http://www.vso-software.fr/products/convert_x_to_dvd/)

Questo è lo script generato
Codice: [Seleziona]
;--- AutoIt Macro Generator V 0.21 beta ---
Opt("WinTitleMatchMode", 4)
WinWait("ConvertXtoDVD_4.0.9.322","")
ControlClick("ConvertXtoDVD_4.0.9.322","","DirectUIHWND3")
ControlClick("ConvertXtoDVD_4.0.9.322","","DirectUIHWND3")
WinWait("Selezionare la lingua dell'installazione","Selezionare la lingua da utili")
ControlClick("Selezionare la lingua dell'installazione","Selezionare la lingua da utili","TNewButton1")
WinWait("Installazione di VSO ConvertXtoDVD 4","Dove si vuole installare VSO C")
ControlClick("Installazione di VSO ConvertXtoDVD 4","Dove si vuole installare VSO C","TNewButton3")
WinWait("Installazione di VSO ConvertXtoDVD 4","TV and DVD Player Format")
ControlClick("Installazione di VSO ConvertXtoDVD 4","TV and DVD Player Format","TNewButton3")
ControlClick("Installazione di VSO ConvertXtoDVD 4","TV and DVD Player Format","TNewCheckListBox1")
WinWait("Installazione di VSO ConvertXtoDVD 4","Dove si vuole inserire i colle")
ControlClick("Installazione di VSO ConvertXtoDVD 4","Dove si vuole inserire i colle","TNewButton4")
ControlClick("Installazione di VSO ConvertXtoDVD 4","Dove si vuole inserire i colle","TNewButton4")
WinWait("Installazione di VSO ConvertXtoDVD 4","Il programma di installazione ")
ControlClick("Installazione di VSO ConvertXtoDVD 4","Il programma di installazione ","TNewButton4")
WinWait("Installazione di VSO ConvertXtoDVD 4","Attendere il completamento del")
ControlClick("Installazione di VSO ConvertXtoDVD 4","Attendere il completamento del","TNewButton4")
WinWait("Sicurezza di Windows","")
ControlClick("Sicurezza di Windows","","Button2")
WinWait("Installazione di VSO ConvertXtoDVD 4","L'installazione di VSO Convert")
ControlClick("Installazione di VSO ConvertXtoDVD 4","L'installazione di VSO Convert","TNewButton4")
ControlClick("Installazione di VSO ConvertXtoDVD 4","L'installazione di VSO Convert","TNewCheckListBox1")
WinWait("ConvertXtoDVD_4.0.9.322","")
ControlClick("ConvertXtoDVD_4.0.9.322","","DirectUIHWND3")

;--- End ---


Questo è lo script che ho corretto secondo gli ultimi consigli
Codice: [Seleziona]
Opt("WinTitleMatchMode", 4)
Run(@ScriptDir & "\vsoConvertXtoDVD4_setup-avangate_871.exe")
WinWaitActive("Selezionare la lingua dell'installazione","Selezionare la lingua da utili")
ControlClick("Selezionare la lingua dell'installazione","Selezionare la lingua da utili","TNewButton1")
WinWaitActive("Installazione di VSO ConvertXtoDVD 4","Dove si vuole installare VSO C")
ControlClick("Installazione di VSO ConvertXtoDVD 4","Dove si vuole installare VSO C","TNewButton3")
WinWaitActive("Installazione di VSO ConvertXtoDVD 4","TV and DVD Player Format")
ControlClick("Installazione di VSO ConvertXtoDVD 4","TV and DVD Player Format","TNewButton3")
ControlClick("Installazione di VSO ConvertXtoDVD 4","TV and DVD Player Format","TNewCheckListBox1")
WinWaitActive("Installazione di VSO ConvertXtoDVD 4","Dove si vuole inserire i colle")
ControlClick("Installazione di VSO ConvertXtoDVD 4","Dove si vuole inserire i colle","TNewButton4")
ControlClick("Installazione di VSO ConvertXtoDVD 4","Dove si vuole inserire i colle","TNewButton4")
WinWaitActive("Installazione di VSO ConvertXtoDVD 4","Il programma di installazione ")
ControlClick("Installazione di VSO ConvertXtoDVD 4","Il programma di installazione ","TNewButton4")
WinWaitActive("Installazione di VSO ConvertXtoDVD 4","Attendere il completamento del")
ControlClick("Installazione di VSO ConvertXtoDVD 4","Attendere il completamento del","TNewButton4")
WinWaitActive("Sicurezza di Windows","")
ControlClick("Sicurezza di Windows","","Button2")
WinWaitActive("Installazione di VSO ConvertXtoDVD 4","L'installazione di VSO Convert")
ControlClick("Installazione di VSO ConvertXtoDVD 4","L'installazione di VSO Convert","TNewButton4")
ControlClick("Installazione di VSO ConvertXtoDVD 4","L'installazione di VSO Convert","TNewCheckListBox1")
WinWaitActive("ConvertXtoDVD_4.0.9.322","")
ControlClick("ConvertXtoDVD_4.0.9.322","","DirectUIHWND3")

Titolo: Re: Sezione Autoit, Discussioni e scambio di idee...
Inserito da: Mr.X - 10/02/2010, 22:53
Questo script funziona con 7 ma non interagisce con la finestra degli avvisi di sicurezza (sicurezza di windows) per l'installazione del driver "couffin". Ma sono convinto che se lo fai andare in svcpack al T13 non si ferma.
Però, nota dolente, su Xp in Vm, lo script non mi ferma il browser al termine (strano). Mi occorrerebbe del tempo in più ma non ne ho  così tanto... ragion per cui testalo tu in macchina reale e fammi sapere se si ferma e dove si ferma.

Codice: [Seleziona]
Opt("WinTitleMatchMode", 4)
Run(@ScriptDir & "\vsoConvertXtoDVD4_setup.exe")
WinWaitActive("Selezionare la lingua dell'installazione","Selezionare la lingua da utili")
ControlClick("Selezionare la lingua dell'installazione","Selezionare la lingua da utili","TNewButton1")
WinWaitActive("Installazione di VSO ConvertXtoDVD 4","ConvertXtoDVD 4.0.9.322 sarà i")
ControlClick("Installazione di VSO ConvertXtoDVD 4","ConvertXtoDVD 4.0.9.322 sarà i","TNewButton1")
WinWaitActive("Installazione di VSO ConvertXtoDVD 4","Dove si vuole installare VSO ConvertXtoDVD 4")
ControlClick("Installazione di VSO ConvertXtoDVD 4","Dove si vuole installare VSO ConvertXtoDVD 4","TNewButton3")
WinWaitActive("Installazione di VSO ConvertXtoDVD 4","Per favore seleziona il formato di video sopportato")
Send("{Down}")
ControlClick("Installazione di VSO ConvertXtoDVD 4","Per favore seleziona il formato di video sopportato","TNewButton3")
WinWaitActive("Installazione di VSO ConvertXtoDVD 4","Dove si vuole inserire i colle")
ControlClick("Installazione di VSO ConvertXtoDVD 4","Dove si vuole inserire i colle","TNewButton4")
WinWaitActive("Installazione di VSO ConvertXtoDVD 4","Quali processi aggiuntivi si v")
sleep(200)
Send("{Space}"&"{Down}"&"{Space}")
sleep(200)
ControlClick("Installazione di VSO ConvertXtoDVD 4","Quali processi aggiuntivi si v","TNewButton4")
WinWaitActive("Installazione di VSO ConvertXtoDVD 4","Il programma di installazione ")
ControlClick("Installazione di VSO ConvertXtoDVD 4","Il programma di installazione ","TNewButton4")
Send("{Left}"&"{Enter}")
WinWaitActive("Installazione di VSO ConvertXtoDVD 4","Quando si è pronti per proseguire")
ControlClick("Installazione di VSO ConvertXtoDVD 4","Quando si è pronti per proseguire","TNewButton4")
WinWaitActive("Installazione di VSO ConvertXtoDVD 4","Premere Fine per uscire dall'installazione","TNewButton4")
ProcessWait("IEXPLORE.EXE",2)
If ProcessExists("IEXPLORE.EXE") Then
$PID = ProcessExists("IEXPLORE.EXE")
ProcessClose($PID)
EndIf
ProcessWait("firefox.exe",2)
If ProcessExists("firefox.exe") Then
$PID = ProcessExists("firefox.exe")
ProcessClose($PID)
EndIf
ProcessWait("opera.exe",2)
If ProcessExists("opera.exe") Then
$PID = ProcessExists("firefox.exe")
ProcessClose($PID)
EndIf
Sleep(4888)
Send("{Space}")
ControlClick("Installazione di VSO ConvertXtoDVD 4","Premere Fine per uscire dall'installazione","TNewButton4")
Titolo: Re: Sezione Autoit, Discussioni e scambio di idee...
Inserito da: DMD - 12/02/2010, 10:39
Ti ringrazio infinitamente  per l'impegno e il tempo dedicato allo script, comunque la mia intenzione è quella di installare su Seven, ma l'unattended dei programmi lo faccio su disco a parte in modalità RunOnceEX, quindi niente T13  e niente svcpack.

Postato il: 11/02/2010, 00:26


A parte il piccolo errore di sintassi dell'eseguibile     Run(@ScriptDir & "\vsoConvertXtoDVD4_setup-avangate_871.exe")  , lo script funziona fino alla richiesta del messaggio di sicurezza di windows,  che tra l'altro è un driver che non intendo installare.

(https://www.eng2ita.net/forum/proxy.php?request=http%3A%2F%2Fwww.allfreeportal.com%2Fimghost%2Fimages%2F279088Sccreenshot+001.png&hash=cae9a7cf50228984f5c88824eee404615924bd56) (http://allfreeportal.com)

Questo messaggio èsarà un pò difficile da bypassare.
Titolo: Re: Sezione Autoit, Discussioni e scambio di idee...
Inserito da: OnePiece - 12/02/2010, 12:21
Non sono sicuro di questo visto che con certi cose o poco esperienza per non dire nessuna, ma con intuito credo la cosa di sopra dovrà essere molto facile, perché come notti di default e scelto come dire il bottone annulla, cosi resta solo dare il comando SPACE (come si chiama), diciamo dovrà essere un banalità per i script passare quella tabella in questo casso credo

Ciao.
Titolo: Re: Sezione Autoit, Discussioni e scambio di idee...
Inserito da: Mr.X - 15/02/2010, 22:24
@OnePiece
Citazione
Non sono sicuro di questo visto che con certi cose o poco esperienza per non dire nessuna, ma con intuito credo la cosa di sopra dovrà essere molto facile
è vero: è superfacile...
@DMD
Citazione
A parte il piccolo errore di sintassi dell'eseguibile     Run(@ScriptDir & "\vsoConvertXtoDVD4_setup-avangate_871.exe")
molto bene: ti sei accorto del nome dell'eseguibile che non era lo stesso che usi te (ma è il nome dell'installer che avevo scaricato..)
Però speravo che nel frattempo tu o altri avessero postato una parvenza di soluzione.... niente  :-\
Vabbè, lo script è il seguente:
Codice: [Seleziona]
Blockinput(1)
Opt("WinTitleMatchMode", 4)
Run(@ScriptDir & "\vsoConvertXtoDVD4_setup.exe")
WinWaitActive("Selezionare la lingua dell'installazione","Selezionare la lingua da utili")
ControlClick("Selezionare la lingua dell'installazione","Selezionare la lingua da utili","TNewButton1")
WinWaitActive("Installazione di VSO ConvertXtoDVD 4","ConvertXtoDVD 4.0.9.322 sarà i")
ControlClick("Installazione di VSO ConvertXtoDVD 4","ConvertXtoDVD 4.0.9.322 sarà i","TNewButton1")
WinWaitActive("Installazione di VSO ConvertXtoDVD 4","Dove si vuole installare VSO ConvertXtoDVD 4")
ControlClick("Installazione di VSO ConvertXtoDVD 4","Dove si vuole installare VSO ConvertXtoDVD 4","TNewButton3")
WinWaitActive("Installazione di VSO ConvertXtoDVD 4","Per favore seleziona il formato di video sopportato")
Send("{Down}")
ControlClick("Installazione di VSO ConvertXtoDVD 4","Per favore seleziona il formato di video sopportato","TNewButton3")
WinWaitActive("Installazione di VSO ConvertXtoDVD 4","Dove si vuole inserire i colle")
ControlClick("Installazione di VSO ConvertXtoDVD 4","Dove si vuole inserire i colle","TNewButton4")
WinWaitActive("Installazione di VSO ConvertXtoDVD 4","Quali processi aggiuntivi si v")
sleep(200)
Send("{Space}"&"{Down}"&"{Space}")
sleep(200)
ControlClick("Installazione di VSO ConvertXtoDVD 4","Quali processi aggiuntivi si v","TNewButton4")
WinWaitActive("Installazione di VSO ConvertXtoDVD 4","Il programma di installazione ")
ControlClick("Installazione di VSO ConvertXtoDVD 4","Il programma di installazione ","TNewButton4")
If WinWait("[class:#32770]", "È consigliabile installare solo driver",60) Then
;Avviso di sicurezza, richiesta installazione driver: riga seguente: Button2=non installare ---- Button1=installa
ControlClick("[class:#32770]", "È consigliabile installare solo driver","Button2")
EndIf
WinWaitActive("Installazione di VSO ConvertXtoDVD 4","Quando si è pronti per proseguire")
ControlClick("Installazione di VSO ConvertXtoDVD 4","Quando si è pronti per proseguire","TNewButton4")
WinWaitActive("Installazione di VSO ConvertXtoDVD 4","Premere Fine per uscire dall'installazione","TNewButton4")
ProcessWait("IEXPLORE.EXE",2)
If ProcessExists("IEXPLORE.EXE") Then
$PID = ProcessExists("IEXPLORE.EXE")
ProcessClose($PID)
EndIf
ProcessWait("firefox.exe",2)
If ProcessExists("firefox.exe") Then
$PID = ProcessExists("firefox.exe")
ProcessClose($PID)
EndIf
ProcessWait("opera.exe",2)
If ProcessExists("opera.exe") Then
$PID = ProcessExists("firefox.exe")
ProcessClose($PID)
EndIf
Sleep(3888)
Send("{Space}")
ControlClick("Installazione di VSO ConvertXtoDVD 4","Premere Fine per uscire dall'installazione","TNewButton4")
BlockInput(0)
Con il Blockinput, come possiamo intuire, viene bloccato l'input tastiera e mouse; però non è necessario: lo script lavora comunque... a tua discrezione quindi.
Titolo: Re: Sezione Autoit, Discussioni e scambio di idee...
Inserito da: Yza_K - 15/02/2010, 23:33
If WinWait("[class:#32770]", "È consigliabile installare solo driver",60) Then
;Avviso di sicurezza, richiesta installazione driver: riga seguente: Button2=non installare ---- Button1=installa
ControlClick("[class:#32770]", "È consigliabile installare solo driver","Button2")
EndIf

Finezza, complimenti!

Che dire, sono contento che sei andato avanti mister!
Titolo: Re: Sezione Autoit, Discussioni e scambio di idee...
Inserito da: Mr.X - 15/02/2010, 23:58
Yza_k, è bello rivederti da queste parti... quanto tempo!
Citazione
Che dire, sono contento che sei andato avanti mister!
Te resti il numero  :primo: sei il maestro.

P.s. : sperando che tu ti faccia vivo un po' più spesso ti faccio i miei migliori saluti
Titolo: Re: Sezione Autoit, Discussioni e scambio di idee...
Inserito da: DMD - 16/02/2010, 00:10

@DMDmolto bene: ti sei accorto del nome dell'eseguibile che non era lo stesso che usi te (ma è il nome dell'installer che avevo scaricato..)
Però speravo che nel frattempo tu o altri avessero postato una parvenza di soluzione.... niente  :-\...
Ti ringrazio infinatemente, però non prendertela, se non ho postato una soluzione è perchè non so da dove iniziare.
Comuque questi script li conservo come esempio.

Un saluto
Titolo: Re: Sezione Autoit, Discussioni e scambio di idee...
Inserito da: Mr.X - 16/02/2010, 00:15
Al posto di Macrogenerator ti consiglio di fare largo uso di "Autoit Window Info" con il quale automatizzerai qualsiasi finestra.
Ciao  ;D
Titolo: Re: Sezione Autoit, Discussioni e scambio di idee...
Inserito da: DMD - 16/02/2010, 10:34
Grazie! 

E' un ottimo punto da cui iniziare.

Postato il: 16/02/2010, 00:28


Intanto ho trovato un link che può essere un buon punto di partenza http://www.technibble.com/automation-with-autoit-tutorial-part-2/
Titolo: Re: Sezione Autoit, Discussioni e scambio di idee...
Inserito da: DMD - 18/09/2010, 20:36
Scusate se riapro l'argomento.
In riferimento allo stesso software http://www.eng2ita.net/forum/index.php/topic,4997.msg50025.html#msg50025

Con la nuova versione 4.1.2.336 (http://www.vso-software.fr/products/convert_x_to_dvd/) ,hanno introdotto delle opzioni durante l'installazione , che non riesco a superare.

Questo è il nuovo script generato nudo e crudo con AutoIT Macro generator:
Codice: [Seleziona]
;--- AutoIt Macro Generator V 0.21 beta ---
Opt("WinTitleMatchMode", 4)
WinWait("ConvertXtoDVD_4.1.2.336","")
ControlClick("ConvertXtoDVD_4.1.2.336","","DirectUIHWND3")
ControlClick("ConvertXtoDVD_4.1.2.336","","DirectUIHWND3")
WinWait("Program Manager","FolderView")
$CLVItem = ControlListView("Program Manager","FolderView","SysListView321","FindItem","Cestino")
ControlListView("Program Manager","FolderView","SysListView321","SelectClear")
ControlListView("Program Manager","FolderView","SysListView321","Select",$CLVItem)
WinWait("Installazione di VSO ConvertXtoDVD 4","Dove si vuole installare VSO C")
ControlClick("Installazione di VSO ConvertXtoDVD 4","Dove si vuole installare VSO C","TNewButton3")
WinWait("Installazione di VSO ConvertXtoDVD 4","TV and DVD Player Format")
ControlClick("Installazione di VSO ConvertXtoDVD 4","TV and DVD Player Format","TNewButton3")
ControlClick("Installazione di VSO ConvertXtoDVD 4","TV and DVD Player Format","TNewCheckListBox1")
WinWait("Installazione di VSO ConvertXtoDVD 4","Dove si vuole inserire i colle")
ControlClick("Installazione di VSO ConvertXtoDVD 4","Dove si vuole inserire i colle","TNewButton4")
WinWait("Installazione di VSO ConvertXtoDVD 4","Quali processi aggiuntivi si v")
ControlClick("Installazione di VSO ConvertXtoDVD 4","Quali processi aggiuntivi si v","TNewButton4")
WinWait("Installazione di VSO ConvertXtoDVD 4","Il programma di installazione ")
ControlClick("Installazione di VSO ConvertXtoDVD 4","Il programma di installazione ","TNewButton4")
WinWait("Installazione di VSO ConvertXtoDVD 4","Attendere il completamento del")
ControlClick("Installazione di VSO ConvertXtoDVD 4","Attendere il completamento del","TNewButton4")
WinWait("Installazione di VSO ConvertXtoDVD 4","L'installazione di VSO Convert")
ControlClick("Installazione di VSO ConvertXtoDVD 4","L'installazione di VSO Convert","TNewButton4")
ControlClick("Installazione di VSO ConvertXtoDVD 4","L'installazione di VSO Convert","TNewNotebook1")
ControlClick("Installazione di VSO ConvertXtoDVD 4","L'installazione di VSO Convert","TNewNotebook1")
ControlClick("Installazione di VSO ConvertXtoDVD 4","L'installazione di VSO Convert","TNewCheckListBox1")
ControlClick("Installazione di VSO ConvertXtoDVD 4","L'installazione di VSO Convert","TNewButton4")

;--- End ---




Lo script relativo alla release precedebte creato da MISTERX funziona alla grande, allora ho pensato di "adattarlo", ho provato a lanciarlo ma l'installazione si blocca.

Codice: [Seleziona]
Blockinput(1)
Opt("WinTitleMatchMode", 4)
Run(@ScriptDir & "\vsoConvertXtoDVD4_setup.exe")
WinWaitActive("Selezionare la lingua dell'installazione","Selezionare la lingua da utili")
ControlClick("Selezionare la lingua dell'installazione","Selezionare la lingua da utili","TNewButton1")
WinWaitActive("Installazione di VSO ConvertXtoDVD 4","ConvertXtoDVD 4.0.12.336 sarà i")
ControlClick("Installazione di VSO ConvertXtoDVD 4","ConvertXtoDVD 4.0.12.336 sarà i","TNewButton1")
WinWaitActive("Installazione di VSO ConvertXtoDVD 4","Dove si vuole installare VSO ConvertXtoDVD 4")
ControlClick("Installazione di VSO ConvertXtoDVD 4","Dove si vuole installare VSO ConvertXtoDVD 4","TNewButton3")

WinWaitActive("Installazione di VSO ConvertXtoDVD 4","TV and DVD Player Format")
Send("{Down}")
ControlClick("Installazione di VSO ConvertXtoDVD 4","TV and DVD Player Format","TNewButton3")
ControlClick("Installazione di VSO ConvertXtoDVD 4","TV and DVD Player Format","TNewCheckListBox1")


WinWaitActive("Installazione di VSO ConvertXtoDVD 4","Dove si vuole inserire i colle")
ControlClick("Installazione di VSO ConvertXtoDVD 4","Dove si vuole inserire i colle","TNewButton4")
WinWaitActive("Installazione di VSO ConvertXtoDVD 4","Quali processi aggiuntivi si v")
sleep(200)
Send("{Space}"&"{Down}"&"{Space}")
sleep(200)
ControlClick("Installazione di VSO ConvertXtoDVD 4","Quali processi aggiuntivi si v","TNewButton4")
WinWaitActive("Installazione di VSO ConvertXtoDVD 4","Il programma di installazione ")
ControlClick("Installazione di VSO ConvertXtoDVD 4","Il programma di installazione ","TNewButton4")
If WinWait("[class:#32770]", "È consigliabile installare solo driver",60) Then
;Avviso di sicurezza, richiesta installazione driver: riga seguente: Button2=non installare ---- Button1=installa
ControlClick("[class:#32770]", "È consigliabile installare solo driver","Button2")
EndIf
WinWaitActive("Installazione di VSO ConvertXtoDVD 4","Quando si è pronti per proseguire")
ControlClick("Installazione di VSO ConvertXtoDVD 4","Quando si è pronti per proseguire","TNewButton4")
WinWaitActive("Installazione di VSO ConvertXtoDVD 4","Premere Fine per uscire dall'installazione","TNewButton4")
ProcessWait("IEXPLORE.EXE",2)
If ProcessExists("IEXPLORE.EXE") Then
$PID = ProcessExists("IEXPLORE.EXE")
ProcessClose($PID)
EndIf
ProcessWait("firefox.exe",2)
If ProcessExists("firefox.exe") Then
$PID = ProcessExists("firefox.exe")
ProcessClose($PID)
EndIf
ProcessWait("opera.exe",2)
If ProcessExists("opera.exe") Then
$PID = ProcessExists("firefox.exe")
ProcessClose($PID)
EndIf
Sleep(3888)
Send("{Space}")
ControlClick("Installazione di VSO ConvertXtoDVD 4","Premere Fine per uscire dall'installazione","TNewButton4")
BlockInput(0)



GRAZIE
Titolo: Re: Sezione Autoit, Discussioni e scambio di idee...
Inserito da: Mr.X - 18/09/2010, 23:18
E' quasi uguale al precedente script e pare che vada...
Codice: [Seleziona]
Blockinput(1)
Opt("WinTitleMatchMode", 4)
Run(@ScriptDir & "\vsoConvertXtoDVD4_setup.exe")
WinWaitActive("Selezionare la lingua dell'installazione","Selezionare la lingua da utili")
ControlClick("Selezionare la lingua dell'installazione","Selezionare la lingua da utili","TNewButton1")
WinWaitActive("Installazione di VSO ConvertXtoDVD 4","ConvertXtoDVD 4.1.2.336 sarà installato")
ControlClick("Installazione di VSO ConvertXtoDVD 4","ConvertXtoDVD 4.1.2.336 sarà installato","TNewButton1")
WinWaitActive("Installazione di VSO ConvertXtoDVD 4","Dove si vuole installare VSO ConvertXtoDVD 4")
ControlClick("Installazione di VSO ConvertXtoDVD 4","Dove si vuole installare VSO ConvertXtoDVD 4","TNewButton3")
WinWaitActive("Installazione di VSO ConvertXtoDVD 4","Per favore seleziona il formato di video sopportato")
Send("{Down}")
ControlClick("Installazione di VSO ConvertXtoDVD 4","Per favore seleziona il formato di video sopportato","TNewButton3")
WinWaitActive("Installazione di VSO ConvertXtoDVD 4","Dove si vuole inserire i colle")
ControlClick("Installazione di VSO ConvertXtoDVD 4","Dove si vuole inserire i colle","TNewButton4")
WinWaitActive("Installazione di VSO ConvertXtoDVD 4","Quali processi aggiuntivi si v")
sleep(200)
Send("{Space}"&"{Down}"&"{Space}")
sleep(200)
ControlClick("Installazione di VSO ConvertXtoDVD 4","Quali processi aggiuntivi si v","TNewButton4")
WinWaitActive("Installazione di VSO ConvertXtoDVD 4","Il programma di installazione ")
ControlClick("Installazione di VSO ConvertXtoDVD 4","Il programma di installazione ","TNewButton4")
If WinWait("[class:#32770]", "È consigliabile installare solo driver",10) Then
;Avviso di sicurezza, richiesta installazione driver: riga seguente: Button2=non installare ---- Button1=installa
ControlClick("[class:#32770]", "È consigliabile installare solo driver","Button2")
EndIf
WinWaitActive("Installazione di VSO ConvertXtoDVD 4","Quando si è pronti per proseguire")
ControlClick("Installazione di VSO ConvertXtoDVD 4","Quando si è pronti per proseguire","TNewButton4")
WinWaitActive("Installazione di VSO ConvertXtoDVD 4","Premere Fine per uscire dall'installazione","TNewButton4")
ProcessWait("IEXPLORE.EXE",1)
If ProcessExists("IEXPLORE.EXE") Then
$PID = ProcessExists("IEXPLORE.EXE")
ProcessClose($PID)
EndIf
ProcessWait("firefox.exe",1)
If ProcessExists("firefox.exe") Then
$PID = ProcessExists("firefox.exe")
ProcessClose($PID)
EndIf
ProcessWait("opera.exe",1)
If ProcessExists("opera.exe") Then
$PID = ProcessExists("opera.exe")
ProcessClose($PID)
EndIf
Send("{Space}")
ControlClick("Installazione di VSO ConvertXtoDVD 4","Premere Fine per uscire dall'installazione","TNewButton4")
BlockInput(0)
La seguente riga, che è nello script (ne avevamo già parlato) serve per l'installazione del driver non firmato anche se a me non appare più la richiesta relativa... :
Codice: [Seleziona]
If WinWait("[class:#32770]", "È consigliabile installare solo driver",10) Then il 10 rappresenta il timeout di attesa della finestra ... se appare...; se reputi che il timeout sia basso -quindi solo nel caso che lo script si blocca alla finestra di avviso di sicurezza- lo puoi alzare a 20 (secondi) o 30 , fai te.
Fammi sapere se incontri problemi.
EDIT: script corretto 19/09/2010
Titolo: Re: Sezione Autoit, Discussioni e scambio di idee...
Inserito da: DMD - 19/09/2010, 00:40
GRAZIE!

Lo script va alla grande come al solito non sbagli un colpo :milite:,  

Funge a meraviglia  l'unico rallentamento non è nell'avviso di sicurezza, ma nel completamento dell'installazione, ma dopo qualche secondo scompare.

(https://www.eng2ita.net/forum/proxy.php?request=http%3A%2F%2Fwww.allfreeportal.com%2Fimghost2%2Fimages%2F842072Screenshot+001.png&hash=9629ed1aa9635a68e8871ef09299af6869c02f13) (http://allfreeportal.com)
Titolo: Re: Sezione Autoit, Discussioni e scambio di idee...
Inserito da: Mr.X - 19/09/2010, 10:54
Citazione
Lo script va alla grande come al solito non sbagli un colpo milite,
grazie a te, sei troppo gentile  :D
Citazione
Funge a meraviglia  l'unico rallentamento non è nell'avviso di sicurezza, ma nel completamento dell'installazione, ma dopo qualche secondo scompare.
Nel mio post precedente, cioè qui (http://www.eng2ita.net/forum/index.php/topic,4997.msg53182.html#msg53182), trovi lo script aggiornato adesso quel problema non c'è più... o quasi  ;)
Titolo: Re: Sezione Autoit, Discussioni e scambio di idee...
Inserito da: DMD - 21/09/2010, 09:29
Scusa il ritardo.

Ho testato questa mattina, funziona alla grande come sempre.  :milite:

tankiu master  :)
Titolo: Re: Sezione Autoit, Discussioni e scambio di idee...
Inserito da: Yza_K - 24/09/2010, 09:00
Grande MISTER X ® ^^

Sono tornato piu' o meno... dedichero un po di tempo a questo post ... cmq te non hai problemi vedo ^^
Titolo: Re: Sezione Autoit, Discussioni e scambio di idee...
Inserito da: Mr.X - 24/09/2010, 22:48
@Yza_K 
ehilà, io non sono mai andato via  ::)... se ci sei anche te si fa meglio di sicuro.... cmq sì: un po' me la cavo, il buon impegno ce lo metto diciamo  :ashamed:
Titolo: Re: Sezione Autoit, Discussioni e scambio di idee...
Inserito da: DMD - 07/11/2010, 12:42
Rieccomi con la nuova relase (4.1.4.338), per favore dimmi dove sbaglio.  :BangHead:
Stavolta ho solo sostituito la release della versione e basta,  gli step dell'installazione sono gli stessi di quella precedente, eppure la procedura di installazione si "stoppa"  qui:

(https://www.eng2ita.net/forum/proxy.php?request=http%3A%2F%2Fimg835.imageshack.us%2Fimg835%2F1526%2Fscreenshot001v.png&hash=45762f7187fa78ef291ea0a39eb4a2e01377219d) (http://img835.imageshack.us/i/screenshot001v.png/)

Questo è lo script che ho utilizzato, diciamo "adattato" solo con la versione della release.

Codice: [Seleziona]
Blockinput(1)
Opt("WinTitleMatchMode", 4)
Run(@ScriptDir & "\vsoConvertXtoDVD4_setup-avangate_588.exe")
WinWaitActive("Selezionare la lingua dell'installazione","Selezionare la lingua da utili")
ControlClick("Selezionare la lingua dell'installazione","Selezionare la lingua da utili","TNewButton1")
WinWaitActive("Installazione di VSO ConvertXtoDVD 4","ConvertXtoDVD 4.1.4.338 sarà installato")
ControlClick("Installazione di VSO ConvertXtoDVD 4","ConvertXtoDVD 4.1.4.338 sarà installato","TNewButton1")
WinWaitActive("Installazione di VSO ConvertXtoDVD 4","Dove si vuole installare VSO ConvertXtoDVD 4")
ControlClick("Installazione di VSO ConvertXtoDVD 4","Dove si vuole installare VSO ConvertXtoDVD 4","TNewButton3")
WinWaitActive("Installazione di VSO ConvertXtoDVD 4","Per favore seleziona il formato di video sopportato")
Send("{Down}")
ControlClick("Installazione di VSO ConvertXtoDVD 4","Per favore seleziona il formato di video sopportato","TNewButton3")
WinWaitActive("Installazione di VSO ConvertXtoDVD 4","Dove si vuole inserire i colle")
ControlClick("Installazione di VSO ConvertXtoDVD 4","Dove si vuole inserire i colle","TNewButton4")
WinWaitActive("Installazione di VSO ConvertXtoDVD 4","Quali processi aggiuntivi si v")
sleep(200)
Send("{Space}"&"{Down}"&"{Space}")
sleep(200)
ControlClick("Installazione di VSO ConvertXtoDVD 4","Quali processi aggiuntivi si v","TNewButton4")
WinWaitActive("Installazione di VSO ConvertXtoDVD 4","Il programma di installazione ")
ControlClick("Installazione di VSO ConvertXtoDVD 4","Il programma di installazione ","TNewButton4")
If WinWait("[class:#32770]", "È consigliabile installare solo driver",10) Then
;Avviso di sicurezza, richiesta installazione driver: riga seguente: Button2=non installare ---- Button1=installa
ControlClick("[class:#32770]", "È consigliabile installare solo driver","Button2")
EndIf
WinWaitActive("Installazione di VSO ConvertXtoDVD 4","Quando si è pronti per proseguire")
ControlClick("Installazione di VSO ConvertXtoDVD 4","Quando si è pronti per proseguire","TNewButton4")
WinWaitActive("Installazione di VSO ConvertXtoDVD 4","Premere Fine per uscire dall'installazione","TNewButton4")
ProcessWait("IEXPLORE.EXE",1)
If ProcessExists("IEXPLORE.EXE") Then
$PID = ProcessExists("IEXPLORE.EXE")
ProcessClose($PID)
EndIf
ProcessWait("firefox.exe",1)
If ProcessExists("firefox.exe") Then
$PID = ProcessExists("firefox.exe")
ProcessClose($PID)
EndIf
ProcessWait("opera.exe",1)
If ProcessExists("opera.exe") Then
$PID = ProcessExists("opera.exe")
ProcessClose($PID)
EndIf
Send("{Space}")
ControlClick("Installazione di VSO ConvertXtoDVD 4","Premere Fine per uscire dall'installazione","TNewButton4")
BlockInput(0)


Un saluto



Titolo: Re: Sezione Autoit, Discussioni e scambio di idee...
Inserito da: Mr.X - 07/11/2010, 21:03
DMD, per me quelli di ConvertX te lo fanno apposta  :D
Comunque lo script è questo:
Spoiler
Codice: [Seleziona]
Blockinput(1)
Opt("WinTitleMatchMode", 4)
Run(@ScriptDir & "\vsoConvertXtoDVD4_setup-avangate_588.exe")
WinWaitActive("Selezionare la lingua dell'installazione","Selezionare la lingua da utili")
ControlClick("Selezionare la lingua dell'installazione","Selezionare la lingua da utili","TNewButton1")
WinWaitActive("Installazione di VSO ConvertXtoDVD 4","ConvertXtoDVD 4.1.4.338 sarà installato")
ControlClick("Installazione di VSO ConvertXtoDVD 4","ConvertXtoDVD 4.1.4.338 sarà installato","TNewButton1")
WinWaitActive("Installazione di VSO ConvertXtoDVD 4","Dove si vuole installare VSO ConvertXtoDVD 4")
ControlClick("Installazione di VSO ConvertXtoDVD 4","Dove si vuole installare VSO ConvertXtoDVD 4","TNewButton3")
WinWaitActive("Installazione di VSO ConvertXtoDVD 4","Formato video supportato dalla televisione e dal lettore di DVD")
Send("{Down}")
ControlClick("Installazione di VSO ConvertXtoDVD 4","Formato video supportato dalla televisione e dal lettore di DVD","TNewButton3")
WinWaitActive("Installazione di VSO ConvertXtoDVD 4","Dove si vuole inserire i colle")
ControlClick("Installazione di VSO ConvertXtoDVD 4","Dove si vuole inserire i colle","TNewButton4")
WinWaitActive("Installazione di VSO ConvertXtoDVD 4","Quali processi aggiuntivi si v")
sleep(200)
Send("{Space}"&"{Down}"&"{Space}")
sleep(200)
ControlClick("Installazione di VSO ConvertXtoDVD 4","Quali processi aggiuntivi si v","TNewButton4")
WinWaitActive("Installazione di VSO ConvertXtoDVD 4","Il programma di installazione ")
ControlClick("Installazione di VSO ConvertXtoDVD 4","Il programma di installazione ","TNewButton4")
If WinWait("[class:#32770]", "È consigliabile installare solo driver",10) Then
;Avviso di sicurezza, richiesta installazione driver: riga seguente: Button2=non installare ---- Button1=installa
ControlClick("[class:#32770]", "È consigliabile installare solo driver","Button2")
EndIf
WinWaitActive("Installazione di VSO ConvertXtoDVD 4","Quando si è pronti per proseguire")
ControlClick("Installazione di VSO ConvertXtoDVD 4","Quando si è pronti per proseguire","TNewButton4")
WinWaitActive("Installazione di VSO ConvertXtoDVD 4","Premere Fine per uscire dall'installazione","TNewButton4")
ProcessWait("IEXPLORE.EXE",1)
If ProcessExists("IEXPLORE.EXE") Then
$PID = ProcessExists("IEXPLORE.EXE")
ProcessClose($PID)
EndIf
ProcessWait("firefox.exe",1)
If ProcessExists("firefox.exe") Then
$PID = ProcessExists("firefox.exe")
ProcessClose($PID)
EndIf
ProcessWait("opera.exe",1)
If ProcessExists("opera.exe") Then
$PID = ProcessExists("opera.exe")
ProcessClose($PID)
EndIf
Send("{Space}")
ControlClick("Installazione di VSO ConvertXtoDVD 4","Premere Fine per uscire dall'installazione","TNewButton4")
BlockInput(0)
[close]
Titolo: Re: Sezione Autoit, Discussioni e scambio di idee...
Inserito da: DMD - 08/11/2010, 01:07
:grazie: :grazie:

In debito come al solito.  :)

Però da quello che vedo è solo cambiato la dicitura tra le virgolette, ma la selezione dei bottoni è rimasta identica o sbaglio?

Codice: [Seleziona]
WinWaitActive("Installazione di VSO ConvertXtoDVD 4","Formato video supportato dalla televisione e dal lettore di DVD")
Send("{Down}")
ControlClick("Installazione di VSO ConvertXtoDVD 4","Formato video supportato dalla televisione e dal lettore di DVD","TNewButton3")
Titolo: Re: Sezione Autoit, Discussioni e scambio di idee...
Inserito da: Mr.X - 08/11/2010, 15:49
Sì DMD, hanno cambiato solo il testo della finestra  ::)
Ciao  :)
Titolo: Re: Sezione Autoit, Discussioni e scambio di idee...
Inserito da: BAT - 07/12/2010, 19:25
Il piccolo sw Fatboy per l'installazione di massa "silent" sarebbe formalmente finito
da almeno 3 settimane; purtroppo c'è qualcosa che mi sfugge riguardo ai comandi "esecutori"
(Run/RunWait/ShellExecute/ShellExecuteWait). In pratica funziona tutto solo quando è attivo
Comodo Firewall con difesa proattiva: il firewall intercetta la chiamata dello script
al relativo eseguibile e lo blocca; così facendo lo "rallenta" e tutto funziona a dovere.
Solo che se disattivo il firewall non si installa nulla! In pratica l'esecuzione dei comandi
Run/RunwaitWait è come se fosse ignorata; dopo aver letto molto on-line ho provato a rallentarli
con la funzione preposta ProcessWaitClose e perfino artificialmente con Sleep(xyz), una cosa che non
mi piace perché il blocco per un certo intervallo di tempo potrebbe essere buono su certi HW ma non
su altri (per esempio se lo script "dorme" troppo, un HW potente potrebbe aprire e finire un processo, mentre uno lento no).

Il problema è il seguente:
alla pressione di un pulsante "Installa" dovrebbero partire una o più istallazioni "silent" attraverso la
chiamata alle funzioni di installazione, che sono di questo tipo:

; Installa doPDF 7.2.353
Func instDoPDF()
     Local $codiceUscita=RunWait(@ScriptDir & "\apps\pdf" & "\dopdf-7.exe /VERYSILENT /SP- /NORESTART")
     Local $pwc=ProcessWaitClose("dopdf-7.exe")
     Local $pwc2=ProcessWaitClose("dopdf-7.tmp")
     Local $ris = tuttoOKRunWait($codiceUscita, $pwc) ;risultato: 1 se è andato tutto bene, 0 altrimenti
     Return $ris
EndFunc

I nomi dei processi (dopdf-7.exe, dopdf-7.tmp li ho ricavati dal Task Manager);
questo codice ha funzionato un giorno (anche con PDFCreator);
il giorno dopo lo stesso codice non ha installato nulla.
Ho provato un rallentamento artificiale inserendo Sleep(1000) dopo il RunWait;
ho provato a sostituire RunWait con Run in questo modo:

$PID=Run(applicazione)
$pwc=ProcessWaitClose("dopdf-7.exe")  <--- prima di questa ho anche provato ad inserire Sleep(...)

Ho provato ad usare ShellExecuteWait al posto di Run ma mi restituisce errore come se non avessi  privilegi di amministratore.

Tutto questo sul sistema reale.
Invece in macchina virtuale (dove non è installato alcun firewall), alcune applicazioni vengono
installate, altre no, in maniera del tutto casuale.

Il problema sta tutto qua: nella gestione della partenza dei file di installazioni
(ma perché diavolo non partono?) e nell'attesa della loro fine.
Avete idea di cosa stia succedendo?
Non so più che pesci pigliare: il problema è circoscritto alle sole funzioni di installazione, so anche qual è e non riesco a risolverlo nemmeno dopo aver letto di tutto in rete!


--------------------------------------------------------------------------
La funzione tuttoOKRunWait è solo di appoggio (posso farne a meno);
viene definita prima e mi serve semplicemente perché voglio che il Return di una instApplicazione
sia 1 (se tutto è andato bene), 0 altrimenti. Per la cronaca è questa:

Func tuttoOKRunWait($codUscita, $rpwc)
    Local $ris ; il risultato da ritornare
    If $rpwc=1 And $codUscita=@extended Then
   $ris=1
    Else
       $ris=0
    EndIf
    Return $ris
EndFunc

Ha come unico scopo restituire 1 oppure 0 per stampare su un'area "installazione riuscita/fallita".
Comunque ripeto: il problema NON è questa funzione ma in quelle di installazione (un errore qui al massimo mi fa stampare un messaggio errato).

Titolo: Re: Sezione Autoit, Discussioni e scambio di idee...
Inserito da: Mr.X - 07/12/2010, 22:34
Citazione
il firewall intercetta la chiamata dello script
al relativo eseguibile e lo blocca; così facendo lo "rallenta" e tutto funziona a dovere.
giuro è la prima volta che sento una cosa del genere  :o
Semmai per questo "problema" mi verrebbe da chiederti se usi Vista o Seven; in caso affermativo prova a cambiare percorso, cioè:
prova ad esempio ad eseguire in "nuova cartella" sul desktop lo script:
Codice: [Seleziona]
RunWait(@ScriptDir & "\apps\pdf" & "\dopdf-7.exe") ti si apre l'exe? No? Allora prendi "nuova cartella" e spostala in C:\  ed esegui lo script adesso... si apre l'exe adesso?
Fammi sapere.
Titolo: Re: Sezione Autoit, Discussioni e scambio di idee...
Inserito da: BAT - 08/12/2010, 12:01
Fatboy-XP è per winXP ed i test sono  tutti eseguiti su Windows XP-32 bit su sistemea reale (soprattutto) ed anche in VM.
Proverò forse domani a seguire il tuo consiglio. Infatti mi hai fatto sorgere un grosso dubbio:
tutti questi problemi sono nati quando ho "strutturato" le cartelle che contengono i file.
In precedenza l'eseguibile dello script e le applicazioni free erano tutte nella stessa cartella e, se ben ricordo, funzionava "tutto". poi ho struttturato in

fatboy.exe
- apps   <-- cartella
     |- pdf    <--- cartella
     |- base <-- cartella
     |- grafica <-- cartella

ed è andato tutto a farsi benedire! Forse dà fastidio allo script; appena ho un secondo di tempo ricambio tutto e vi faccio sapere.
Titolo: Re: Sezione Autoit, Discussioni e scambio di idee...
Inserito da: OnePiece - 08/12/2010, 13:28
Prova con ProcessSetPriority("process", priority)

ma non credo che aiuterà molto forse (ma chi sa forse dandoli più priorità ai processi forse windows non la rompe dopo hmmmmmm), comunque sia le processi RUN....  in AutoIt sembrano ben fati come dire (non sono complicati da usare e quasi non danno problemi mai), perché cercando creare il DLL del DXI in quello tempo o provato leggere in rete e o visto che certi processi in C++ e altri linguaggi erano piu complicati e problematici solo che conosceva bene il linguaggio li eseguiva come si deve, invece in AutoIt e solo semplice io mai trovato problema con quelli li, comunque in ogni casso e completamente sconsigliato partire piu installazioni in stesso tempo, e una cosa che nessuno lo fa mai diciamo, cosi io consiglierei installare tutto uno a uno e usando il RunWait (WAIT), dopo per ogni software e bene leggere il log del installazione, eseguire sempre installazione con opzione di creare il log, cosi appena finisce il runwait andare cercare il log (come smepre e quasi scontato e smepre in %TEMP%) e leggere se e andato tutto ok o no, solo cosi potrai essere certo se tutto e andato ok o no ect ect, in caso che qualche applicazione rompe e non crea del log rintracciabili allora consigliato monitorarlo cosi fa durante la installazione, cosi dopo il RunWait andare sempre in questo casso in registro e controllare un certa chiave di registro per vedere se applicazione e stato installato o no ect ect

oppure BAT a te le conoscenze al riguardo non mancano, cosi hmm non si sa mai prova una volta fare un funzione da te di ShellExecute() in AutoIt
http://msdn.microsoft.com/en-us/library/bb762153%28v=VS.85%29.aspx
e forse con le opzioni del return originale forse riesci prende piu info riguardo a tutto quello che succede li

del resto non so dire niente al riguardo mi sembra irreale e non logico ?, ma comunque io sto gia lavorando ancora duramente in AutoIT ancora da molti giorni e anche se amatore li direi ma hmmmmmmm piu volte mi succedano dei stranezze al riguardo AutoIt a certi limiti a volte ehhhhhhhhh, solo per rabbia quasi o distrutto completamente i nervi non so che dire 4 giorni (20 ore la giorni sopra quello, a volte eseguo 1000 volte la stesa cosa e non mi accorgo ormai perché stanco e moto e molto confuso dal rabbia come mai e possibile ect ect) e un mal di testa molto molto grande, e perché solo perché in un fuction se aggiungo un banale comando e non sto scherzando ehhhhhhhh, solo che se aggiungo solo un
Citazione
If "xxx" = "xxx" Then
   ;ect ect
Else
   ;ect ect
EndIf
la funzione mi prende il doppio del tempo che vole dire dal 11 secondi circa che mi chiede caricare tutti i HIVE del Windows XP CD, mi prende 20 secondi, e da pazzi ma non so che dire e come una storia cosi da non credere (normalmente come processo 10000000 di  "IF"  predando solo 1 2 3 4 5 secondi ehhhhh, e io lo chiamo proprio solo 4 volte ed ecco mi costa 9 secondi circa una cosa da pazzi e a che fare proprio con limiti di AutoIt ehhhhhhhhh), e come detto messo li 5 giorni quasi impazzito ormai perché tengo molto a quelli 9 secondi in più ehhhh, sto cercando aggiornare il Update Pack AddOn Creator ed ecco adesso la ambizione e andato oltre ormai forse un po più del immaginazione  ;) ;) ;), idea e di fare una cosa da pazzi li lavorare tutti i hotfix molto molto meglio che fa nLite, di piu metterli opzione di uninstall offline e online e da pazzi ma con un po li lavoro credo si fa, ma farlo mi devo caricare molti molti file in avvio del programma cosa che potrebbe chiedere in fine quasi 1 minuto per avviare il programma, accettabile pensare quello che vuole fa li, ma ecco come il caso di sopra 9
secondi qui e 9 secondi la ehhh  volte 1 minuti con 2 minuti fanno un bel po di differenza ehhhhh

e su serio ragazzi quasi mi scoppia la testa, e forse mi stacco qualche giorno da li perché cosi sembra impazzire per davvero, dopo un bel giorno ehh ecco venuti questi 6 giorni più che GIÙ direi, detto un bel giorno perché prima giorni fa sono riuscito aggiungere nel codice solo 5 line  ;D ;D ;D e riuscito fare dal li tutto quello che fa il PEChecksum.exe di n7Epsilon, che vole dire riesco prendere perfettamente il "BuildCheckSum" dei file li (e da pazzi l cosa mi rabbia che davvero non so chiamare come si deve un Dll dal auotit, perché se si ehhhh dal AutoIt leggendo il MSDN di Microsoft
http://msdn.microsoft.com/en-us/library/bb776426%28v=VS.85%29.aspx  
http://msdn.microsoft.com/en-us/library/ms680586%28v=VS.85%29.aspx ect ect senza fine li ehhhhh
potrai fare proprio tutto ehhhhh da pazzi), cosi senza aggiungere nessun altro tool dentor il .exe posso scrivere ormai in modo perfetto il inf del update pack cosi che un utente creare un update pack solo con hotfix che vuole siano 300 o siano 20, ma come detto sopra voglio andare oltre li  :-\ :-\ o si fa come voglio o quasi la lascio per davvero perché ormai non si parla di creare un update pack ma lavorare direttamente in cd, quasi e come fare un altro nlite dal un punto di vista, voglio dire calcolare miglia scenari possibili li ehhhhhh, piu che e importante che forse mi chiederà settimane di tempo sono le opzioni del Update.exe e update.inf codice mai rilasciato da microsoft (o solo parzialmente, che in questo caso non e che aiuta molto molto), in vecchi versioni del NT4 ect ect il update.inf si chiamava hotfix.inf mi sa e li microsoft in quello tempo rilasciava e come dettagli, ma dopo in win2000 il file e passato in update.inf e microsoft quasi non a rilasciato nessun info al riguardo (solo info generali), cosi serve andare indovinare da te le cose li ehhhh, grazie esperienza si potrà immaginare quello che fa e si arriva e come forse non al 100% ma si arriva e come, ma farlo manualmente ehhhh chiede settimane e forse messi di test cose che ehhhhhh cosi molto tmepo e nervi, ma ecco io (anche se in fine non vale, windows XP e andato ormai ehhhhh) ci proveremo, e speriamo che andrà tutto bene

ragazzi non e fantascienza questo che sto dicendo purtroppo a volte le cose sono cosi facile che ehhhh, basta solo chiamare le DLL di microsoft ed e tutto solo un questione di pochi line dentro in script dopo, ecco per esempio (Secondo Me, o io Credo) come e stato creato il famoso SetAcl.exe, ecco purtroppo e tutto scritto in MSDN su come fare ehhhhhhhh, proprio tuttoooooooo
http://msdn.microsoft.com/en-us/library/aa375780%28v=VS.85%29.aspx
http://msdn.microsoft.com/en-us/library/aa375742%28v=VS.85%29.aspx
http://msdn.microsoft.com/en-us/library/aa376401%28v=VS.85%29.aspx
ect ect
ect ect

MSDN e davvero senza fine, la mia curiosità come usarli le fuction del Image Mastering API http://msdn.microsoft.com/en-us/library/aa366450%28v=VS.85%29.aspx in script di AuotIt (perché se si crea un tool per WindowsXP in questo punto e doveroso usare mkisofs.exe per creare le iso ect ect come fa nLite e RVMi del resto)
Titolo: Re: Sezione Autoit, Discussioni e scambio di idee...
Inserito da: BAT - 09/12/2010, 18:33
 :police: Ho catturato il responsabile! Non potete nemmeno immaginare chi è!
E' come nei gialli di Agatha Christie, l'unico processo che era al di sopra di ogni sospetto.
A sorpresa il colpevole è proprio... Comodo Firewall!
Me ne sono accorto per puro caso. Per fare dei test ho spento il modem e poi il firewall;
essendo off-line  ho fatto doppio click sui  file .chm della guida AutoIT...
non se ne apriva nemmeno uno! Accendo il firewall, sto per riaccendere il modem e mi blocco: prova aad aprire i .chm  operazioni a firewall acceso: funzionano.
Questo stramaledetto firewall una volta installato deve combinare qualcosa a livello moooolto basso, perche dopo che l'hai installato in pratica devi tenerlo sempre acceso.
Controprova: ho ripristinato un sistema pulito senza firewall, Fatboy funziona come un orologio svizzero;
ho selezionato contemporaneamente 24 applicazioni "base" e me le ha installate una dopo l'altra in una frazione del tempo che ci si impiegherebbe a mano; poi ho installato le 3 applicazioni sui pdf, tutto ok; poi 6 applicazioni di grafica. Il tutto testato applicazione per applicazione.

@OnePiece
ovviamente le installazioni non sono contemporanee, ma in sequenza, è come fare
RunWait(app01)
RunWait(app01)
...
RunWait(appXY)


3 settimane a sbattermi per un problema che nemmeno esisteva, il codice era corretto sin dall'inizio, ma porcaccia la miseria :BangHead: :BangHead: :BangHead: :BangHead: :BangHead:

Vabbeh, faccio qualche altro test e nei prossimi giorni lo ufficializzo.
Titolo: Re: Sezione Autoit, Discussioni e scambio di idee...
Inserito da: ChessMateK - 09/12/2010, 19:12
Vabbeh, faccio qualche altro test e nei prossimi giorni lo ufficializzo.

Volevo segnalare una cosa che forse potrebbe essere utile: l'ultima versione 9.20 di 7-Zip non si associa in maniera predefinita ai file che supporta quando è terminata l'installazione, ma è necessario agire manualmente dal file manager di 7-Zip. Eventualmente potrebbe essere utile rendere automatica l'associazione in Fatboy  :P
Titolo: Re: Sezione Autoit, Discussioni e scambio di idee...
Inserito da: BAT - 23/01/2011, 09:49
Allego un esempio di codice AutoIT che mostra un modo (non è l'unico) per aprire un indirizzo web con il browser predefinito, come colorare un'etichetta che rappresenta l'indirizzo e far diventare il cursore del mouse a forma di mano quando ci si passa sopra.

Ricordo a quelli che mi fanno di queste domande in privato innanzitutto che QUESTA è la sezione giusta per farlo, ed in secondo luogo che io non mi chiamo Google: con una ricerca sulla documentazione on-line di AutoIT (o su Google) avrebbero fatto molto prima.
Titolo: Re: Sezione Autoit, Discussioni e scambio di idee...
Inserito da: Tomy - 23/01/2011, 22:14
@BAT
Era una cosa un po professionale al livello tuo, altrimenti andavo a cercà sul web pero non mi fido, nella vita devi cercare il saggio....
Cmq non te la prendere  :-\ , cerchero di evitare le domande in privato _OK _ grazie ciao BAT !
Titolo: Re: Sezione Autoit, Discussioni e scambio di idee...
Inserito da: core-X - 14/05/2011, 08:47
Bene bene ciao sono nuovo del forum e se questa è la sezione adatta ho circa 50000 domande da fare.  :P

Naaa solo una per ora. Ho un software scaricato dal web e con l'aiuto di autoit ho dato il parametro silent e tolto icone e scorciatoie dopo l'installazione,
Codice: [Seleziona]
$Installer = "Programma.exe"
; Run the installer
RunWait($Installer & ' /sp- /verysilent /TASKS="" /norestart')
; Delete Shorcuts
FileDelete(@ProgramsCommonDir & "\Progr\Programma" & "\collegamento1.lnk")
FileDelete(@ProgramsCommonDir & "\Progr\Programma" & "\collegamento2")

Non ho messo il vero software ma fin qui il programma funziona a dovere ora però devo copiare un file txt nella cartella Programmi (C:\Program Files\Cartella dove il software si è installato) dando il comando in autoit
Codice: [Seleziona]
FileCopy("\\server\FILEDACOPIARE.txt","C:\Program Files\CARTELLADELPROGRAMMAINSTALLATO")
Codice: [Seleziona]
FileCopy("C:\Temp\FILEDACOPIARE.txt","C:\Program Files\CARTELLADELPROGRAMMAINSTALLATO")
Ecco qui mi blocco perchè il file di testo non copia nella cartella del programma di destinazione in entrambi i casi e non so cosa esattamente devo mettere in sorgente. Questo file si dovrà copiare al t13 perchè di questo software farò l'addon da integrare con nlite o 7lite, poi decido. Ciao.


Titolo: Re: Sezione Autoit, Discussioni e scambio di idee...
Inserito da: OnePiece - 14/05/2011, 09:04
non copia perché senz'altro non torva nel destinazione il file da copiare

del resto, non serve usare canoni per uccidere zanzare  ;), basta usare 7-Zip SFX per fare quello che vuoi fare, e  la fai a perfezione, per esempio http://www.eng2ita.net/forum/index.php/topic,1874.0.html

vedi altri esempi dentor il topic in questione
http://www.eng2ita.net/forum/index.php/topic,1874.45.html
http://www.eng2ita.net/forum/index.php/topic,1874.msg27563.html#msg27563
http://www.eng2ita.net/forum/index.php/topic,1874.msg26582.html#msg26582
http://www.eng2ita.net/forum/index.php/topic,1874.msg26508.html#msg26508
http://www.eng2ita.net/forum/index.php/topic,1874.msg32620.html#msg32620

il script SFX non e altro che un script in CMD Mod con piccoli modificazioni

Ciao.
Titolo: Re: Sezione Autoit, Discussioni e scambio di idee...
Inserito da: core-X - 14/05/2011, 09:39
non copia perché senz'altro non torva nel destinazione il file da copiare

Infatti come dicevo non so esattamente cosa metterci in sorgente per questo chiedo :)

del resto, non serve usare canoni per uccidere zanzare  ;), basta usare 7-Zip SFX per fare quello che vuoi fare, e  la fai a perfezione, per esempio
Ciao.
Ho dato un occhiata anche se ho qualche dubbio, fai conto che dopo aver creato l'addon nella cartella svcpack ci sarà... un file sfx.exe con dentro l'exe originale, l'exe di compilazione con autoit per far partire il suddetto originale ed infine il file di testo (file.txt) che si dovrà copiare nella cartella dove si installerà il programma. Ovviamente il file ENTRIES.programma.ini fara partire l'exe di autoit. Ciao.
Titolo: Re: Sezione Autoit, Discussioni e scambio di idee...
Inserito da: OnePiece - 14/05/2011, 09:47
Non so che vuoi fare li, ma ci sono i variabili @ScriptDir per indicare copiare il file proprio li dove sta lavorando il exe ect ect, che anche il FileInstall (http://www.autoitscript.com/autoit3/docs/functions/FileInstall.htm)

riguardo SFX e stato creato proprio per svcpack addon  ;), si fanno con quello in modo perfetto addon di dotnet che sono migliaia di volte pii complicati ect ect, il 7zip sfx fa proprio tutto, e come ti o detto e solo un script cmd che viene eseguito in silent mod, di più a anche opzioni di creare cancellare e collegamenti ect ect

Codice: [Seleziona]
Macros per dati di "tutti gli utenti".  Molti valori sono letti da HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion
@AppDataCommonDir path all'Application Data
@DesktopCommonDir path al Desktop
@DocumentsCommonDir path a Documents
@FavoritesCommonDir path a Favorites
@ProgramsCommonDir path alla cartella Start Menu's Programs
@StartMenuCommonDir path alla cartella Start Menu
@StartupCommonDir path alla cartella Startup

Macros per dati dell'utente corrente.  Molti valori sono letti da HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion
@AppDataDir path alla cartella Application Data dell'utente corrente
@DesktopDir path al Desktop dell'utente corrente
@MyDocumentsDir path a My Documents
@FavoritesDir path ai Preferiti dell'utente corrente
@ProgramsDir path ai Programmi dell'utente corrente (cartella sul Menu Start)
@StartMenuDir path al Menu Start dell'utente corrente
@StartupDir Cartella Startup dell'utente corrente
@UserProfileDir Path alla cartella Profile dell'utente corrente.


Altre macros per il computer system:
@HomeDrive Lettera del Drive contenente la home directory dell'utente corrente.
@HomePath Directory path della home directory dell'utente corrente. Per ottenere il path completo, usala in congiunzione con @HomeDrive.
@HomeShare Nome del server e della condivisione contenente la home directory dell'utente corrente.
@LogonDNSDomain Logon DNS Domain.
@LogonDomain Logon Domain.
@LogonServer Logon server.
@ProgramFilesDir path alla cartella Program Files
@CommonFilesDir path alla cartella Common Files
@WindowsDir path alla cartella Windows
@SystemDir path alla cartella Windows' System (o System32)
@TempDir path alla cartella temporary files
@ComSpec valore di %comspec%, l'interprete secondario di comandi specificato ;
primariamente per usi da linea comandi, ad es.  Run(@ComSpec & " /k help | more")


@ScriptDir  Directory containing the running script.  (Result does not contain a trailing backslash)  
@WorkingDir  Current/active working directory.  (Result does not contain a trailing backslash)  

Ciao.
Titolo: Re: Sezione Autoit, Discussioni e scambio di idee...
Inserito da: BAT - 14/05/2011, 11:37
Ho dato un occhiata anche se ho qualche dubbio, fai conto che dopo aver creato l'addon nella cartella svcpack ci sarà... un file sfx.exe con dentro l'exe originale, l'exe di compilazione con autoit per far partire il suddetto originale ed infine il file di testo (file.txt) che si dovrà copiare nella cartella dove si installerà il programma. Ovviamente il file ENTRIES.programma.ini fara partire l'exe di autoit. Ciao.
La sintassi da usare è
FileCopy (@ScriptDir & "\tuoFileTesto.txt", @ProgramFilesDir & "\CartellaApplicazione\tuoFileTesto.txt", 9)

Qui --> http://bat.xoom.it/download-svcpack-addon-winxpsp3.html
trovi i sorgenti in AutoIT di tutti i pack che ho fatto, dentro Raccolta di svcpack 1 e 2 + Adobe Reader X Italiano v10.0.1

Altri esempi sono in Fatboy-XP (non è un pack)
Titolo: Re: Sezione Autoit, Discussioni e scambio di idee...
Inserito da: core-X - 14/05/2011, 18:40
FileCopy (@ScriptDir & "\tuoFileTesto.txt", @ProgramFilesDir & "\CartellaApplicazione\tuoFileTesto.txt", 9)

Weeee Funziona grazie mille :) , ora stavo facendo altre prove,alcune riuscite altre no... in pratica dovrei:
1) Rimuovere un collegamento dalla barra delle applicazioni (e fino ad ora ho provato comandi ma non vanno).
2) E' possibile rimuovere una scorciatoia dei programmi non a collegamenti ma per intera?
Avevo provato cosi
Codice: [Seleziona]
FileDelete(@ProgramsCommonDir  & "\Programma")Cosi facendo ha cancellato i collegamenti ma la scorciatoia "\Programma" è rimasta, in realtà volevo si cancellasse tutta. Ciao.
Titolo: Re: Sezione Autoit, Discussioni e scambio di idee...
Inserito da: BAT - 16/05/2011, 09:56
Devi imparare ad usare la documentazione di AutoIT
http://www.autoitscript.com/autoit3/docs/

in particolare devi cercare se esiste una funzione predefinita che fa ciò che vuoi
http://www.autoitscript.com/autoit3/docs/functions.htm

dalla documentazione risulta che la funzione adatta è DirRemove
http://www.autoitscript.com/autoit3/docs/functions/DirRemove.htm

devi scrivere qualcosa come
DirRemove ( percorso, 1 )
il parametro 1 cancella ricorsivamente tutte le subdirectory
Titolo: Re: Sezione Autoit, Discussioni e scambio di idee...
Inserito da: core-X - 16/05/2011, 19:20
Si il link che hai elencato lo consultavo continuamente gia prima di scrivere in questo post :)
cmq ho provato come hai detto tu facendo cosi e funziona.

Codice: [Seleziona]
DirRemove(@ProgramsCommonDir  & "\Programma", 1)PS: ho rimosso anche il collegamento della barra
Codice: [Seleziona]
FileDelete(@AppDataDir & "\Microsoft\Internet Explorer\Quick Launch\Collegamento.lnk")Grazie BAT e OnePiece.

Titolo: Re: Sezione Autoit, Discussioni e scambio di idee...
Inserito da: Yza_K - 15/07/2011, 09:09
HEHEHEHEHE

Ma sono io il responsabile della autoit mania :D

Ammazza quanto siete andati avanti in mia assenza... e io devo praticamente ricominciare in quanto è dal 2009 che nn facc n'a mazz...
Titolo: Re: Sezione Autoit, Discussioni e scambio di idee...
Inserito da: Fantoman - 14/06/2012, 16:23
Ciao a tutti

mi inserirso in questa discussione anche se datata perchè ho un problema con autoit e macro generator. Ho creato il mio script utilizzando una guida trovata nel web e devo ammettere che ci sono riuscito al primo tentativo, unico problema non mi chiude l'ultima finestra finita l'installazione del programma e non ci sono versi per riuscire a farglielo fare. Potete aiutarmi ? questo lo script:
Codice: [Seleziona]
#region - ProgDVB6.84.1x64 install script - (Automated with WinWait functions)
Opt('WinTitleMatchMode', 4)
Opt('TrayIconDebug', 1)

; Installer.
$executable = 'ProgDVB6.84.1x64.exe'
; Default group folder in startmenu.
$group = ''
; Installation folder in Program Files.
$directory = ''

; Run the installer.
$pid = _Automated()
If WinWait("ProgDVB x64 Setup","&Next >", 60) Then
ControlClick("ProgDVB x64 Setup","&Next >","Button2")
WinWait("ProgDVB x64 Setup ","I &Agree")
ControlClick("ProgDVB x64 Setup ","I &Agree","Button2")
WinWait("ProgDVB x64 Setup ","< &Back")
ControlClick("ProgDVB x64 Setup ","< &Back","Button2")
WinWait("ProgDVB x64 Setup","< &Back")
ControlClick("ProgDVB x64 Setup","< &Back","Button2")
ControlClick("ProgDVB x64 Setup","< &Back","Button2")
ControlClick("ProgDVB x64 Setup","< &Back","Button2")
ControlClick("ProgDVB x64 Setup","< &Back","Button2")
WinWait("ProgDVB x64 Setup","&Install")
ControlClick("ProgDVB x64 Setup","&Install","Button2")
WinWait("ProgDVB x64 Setup ","< &Back")
ControlClick("ProgDVB x64 Setup ","< &Back","Button2")
Else
_Abort()
EndIf
ProcessWaitClose($pid)

; Remove shortcuts.
If _Programs('?.lnk') Then
; Relative to programs directory
; Remove Startmenu shortcuts
FileDelete('?.lnk')
FileDelete('?.lnk')
FileDelete('?.lnk')
FileDelete('?.lnk')
FileDelete('?.lnk')
EndIf
_Desktop('?.lnk')
_QuickLaunch('?.lnk')

Exit
#endregion

Func _Automated($parameters = Default)
; Run the installer in Default Script directory.
Dim $executable
If $parameters = Default Then $parameters = ''
If Not FileExists($executable) And Not FileExists(@ScriptDir & '\' & $executable) Then
Exit 1
ElseIf Not FileExists($executable) Then
FileChangeDir(@ScriptDir)
EndIf
If StringRight($executable, 4) = '.msi' Then
Return Run('"' & @SystemDir & '\msiexec.exe" /i "' & @WorkingDir & '\' & $executable & '" ' & $parameters)
Else
Return Run('"' & @WorkingDir & '\' & $executable & '" ' & $parameters)
EndIf
Return 0
EndFunc

Func _Abort()
; close process if exists then exit.
Dim $pid
If ProcessExists($pid) Then
ProcessClose($pid)
Exit 2
Else
Exit 3
EndIf
EndFunc

Func _Desktop($shortcut)
; Delete a Desktop shortcut.
Switch $shortcut
Case  '', '?', '?.lnk'
Return 0
EndSwitch
If FileExists(@DesktopDir & '\' & $shortcut) Then
Return FileDelete(@DesktopDir & '\' & $shortcut)
ElseIf FileExists(@DesktopCommonDir & '\' & $shortcut) Then
Return FileDelete(@DesktopCommonDir & '\' & $shortcut)
EndIf
Return 0
EndFunc

Func _Programs($shortcut)
; Change working directory to correct StartMenu\Programs directory.
Dim $group
Local $shortcut_found
If $group = '?' Then Return ''
For $i = 0 To 3
; Search for the location of shortcut
If FileExists(@ProgramsDir & '\' & $group & '\' & $shortcut) Then
If FileChangeDir(@ProgramsDir) Then $shortcut_found = True
DirRemove(@ProgramsCommonDir & '\' & $group)
ElseIf FileExists(@ProgramsCommonDir & '\' & $group & '\' & $shortcut) Then
If FileChangeDir(@ProgramsCommonDir) Then $shortcut_found = True
DirRemove(@ProgramsDir & '\' & $group)
EndIf
Sleep(2000)
If $shortcut_found = True Then Return $shortcut_found
Next
Return ''
EndFunc

Func _QuickLaunch($shortcut)
; Delete a Quicklaunch shortcut.
Switch $shortcut
Case  '', '?', '?.lnk'
Return 0
EndSwitch
Local $subdirs = 'Microsoft\Internet Explorer\Quick Launch'
If FileExists(@AppDataDir & '\' & $subdirs & '\' & $shortcut) Then
Return FileDelete(@AppDataDir & '\' & $subdirs & '\' & $shortcut)
ElseIf FileExists(@AppDataCommonDir & '\' & $subdirs & '\' & $shortcut) Then
Return FileDelete(@AppDataCommonDir & '\' & $subdirs & '\' & $shortcut)
EndIf
Return 0
EndFunc

Func _WinClose($title, $text = '')
; Close a window with further attempts.
For $i = 1 To 10
WinClose($title, $text)
If Not WinExists($title) Then Return True
Sleep(500)
Next
Return ''
EndFunc

Func OnAutoItStart()
; A 2nd script instance will exit.
If StringInStr($CMDLINERAW, '/dummy') Then Exit
If WinExists(@ScriptName & '_Interpreter') Then Exit
AutoItWinSetTitle(@ScriptName & '_Interpreter')
EndFunc

Come potete notare lo script è composta da due parti una creata con Macro Generator e l'altro con Automated WinWait fuctions, come dicevo lo script funziona però all'ultima finesta quando ormai il programma è installato ti chiede di finire e chiudere la finestra o avviare il programma, io decido di chiudere ma poi in automatico non succede e mi tocca chiuderlo a mano poco pratico visto che dovrebbe essere tutto automatizzato. Grazie infinite per un aiuto.

P.S. leggendo tutte le pagine del post ho trovato il link di una guida in italiano di autoit, io sinceramente non riesco a scaricarla mi sapete dire come ?
Grazie ancora.
Titolo: Re: Sezione Autoit, Discussioni e scambio di idee...
Inserito da: Mr.X - 14/06/2012, 22:33
Ciao e bentornato,
ho tagliato un po' in qua e là il tuo script ed è venuto fuori qualcosa di funzionante, premetto che per testare ho scaricato il programma da questo link: http://update-progdvb.com/prerelease/ProgDVB6.85.3c.x64.exe ; una volta scaricato l'ho rinominato per comodità in "ProgDVB6_x64.exe".
Ecco lo script:

Codice: [Seleziona]
#RequireAdmin
BlockInput(1) ; blocco ON di tastiera e mouse, in caso di problemi usa la combinazione di tasti Alt X per uscire
Opt("WinTitleMatchMode", 4)
AutoItSetOption("MouseCoordMode", 0)
HotKeySet("!x", "HotExit") ; combinazione di tasti Alt X per uscire
Func HotExit()
Exit
EndFunc   ;==>HotExit
$progdvb6_installer = FileGetShortName(@ScriptDir & "\ProgDVB6_x64.exe") ; all'occorrenza edita questa riga oppure rinomina il file....
Run($progdvb6_installer)
If WinWait("[title:ProgDVB x64 Setup; class:#32770]", "", 10) Then
ControlClick("[title:ProgDVB x64 Setup; class:#32770]", "", "Button2")
WinWait("ProgDVB x64 Setup ", "I &Agree")
ControlClick("ProgDVB x64 Setup ", "I &Agree", "Button2")
WinWait("ProgDVB x64 Setup ", "< &Back") ;
ControlClick("ProgDVB x64 Setup ", "< &Back", "Button2") ;
WinWait("ProgDVB x64 Setup", "Multi-user settings") ;
ControlClick("ProgDVB x64 Setup", "Multi-user settings", "Button2") ;
ControlClick("ProgDVB x64 Setup", "Adjustment of a source of TV", "Button2")
Send("{DOWN 6}")
;~ Send("{TAB 3}") ; per settare HID or Microsoft RC
;~ Send("{DOWN}") ; per settare HID or Microsoft RC
ControlClick("ProgDVB x64 Setup", "Configuration", "Button2") ;
ControlClick("ProgDVB x64 Setup", "Configuration", "Button2") ;
WinWait("ProgDVB x64 Setup", "&Install")
ControlClick("ProgDVB x64 Setup", "&Install", "Button2") ;
WinWait("ProgDVB x64 Setup ", "&Finish")
ControlClick("ProgDVB x64 Setup ", "&Finish", "Button2") ;
FileDelete(@DesktopCommonDir & "\ProgDVB 6.lnk")
FileDelete(@DesktopDir & "\ProgDVB 6.lnk")
Else
Exit
EndIf
BlockInput(0) ; blocco OFF di tastiera e mouse
Exit

Se hai dubbi chiedi pure  :)
Titolo: Re: Sezione Autoit, Discussioni e scambio di idee...
Inserito da: Fantoman - 15/06/2012, 12:47
Ciao a tutti

velocissimo nella risposta  :D . Grazie infinite lo provo immediatamente ma nel frattempo ti vorrei chiedere, perchè a me non funzionava ? Normalmente quando si registra una macro con macro generator perche poi non riesco a complilare lo script che funzioni se per caso hai delle guide ( in Italiano) sulla modalità di registrazione delle macro dimmi dove posso scaricarle cosi da poter consultare qualcosa di concreto.
Intanto ancora grazie e ti faccio sapere come è andata.



Aggiornamento: funziona che è na bomba complimenti ..... riuscirò mai a creare qualcosa del genere ?
Titolo: Re: Sezione Autoit, Discussioni e scambio di idee...
Inserito da: Mr.X - 17/06/2012, 16:45
Citazione da: Fantoman
perchè a me non funzionava ?
non ti funzionava perchè lo script che hai fornito è davvero pasticciato: in diversi punti non ha senso logico, ci sono funzioni che non vengono chiamate e che non hanno senso nel contesto.
Per imparare ad automatizzare dobbiamo fare largo uso di "Autoit Windows Info"... i tutorial scarseggiano in rete, ho trovato solo questo: http://www.autoitscript.com/autoit3/docs/tutorials/winzip/winzip.htm
Ho provato anch'io a fare qualcosa del genere:
http://www.eng2ita.net/forum/index.php/topic,7855.0.html
Citazione da: Fantoman
Aggiornamento: funziona che è na bomba complimenti
bene, grazie  :)
Citazione da: Fantoman
riuscirò mai a creare qualcosa del genere ?
certamente! E' solo questione di tempo...  ;D
Titolo: Re: Sezione Autoit, Discussioni e scambio di idee...
Inserito da: Fantoman - 17/06/2012, 19:49
Ciao a tutti

grazie infinite delle informazioni che cercherò di mettere a frutto al più presto. Arrivederci.
Titolo: Re: Sezione Autoit, Discussioni e scambio di idee...
Inserito da: DMD - 11/10/2014, 23:31
Come primo approccio ho utilizzato lo strumento "Au3Record" per ottenere il lancio del programma "Logitech Gaming Software" con relativa chiusura della finestra di Impostazione, che si apriva ogni volta che avviava il computer.
Magari lo script è un pò grezzo, ma funziona.

Codice: [Seleziona]
_AU3RecordSetup()
#endregion --- Internal functions Au3Recorder End ---


Run('C:\Program Files\Logitech Gaming Software\LCore.exe')
_WinWaitActivate("Program Manager","")
MouseClick("left",868,779,1)
_WinWaitActivate("Logitech Gaming Software","")
MouseClick("left",413,279,1)
MouseClick("left",411,614,1)
Send("{ALTDOWN}{F4}{ALTUP}")