Newsgroup: it.comp.os.win.xp
Titolo: Esecuzione automatizzata, sarà possibile?

Buona sera a tutti.
Ho la necessità di eseguire un programma che però appena avviato presenta 
una finestra con un bottone di start sul quale si può agire col mouse o 
tramite scorciatoia da tastiera con la sequenza di tasti ALT+I e sino a che 
non si fa una delle due cose non va avanti, io vorrei invece bypassare 
questa parte.
Ho provato ad eseguirlo da shell (CMD & COMMAND) nella speranza che 
aggiungendo opportune estensioni partisse, ma nisba: non so come fare 
eseguire la sequenza ALT+I.
Supponendo che il programma si chiami PIPPO.EXE ho provato a dare il comando 
PIPPO.EXE / [opzione], dove per [opzione] ci dovrebbe essere la sequenza di 
tasti ALT+I.
Non sono sicuro che sia corretto e/o possibile agire in questo modo, ma 
tralasciando questo, secondo voi con Windows XP è possibile in qualche modo 
ottenere quello che voglio?
Se si, come?
Grazie per l' attenzione.
Antonello. 

Antonello ha scritto:

A meno che il programma PIPPO.EXE non lo preveda espressamente, non è
possibile. Eventuali opzioni da linea di comando devono essere gestite
dal programma e non dal sistema operativo. Puoi provare con uno dei
tanti macro recorder (basta una ricerca su Google).
-- 
Ciao!
Gerardo Fransecky
Microsoft MVP
http://blogs.dotnethell.it/gerardo

 vorrei invece bypassare questa parte.
Copiaincolla la parte fra i trattini nel blocco note, salvalo
come "prova.vbs" (tutti i file) e poi eseguilo.
-----------------------------------------------
Dim WSHShell
Dim Ritardo
Ritardo = 1000
ApplicazioneDalanciare = "c:\windows\notepad"
Set WSHShell = WScript.CreateObject("WScript.Shell")
WshShell.run ApplicazioneDalanciare
WScript.Sleep Ritardo
WSHShell.SendKeys "ciao, sono le {f5}{enter}{enter}"
WScript.Sleep Ritardo
WSHShell.SendKeys "ora apriro' il menu' file con la combinazione alt{+}f"
WScript.Sleep Ritardo *2
WSHShell.SendKeys "%f"
WScript.Sleep Ritardo
WSHShell.SendKeys "{esc}{esc}"
WSHShell.SendKeys "{enter}{enter}"
WSHShell.SendKeys "L'ho chiuso con 2 esc"
WScript.Sleep Ritardo
WSHShell.SendKeys "{enter}{enter}"
WSHShell.SendKeys "Fine."
WScript.Quit
-----------------------------------------------
per fare le doppie virgolette si usa il codice chr(34)
Esempio: WSHShell.SendKeys "parola" chr(34) "virgolettata" chr(34)
Altri codici Carattere:
http://msdn2.microsoft.com/it-it/library/system.windows.forms.sendkeys.aspx
 

 come "prova.vbs" (tutti i file) e poi eseguilo.
Questa e' la versione "zappata" che fa' solo quello che chiedi
(prima mi e' scappato il post e non avevo incluso questa parte :P)
WScript.Sleep 1000
        (SERVE per permettere l'apertura del programma, e'
         in millisecondi quindi 1000 equivale ad 1 secondo,
         ovvio e' che 15000 equivale a 15 secondi.
WshShell.run "c:\windows\notepad"
         (e' il nome completo di percorso del file da lanciare)
WSHShell.SendKeys "%f"
          (ho dovuto usare l'alt+f xche' nel notepad alt+i
           non c'e' e nn mi vengono in mente altri che
           possano avere alt+i)
 -----------------------------------------------
 Dim WSHShell
 Dim Ritardo
 ApplicazioneDalanciare = "c:\windows\notepad"
 Set WSHShell = WScript.CreateObject("WScript.Shell")
 WshShell.run "c:\windows\notepad"
 WScript.Sleep 1000
 WSHShell.SendKeys "%f"
 WScript.Quit
 -----------------------------------------------

 
http://blogs.dotnethell.it/gerardo
Ciao anche a te ed ancora molte grazie!
Antonello 

> come "prova.vbs" (tutti i file) e poi eseguilo.
Rispondo qui.
Ciao Franz aRTiglio e infinite grazie per la risposta!
Guarda ti dico la verità, per me quello che hai scritto è arabo, però ho 
fatto come hai suggerito ed effettivamente ho ottenuto un eseguibile 
perfettamente funzionante, stento a credere ai miei occhi, tra l' altro ho 
pure compreso la struttura del listato, si il listato di un programma 
scritto col blocco note: grandissimo!!!
Ho dato un' occhiata anche al link che mi hai suggerito ed anche grazie a 
quello ora ho le idee più chiare, fermo restando tutti i miei moltissimi 
limiti in materia.
Per adesso non mi riesce di fare in modo che la sequenza ALT+I abbia effetto 
sul programma PIPPO.EXE perchè quando parte il tuo programma la finestra del 
PIPPO.EXE passa in secondo piano in favore del blocco note dove si esegue 
appunto il tuo programma.
Farò delle prove e conto di riuscire a centrare il bersaglio, e poi mi sono 
venute in mente 1000 cose che potrei fare operando come mi hai suggerito ed 
anche solo provare e riprovare è sorprendentemente divertente, non riesco 
più a smettere, una sensazione indescrivibile!
Tra l' altro mi è venuta un' idea anche per un vecchio pc msdos per la quale 
mi documenterò al più presto.
Che dire, sono veramente senza parole.
Ciao ed ancora infinite e poi ancora più infinite grazie!!!
Antonello

 cose non le conosco.
Non è mai troppo tardi per iniziare :-)
Tra l'altro Franz ti ha dato una bella spinta iniziale!


 note dove si esegue appunto il tuo programma.
Innanzitutto scusami, ero un po' rincoglionito dal sonno e ho
fatto un minestrone con lo script, per farmi perdonare
ti spiego un po' di basi di visual basic script (vbs)
Se la lettura annoia, fai il copiaincolla di questo:
Dim WSHShell
Set WSHShell = WScript.CreateObject("WScript.Shell")
WshShell.run "pippo.exe"
WScript.Sleep 1000
WSHShell.SendKeys "%i"
WScript.Quit
NOTA BENE: "pippo.exe" pou' non bastare, se NON esegui lo script
dalla stessa cartella di pippo.exe, devi aggiungere il percorso in
cui risiede pippo.exe : "c:\nome cartella\pippo.exe"
Dunque:
il programmino e' una sequenza VisualBasicScript, cioe' una serie
di comandi "comprensibili" al sistema operativo, ogni parte di esso
ha una sua funzione e la sua sintassi.
I comandi vengono eseguiti in maniera sequenziale, a mo' di lista
della spesa, quindi cio' che e' scritto in alto viene eseguito prima
di cio' che e' scritto in basso:
Apri il cassetto
Prendi la penna
Se invece scrivessimo
Prendi la penna
Apri il cassetto
Otterremmo un errore, o comunque NON otterremmo cio' che desideriamo.
Indi per cui vanno indicate correttamente le istruzioni, dando al
computer il tempo di eseguire ogni istruzione prima di inviare quelle
che dipendono dalla precedente, ad esempio se dicessimo
aprilcassettoprendilapenna
e' possibile che la penna non venga presa poiche' il cassetto si stava
aprendo, quindi non era ancora aperto, indi per cui occorre dare
un'istruzione supplementare che esegua una pausa: esempio:
Apri il cassetto
Attendi 5 secondi
Prendi la penna
Va' tenuto conto che la programmazione e' una cosiddetta
"programmazione ad oggetti", il che significa che ogni cosa DEVE
essere indicata tramite un nome, per alcuni oggetti e' necessario
fornire, al momento della loro definizione anche dei parametri.
(definizione=dare all'oggetto un nome e dirgli come verra' impiegato)
Gli oggetti possono avere piu' metodi (comandi), all'oggetto si da'
il comando separando oggetto e comando con un punto:
oggetto.comando
Quindi per quanto riguarda la tua esigenza, il programma dovrebbe fare:
lancia il programma pippo.exe
attendi 10 secondi
esegui la combinazione di tasti alt+i
Dato che al computer dobbiamo indicare per filo e per segno
ogni minima cosa, dobbiamo spiegargli cosa deve lanciare ed
in quale modo.
WshShell.run "pippo.exe"
( sistema.esegui "pippo.exe )
Oppure
msgbox "ciao"
( mostra il messaggio "ciao" )
Le graffette " delimitano alcune tipologie di parametri, principalmente
i parametri di tipo testo, sia che essi siano lettere o numeri, ma
se indichiamo al programma un'operazione matematica le virgolette
NON vanno usate; altrimenti credera' che vogliamo "incollare" il
testo, esempio:
msgbox 5+4
(mostrera' 9)
se usiamo del testo
msgbox "mangio" + "una" + "mela"
(mostrera' mangiounamela)
msgbox "mangio" + "5" + "4" + "mele"
(mostrera' mangio54mele)
Se invece non mettiamo le virgolette sui numeri otterremo:
msgbox "mangio" + 5 + 4 + "mele"
(mostrera' mangio9mele)
Quindi:
Dim WshShell
 (crea l'oggetto WshShell)
Set WshShell = WScript.CreateObject("WScript.Shell")
 (la dipendenza di WshShell e' nella classe di
  istruzioni  "Wscript.shell")
Come ho detto il NOME lo diamo noi, quindi potremmo
tranquillamente scrivere
Dim MIAOMIAO
Set MIAOMIAO = WScript.CreateObject("WScript.Shell")
Ora l'oggetto si chiamera' MIAOMIAO, ovvio che da ora in poi
dovremo dire MIAOMIAO per "usarlo"; ma se invece scrivessimo
Set MIAOMIAO = WScript.CreateObject("BLABLA")
otterremmo un errore, poiche' il sistema non conosce
la classe di istruzioni "BLABLA".
Generalmente maiuscole e minuscole sono la stessa cosa;
quindi MIAOMIAO, miaomiao e MiAomiaO sono IDENTICI.
"WScript" e' un comando che non necessita di essere definito.
Ma torniamo a noi:
lancia il programma pippo.exe
attendi 10 secondi
esegui la combinazione di tasti alt+i
fine
Dim WSHShell
Set WSHShell = WScript.CreateObject("WScript.Shell")
WshShell.run "pippo.exe"
WScript.Sleep 10000
WSHShell.SendKeys "%i"
WScript.Quit
Oppure:
Crea l'oggetto ComandiDiSistema
Crea l'oggetto ProgrammaDaLanciare
Crea l'oggetto MillisecondiDiAttesa
Crea l'oggetto TastDaInviare
Definisci ComandiDiSistema come oggetto di "wscript.shell"
ProgrammaDaLanciare equivale a "pippo.exe"
MillisecondiDiAttesa equivale a 1000
TastDaInviare equivale a "%i"
Esegui ProgrammaDaLanciare
Attendi per MillisecondiDiAttesa
ComandiDiSistema.InviaTasti "%i"
Esci
Dim ComandiDiSistema
Dim ProgrammaDaLanciare
Dim MillisecondiDiAttesa
Set ComandiDiSistema = WScript.CreateObject("WScript.Shell")
ProgrammaDaLanciare="pippo.exe"
MillisecondiDiAttesa=10000
TastDaInviare="%i"
WshShell.run ProgrammaDaLanciare
WScript.Sleep MillisecondiDiAttesa
WSHShell.SendKeys TastDaInviare
WScript.Quit

 ti spiego un po' di basi di visual basic script (vbs)
Minchia... per fortuna erano un po' di basi. Se era un corso che
spiegavi? :-)
Complimenti
-- 
Flavio Visentin
Membro del CICAP
Comitato Italiano per il Controllo delle Affermazioni di P4

 spiegavi? :-)
sai com'e'.... e' difficile addormentarsi stanotte
e ne ho approfittato  ^__^ 


Non male .. ma al'OP IMHO potrebbe solo confondere le idee
sempre IMHO 2 esempi che funzionano senza tanti artifizi
sono la cosa migliore ... a me sinceramente e passata la voglia
di leggere dopo le prime 10 righe
-- 
Fosco

"Fosco"
' esempio pratico per vedere come funziona
set oShell = CreateObject("WScript.Shell")
oShell.run"c:\windows\notepad.exe"
'dovrebbe essere cosi anche su XP altrimenti sostituire con :
'oShell.run"notepad"
While not oShell.AppActivate("Senza nome - Blocco note")
wscript.Sleep 200
Wend
wscript.Sleep 1500 ' per dare tempo a vedere cosa fa'
oShell.SendKeys"%f"
' esempio teorico su pippo.exe
set oShell = CreateObject("WScript.Shell")
oShell.run"c:\FULL PATH/pippo.exe"
While not oShell.AppActivate("CAPTION [1] di pippo.exe")
'[1] caption ottenibile aprendo pippo .exe e poi vedendo
' come appare nel task >> Control+ALT+CANC
wscript.Sleep 200
Wend
oShell.SendKeys"%i"
'Copia incolla su notepad e salva con estensione .vbs
'tutti i file (*.*)  poi ci clicchi sopra. (per esempio Test.vbs)
'se ti da' errore disattiva l'antivirus
' il wsh e' limitato per queste cose meglio :
http://www.hiddensoft.com/autoit3/
--
Fosco

 
http://www.hiddensoft.com/autoit3/
DllCall("Shell32.dll", "int", "ShellExecute", "hwnd", 0, "str", 'open', 
"str","c:\windows\calc.exe", "str", '', "str", @WorkingDir, "int", 10)
sleep(500)
DllCall("Shell32.dll", "int", "ShellExecute", "hwnd", 0, "str", 'open', 
"str","c:\windows\notepad.exe", "str", '', "str", @WorkingDir, "int", 10)
;Declare Function GetTickCount Lib "kernel32" Alias "GetTickCount" () As 
Long
$r = DllCall('kernel32','long','GetTickCount')
;MsgBox(4096,'Time','Windows started ' & $r[0] & ' ms ago.')
;Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal 
lpClassName As String,
;ByVal lpWindowName As String) As Long
Sleep(500)
$hwnd  = 
DllCall("user32.dll","long","FindWindow","str","Notepad","str","Senza 
nome - Blocco note")
$hwndCalc = 
DllCall("user32.dll","long","FindWindow","str","SciCalc","str","Calcolatrice")
;MsgBox(262144, "",@error )
MsgBox(262144, "","Notepad hwnd  " & $hwnd[0])
MsgBox(262144, "", "Calc hwnd  "&$hwndCalc[0])
;Declare Function ShowWindow Lib "user32" Alias "ShowWindow"
;(ByVal hwnd As Long, ByVal nCmdShow As Long) As Long
;Global Const $SW_SHOWNORMAL = 5
;$call =DllCall ( "user32.dll", "long", "ShowWindow " , "hwnd", 
$hwndCalc[0] , "long", 5 )
;MsgBox(262144, "",@error )
;MsgBox(262144, "",$call )
;;;;;;;$hwnd = WinGetHandle("Senza nome - Blocco note")
;;;;;;;$hwndCalc = WinGetHandle("Calcolatrice")
; Declare Function SetForegroundWindow Lib "user32" Alias
  ;"SetForegroundWindow" (ByVal hwnd As Long) As Long
  $goal = DLLCall("user32.dll","long","SetForegroundWindow","hwnd",$hwnd[0])
  ; MsgBox(262144, "", "Error  " &@error )
    ; MsgBox(262144, "",$goal)
sleep(3000)
  $goal = DLLCall("user32.dll","long","SetForegroundWindow","hwnd", 
$hwndCalc[0])
  ;MsgBox(262144, "", "Error  " &@error )
    ; MsgBox(262144, "",$goal)
#cs
Dynamically calls a function in a DLL.
DllCall ( "dll", "return type", "function" [, "type1", param1 [, "type 
n", param n]] )
originale apiguide
Declare Function FlashWindow Lib "user32" Alias "FlashWindow"
(ByVal hwnd As Long, ByVal bInvert As Long) As Long
#ce
$goal = DLLCall("user32.dll","long","SetForegroundWindow","hwnd", 
$hwndCalc[0])
sleep(2000)
$goal = DLLCall("user32.dll","long","SetForegroundWindow","hwnd",$hwnd[0])
;;;;;;;While 1  buono anche questo
For $i = 1 to 20
$f = DllCall("user32","int","FlashWindow","hwnd",$hwnd[0],"int",1)
sleep(100)
;msgbox(0, "", $f)
Next
$goal = DLLCall("user32.dll","long","SetForegroundWindow","hwnd", 
$hwndCalc[0])
sleep(2000)
For $i = 1 to 20
$f = DllCall("user32","int","FlashWindow","hwnd",$hwndCalc[0],"int",1)
sleep(100)
Next
  ; $hwnd3 = DLLCall("user32.dll","int","FindWindowEx","int",$hwnd2[0] 
,"str","","hwnd","Edit")
$hwnd3 = DLLCall("user32.dll","long","FindWindowEx","hwnd",$hwnd[0] 
,"int","0","int","","int","")
   MsgBox(262144, ""," Notepad's Edit hwnd  " & $hwnd3[0])
  ;MsgBox(262144, "", $hwnd3[1])
  ;$dec = StringRight ($hwnd3[1],"8" )
;$dec2 = Dec($dec)
;msgbox(0, "","Notepad's Edit hwnd  "& $dec2)
;;;;;;wend
#cs
originale api guide
Declare Function GetWindowText Lib "user32" Alias "GetWindowTextA" 
(ByVal hwnd As Long,
ByVal lpString As String, ByVal cch As Long) As Long
#ce
$goal = DLLCall("user32.dll","long","SetForegroundWindow","hwnd",$hwnd[0])
sleep(100)
$result = DllCall("user32.dll", "int", "GetWindowText", "hwnd", 
$hwnd[0], "str", "", "int", 32768)
msgbox(0, "", $result[0])   ; number of chars returned
msgbox(0, "", $result[2])   ; Text returned in param 2
;Declare Function GetDesktopWindow Lib "user32" Alias "GetDesktopWindow" 
() As Long
;$resultx = DllCall("user32.dll","long", "GetDesktopWindow","int",0)
$resultx = DllCall("user32.dll","long", "GetDesktopWindow")
;msgbox(0, "",@error)
MsgBox(262144, "","Desktop hwnd "& $resultx[0] )
#cs
Declare Function FindWindowEx Lib "user32" Alias "FindWindowExA" (ByVal 
hWnd1 As Long, ByVal
hWnd2 As Long,  ByVal lpsz1 As String, ByVal lpsz2 As String) As Long
#ce
  ; $hwnd3 = DLLCall("user32.dll","int","FindWindowEx","int",$hwnd2[0] 
,"str","","hwnd","Edit")
$hwnd3 = DLLCall("user32.dll","long","FindWindowEx","hwnd",$hwnd[0] 
,"str","Edit","str","")
   MsgBox(262144, "", @error )
   MsgBox(262144, "", $hwnd3)
   MsgBox(262144, "", $hwnd3[0])
  MsgBox(262144, "", $hwnd3[1])
  $dec = StringRight ($hwnd3[1],"8" )
;msgbox(0, "", $dec)
$dec2 = Dec($dec)
msgbox(0, "",$dec2)
#cs
Declare Function PostMessage Lib "user32" Alias "PostMessageA" (ByVal 
hwnd As Long,
ByVal wMsg As Long,  ByVal wParam As Long, ByVal lParam As Long) As Long
    PostMessage WinWnd, WM_CLOSE, 0&, 0&
#ce
;Global Const WM_CLOSE = 1
$close = DllCall("user32.dll", "int", "PostMesage", "hwnd", $hwnd[0], 
"int", 3 ,"int",0,"int",0)
MsgBox(262144, "", @error)
MsgBox(262144, "", $close)
gBox(262144, "", $close[0])
#cs
ap'guide
Declare Function GetFileSize Lib "kernel32" Alias "GetFileSize"
(ByVal hFile As Long, lpFileSizeHigh As Long) As Long
#ce
#cs
OLD
DllCall("Shell32.dll", "int", "ShellExecute", "hwnd", 0, "str", 'open', 
"str","c:\windows\calc.exe", "str", '', "str", @WorkingDir, "int", 10)
sleep(500)
DllCall("Shell32.dll", "int", "ShellExecute", "hwnd", 0, "str", 'open', 
"str","c:\windows\notepad.exe", "str", '', "str", @WorkingDir, "int", 10)
;Declare Function GetTickCount Lib "kernel32" Alias "GetTickCount" () As 
Long
$r = DllCall('kernel32','long','GetTickCount')
;MsgBox(4096,'Time','Windows started ' & $r[0] & ' ms ago.')
;Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal 
lpClassName As String,
;ByVal lpWindowName As String) As Long
Sleep(500)
$hwnd  = 
DllCall("user32.dll","long","FindWindow","str","Notepad","str","Senza 
nome - Blocco note")
$hwndCalc = 
DllCall("user32.dll","long","FindWindow","str","SciCalc","str","Calcolatrice")
;MsgBox(262144, "",@error )
MsgBox(262144, "", $hwnd[0])
MsgBox(262144, "", $hwndCalc[0])
;Declare Function ShowWindow Lib "user32" Alias "ShowWindow"
;(ByVal hwnd As Long, ByVal nCmdShow As Long) As Long
;Global Const $SW_SHOWNORMAL = 5
;$call =DllCall ( "user32.dll", "long", "ShowWindow " , "hwnd", 
$hwndCalc[0] , "long", 5 )
;MsgBox(262144, "",@error )
;MsgBox(262144, "",$call )
;;;;;;;$hwnd = WinGetHandle("Senza nome - Blocco note")
;;;;;;;$hwndCalc = WinGetHandle("Calcolatrice")
; Declare Function SetForegroundWindow Lib "user32" Alias
  ;"SetForegroundWindow" (ByVal hwnd As Long) As Long
  $goal = DLLCall("user32.dll","long","SetForegroundWindow","hwnd",$hwnd[0])
   MsgBox(262144, "", "Error  " &@error )
     MsgBox(262144, "",$goal)
sleep(3000)
  $goal = DLLCall("user32.dll","long","SetForegroundWindow","hwnd", 
$hwndCalc[0])
  MsgBox(262144, "", "Error  " &@error )
     MsgBox(262144, "",$goal)
Dynamically calls a function in a DLL.
DllCall ( "dll", "return type", "function" [, "type1", param1 [, "type 
n", param n]] )
originale apiguide
Declare Function FlashWindow Lib "user32" Alias "FlashWindow"
(ByVal hwnd As Long, ByVal bInvert As Long) As Long
;;;;;;;While 1  buono anche questo
For $i = 1 to 30
$f = DllCall("user32","int","FlashWindow","hwnd",$hwnd,"int",1)
sleep(100)
;msgbox(0, "", $f)
Next
;;;;;;wend
originale api guide
Declare Function GetWindowText Lib "user32" Alias "GetWindowTextA" 
(ByVal hwnd As Long,
ByVal lpString As String, ByVal cch As Long) As Long
$result = DllCall("user32.dll", "int", "GetWindowText", "hwnd", $hwnd, 
"str", "", "int", 32768)
msgbox(0, "", $result[0])   ; number of chars returned
msgbox(0, "", $result[2])   ; Text returned in param 2
;Declare Function GetDesktopWindow Lib "user32" Alias "GetDesktopWindow" 
() As Long
;$resultx = DllCall("user32.dll","long", "GetDesktopWindow","int",0)
$resultx = DllCall("user32.dll","long", "GetDesktopWindow")
;msgbox(0, "",@error)
MsgBox(262144, "", $resultx[0] )
apoguide
Declare Function GetFileSize Lib "kernel32" Alias "GetFileSize"
(ByVal hFile As Long, lpFileSizeHigh As Long) As Long
dim $lpFileSizeHigh
$lpFileName = FileOpen ( "C:\WINDOWS\TEMP\Tttt.zip", 0)
;$result = DllCall("kernel32.dll", "long", "GetFileSize", "hFile", $ii, 
"lpFileSizeHigh", 0)
;$result = DllCall("kernel32.dll", "long", "GetFileSize", "hwnd", 
$ii,"int","")
$result = DLLCall("Kernel32.dll","int","GetFileSize","str",$lpFileName )
msgbox(262144, "",@error)
msgbox(262144, "", $result)
msgbox(262144, "", $result[0])
msgbox(262144, "", $result[1])
msgbox(262144, "", $result[2])
$lpFileName = FileClose ( "C:\WINDOWS\TEMP\Nuovo AU3.au3")
#ce
-- 
Fosco

 Se la lettura annoia, fai il copiaincolla di questo:
Chiedo perdono per aver troncato la parte più interessante, praticamente un 
vademecum vero e proprio.
Ho gia' provveduto a stampare il messaggio per poterlo avere a portata di 
mano perchè credo che lo userò piuttosto spesso.
Devo essere sincero, io faccio il giardiniere e non è che abbia poi tutta 
questa gran cultura, soprattutto informaticamente parlando (da giovane ho 
avuto un vic20), però anche se in tempi biblici riesco a comprendere le tue 
spiegazioni e i tuoi listati commentati: o sto diventando un genio io (cosa 
molto improbabile) o sei un ottimo insegnante tu (cosa "molto" certa).
Ancora un mare di grazie!
Antonello 

 Fosco
Ancora tantissime grazie per il tempo e la pazienza dedicatemi.
Antonello 

 Ancora un mare di grazie!
Beh, che dire.. raramente quoto i complimenti rivoltimi ^__^
Ciao. 

 Esempio: WSHShell.SendKeys "parola" chr(34) "virgolettata" chr(34)
ciao, perchè il vbs funziona e se invece lo converto in exe (exescript
2.1.1 o ns basic/desktop 2.5)non funziona più?
qualcuno può suggerirmi un software freeware per la conversione vbs in exe?
grazie
   roccIo
-- 
questo articolo e` stato inviato via web dal servizio gratuito 
http://www.newsland.it/news
 segnala gli abusi ad 
ab...@newsland.it

 2.1.1 o ns basic/desktop 2.5)non funziona piů?
Non ne ho la piu' Pallida IdeaŽ
Anche perche' non cononsco i SW in oggetto e mi sfugge lo scopo
di convertire un VBS in EXE.
Andando a naso, direi che i SW che usi nn gesticono correttamente
le chiamate alle API. 

 le chiamate alle API.
possibile
forse però è perchè i due sw sono delle demo, per questo cercavo altro
grazie, ciao


 con iexpress
cscript.exe nomedelfile.vbs e passano tutte le paure ;)

 roccIo wrote:


sei troppo un mito, ne sai una più del diavolo
va che è un razzo
