Discussione:
chiudere programma da dos
(troppo vecchio per rispondere)
blink_ing
2007-12-12 19:23:32 UTC
Permalink
ciao..
ho provato a cercare con google ma non sono riuscito a trovare nulla :((
come si può chiudere un programma in esecuzione nel task manager di windows
me tramite ms-dos?
ho un programma che mi blocca lo spegnimento di win me e pensavo di fare un
bel .bat che cliccandoci chiudesse quel programma e spegnesse il windows.
Per lo spegnimento se non sbaglio se ne occupa lo shutdown.exe ma per
chiudere il programma come faccio? :(
ah..e come trovo il nome del programma?
cioè so qual'è..ma non che nome gli da windows quando lo lancia.
Il programma è il software per un adattatore usb wireless zyxel, so qual'è
il percorso del file ma non so come chiuderlo da dos :(
mi aiutate?
--
Fosco
2007-12-12 19:40:24 UTC
Permalink
"blink_ing"
Post by blink_ing
ho provato a cercare con google ma non sono riuscito a trovare nulla :((
come si può chiudere un programma in esecuzione nel task manager di windows
me tramite ms-dos?
ho un programma che mi blocca lo spegnimento di win me e pensavo di fare un
bel .bat che cliccandoci chiudesse quel programma e spegnesse il windows.
Per lo spegnimento se non sbaglio se ne occupa lo shutdown.exe ma per
chiudere il programma come faccio? :(
ah..e come trovo il nome del programma?
cioè so qual'è..ma non che nome gli da windows quando lo lancia.
Il programma è il software per un adattatore usb wireless zyxel, so qual'è
il percorso del file ma non so come chiuderlo da dos :(
mi aiutate?
Io lo faccio con autoit
http://www.autoitscript.com/autoit3/

; cit. esempio

RunWait("C:\Programmi\CCleaner\ccleaner.exe /AUTO")
sleep(100)
ProcessClose("Avgcc.exe")
sleep(1000)
Run ("C:\WINDOWS\RUNDLL32.EXE shell32,SHExitWindowsEx 1")


; come vedi basta il programma.estensione per esempio

ProcessClose("Notepad.exe")

--
Fosco
blink_ing
2007-12-12 20:28:39 UTC
Permalink
ciao
Post by Fosco
Io lo faccio con autoit
http://www.autoitscript.com/autoit3/
; cit. esempio
be sembra molto interessante quel programma ma io di programmazione non ne
capisco assolutamente nulla...ho provato a scaricare il programma e a
leggere il manuale..arabo :((
per questo pensavo ad un batch ..semplicissimo ed efficace...dimmi che c'è
qualche alternativa a questo programma... :(
Fosco
2007-12-13 03:52:23 UTC
Permalink
"blink_ing"
Post by blink_ing
be sembra molto interessante quel programma ma io di programmazione non ne
capisco assolutamente nulla...ho provato a scaricare il programma e a
leggere il manuale..arabo :((
per questo pensavo ad un batch ..semplicissimo ed efficace...dimmi che c'è
qualche alternativa a questo programma... :(
scolta e' piu semplice del batch dos

diciamo che devi chiudere Firefox prima di spegnere il pc
basta una riga di codice che salvi alla stessa maniera di come faresti
con un bat ma con estensione *.au3


ProcessClose("firefox.exe")


; esempio piu completo

Run("C:\Programmi\Mozilla Firefox\firefox.exe")
sleep(500)
AutoItSetOption("WinTitleMatchMode", 2)
WinWaitActive( "- Mozilla Firefox", "", 5 )

$a =WinGetState ( "- Mozilla Firefox" )
MsgBox(262144, "", $a)

ProcessClose("firefox.exe")
sleep(2500)
$a =WinGetState ( "- Mozilla Firefox" )
MsgBox(262144, "", $a)

;Copia incolla su notepad e salva con estensione .au3
;tutti i file (*.*) poi ci clicchi sopra. (per esempio Test.au3)
;se ti da' errore disattiva l'antivirus

http://www.elvisciotti.it/blog/archives/7


--
Fosco
Fosco
2007-12-13 03:56:04 UTC
Permalink
"blink_ing"
Post by blink_ing
dimmi che c'è
qualche alternativa a questo programma... :(
a memoria solo il WMI che di default NON e' installato sui 98
ed e' un casino piu complicato del' autoit

cosa ci vedi di complicato in una riga di codice ?

ProcessClose("Programma_chedevi_chiudere.ext")


cit.

ProcessClose
--------------------------------------------------------------------------------
Terminates a named process.

ProcessClose ( "process" )

Parameters

process The title or PID of the process to terminate.

Return Value

None. (Returns 1 regardless of success/failure.)

Remarks

Process names are executables without the full path, e.g., "notepad.exe" or "winword.exe"

If multiple processes have the same name, the one with the highest PID is terminated--regardless of how recently the
process was spawned.

PID is the unique number which identifies a Process. A PID can be obtained through the ProcessExists or Run commands.

In order to work under Windows NT 4.0, ProcessClose requires the file PSAPI.DLL (included in the AutoIt installation
directory).

The process is polled approximately every 250 milliseconds.

Related

ProcessExists, ProcessWait, ProcessWaitClose, Run, WinClose

Example


ProcessClose("notepad.exe")

$PID = ProcessExists("notepad.exe") ; Will return the PID or 0 if the process isn't found.
If $PID Then ProcessClose($PID)

--
Fosco
blink_ing
2007-12-13 13:04:15 UTC
Permalink
ciao Fosco
Post by Fosco
cosa ci vedi di complicato in una riga di codice ?
ProcessClose("Programma_chedevi_chiudere.ext")
c'è che una stringa va bene la posso pure copaire ed incolalre e gli cambio
il nome del "programmadachiudere" ma nell'altro post...non c'ho capito na
mazza di tutti quei comandi :((
cmq..stasera vedo se riesco a provare qualcosa e ti faccio sapere...
ma una guida per newbie non c'è? :D
cmq grazie ancora!!
Fosco
2007-12-13 19:14:11 UTC
Permalink
"blink_ing"
Post by blink_ing
c'è che una stringa va bene la posso pure copaire ed incolalre e gli cambio
il nome del "programmadachiudere" ma nell'altro post...non c'ho capito na
mazza di tutti quei comandi :((
cmq..stasera vedo se riesco a provare qualcosa e ti faccio sapere...
ma una guida per newbie non c'è? :D
No ... tutto inglese comunque , ma domanda pure che una mano
te la do io in caso

http://www.autoitscript.com/forum/index.php

http://www.nntp.it/newsgroups-comp/42152-consigliatemi-linguaggio-di-programmazione.html


--
Fosco
blink_ing
2007-12-13 20:18:32 UTC
Permalink
o cavolo!!
ho provato con xp...apro notepad e credo uno "script" (è uno script?) per
chiuderlo..copiando e incollando ciò che mi avevi scritto...funziona :)))))
ora non mi resterà che provarlo sul millenium...il dubbio che ho è che su xp
tramite task manager leggo il nome esatto dell'applicazione..mentre sui win
9x indica il nome per esteso (esempio il programma sol.exe lo leggerei come
"solitario per windows") devo forse indicargli il percorso di dov'è
quell'eseguibile nel comando:
ProcessClose("Programma_chedevi_chiudere.ext") ?
cmq grazie..magnifica st'applicazione..e rosico ancor di più di non saper
programmare :((
Roberto Montaruli
2007-12-13 21:54:09 UTC
Permalink
..e rosico ancor di più di non saper programmare :((
Andiamo, programmare e' la cosa piu' stupida che ci sia.
Tu scrivi un comando e il computer lo esegue.
Dove sta la difficolta'?
Fosco
2007-12-14 04:22:32 UTC
Permalink
"blink_ing"
Post by blink_ing
ho provato con xp...apro notepad e credo uno "script" (è uno script?) per
chiuderlo..copiando e incollando ciò che mi avevi scritto...funziona :)))))
ora non mi resterà che provarlo sul millenium...il dubbio che ho è che su xp
tramite task manager leggo il nome esatto dell'applicazione..mentre sui win
9x indica il nome per esteso (esempio il programma sol.exe lo leggerei come
"solitario per windows") devo forse indicargli il percorso di dov'è
NO devi indicargli solo programma+estensione facciamo conto
che tu voglia terminare una sessione di Internet Explorer

ProcessClose("Iexplore.exe")

[1] piu sotto ti metto uno script per vedere tutti i processi attivi
ti ho fatto anche una speciale funzione che ti mette il processo
selezionato nella clipboard quando vedi quello che ti interessa
ckicca OK apri notepad e click destro incolla o Control+V
quello e' quello che poi metterai qui per chiudere il processo
diciamo che ci siamo fermati su Outlook Express (MSIMN.EXE)
per fare uno script che lo chiuda basta :

ProcessClose("MSIMN.EXE")

; ti faccio un esempio completo di lancio e chiusura di IE (copialo sempre su notepad)
; Serve solo come esempio per farti capire in soldoni basta la riga piu su per
;l'uso che ne vuoi fare tu

Run ("C:\Programmi\Internet Explorer\IEXPLORE.EXE www.google.it")

AutoItSetOption("WinTitleMatchMode", 2)
WinWaitActive("- Microsoft Internet Explorer")

Sleep("2000")

If ProcessExists("Iexplore.exe") Then
MsgBox(0, "", "Iexplore.exe is running.")
EndIf
MsgBox(262144, "", "chiudo IE")

ProcessClose("Iexplore.exe")


; [1]
;//////////////////////////////////////

; List all processes
$list = ProcessList()
for $i = 1 to $list[0][0]
msgbox(0, $list[$i][0], $list[$i][1])
ClipPut($list[$i][0])
next

; List just notepad.exe processes
$list = ProcessList("notepad.exe")
for $i = 1 to $list[0][0]
msgbox(0, $list[$i][0], $list[$i][1])
next


;Copia incolla su notepad e salva con estensione .au3
;tutti i file (*.*) poi ci clicchi sopra. (per esempio Get_Processes.au3)
;se ti da' errore disattiva l'antivirus

--
Fosco
Fosco
2007-12-14 04:37:21 UTC
Permalink
Post by Fosco
"blink_ing"
[1] piu sotto ti metto uno script per vedere tutti i processi attivi
FileMove (@TempDir&"\process.txt",@TempDir&"\x.txt",1)

$file = FileOpen(@TempDir & "\process.txt", 2)
If $file = -1 Then
MsgBox(0, "Error", "Unable to open file.")
Exit
EndIf

$list = ProcessList()
for $i = 1 to $list[0][0]
; msgbox(0, $list[$i][0], $list[$i][1])
ClipPut($list[$i][0])
FileWrite($file, $list[$i][0] & @CRLF)
next
FileClose($file)

Run("notepad.exe " & @TempDir & "\process.txt")


;Copia incolla su notepad e salva con estensione .au3
;tutti i file (*.*) poi ci clicchi sopra. (per esempio Test.au3)
;se ti da' errore disattiva l'antivirus

--
Fosco
El Dorado
2007-12-14 09:44:47 UTC
Permalink
Post by Fosco
Post by Fosco
"blink_ing"
[1] piu sotto ti metto uno script per vedere tutti i processi attivi
If $file = -1 Then
MsgBox(0, "Error", "Unable to open file.")
Exit
EndIf
$list = ProcessList()
for $i = 1 to $list[0][0]
; msgbox(0, $list[$i][0], $list[$i][1])
ClipPut($list[$i][0])
next
FileClose($file)
;Copia incolla su notepad e salva con estensione .au3
;tutti i file (*.*) poi ci clicchi sopra. (per esempio Test.au3)
;se ti da' errore disattiva l'antivirus
ahi.. gli complichi la vita ; Lol z

$list = ProcessList()
for $i = 1 to $list[0][0]
ClipPut($list[$i][0])
if $list[$i][0]="Tuo_programma.exe" Then ProcessClose($list[$i][0]) ;se lo trova aperto lo chiude
next
Exit

ciao ;)
--
___________________________________________
(____ |
(____ |_ Dorado .:. http://snipurl.com/1um11
blink_ing
2007-12-14 13:09:13 UTC
Permalink
ahhhhhhhhhhhhhhhh
sieite matti voi!
ma che state scrivendo??? :)))))))))
ok cmi ci vorraà tutta la nottata per capire che cosa devo fare :)
mi riallaccio anche a roberto montaruli.,..il idfficile:
1) per me che non mi piace copiare e incollare soltanto è capire quello che
sto facendo
2) per programmare devi sapre COSA scrivere per fargli fare ciò che vuoi :)
3) per programmare devi sapere DOVE e COME scrivere ciò che vuoi che il pc
faccia

e già qui le difficoltà sono enormi :)))
cmq....stasera provo a leggere un po' e decifrare :))
Fosco
2007-12-14 14:48:57 UTC
Permalink
"blink_ing"
Post by blink_ing
ahhhhhhhhhhhhhhhh
sieite matti voi!
ma che state scrivendo??? :)))))))))
ok cmi ci vorraà tutta la nottata per capire che cosa devo fare :)
Tu spiega esattamente cosa vuoi ottenere , poi io o eldorado lo facciamo
se poi vuoi imparare di piu lo fai piu avanti



--
Fosco
Roberto Montaruli
2007-12-15 18:10:41 UTC
Permalink
Post by blink_ing
1) per me che non mi piace copiare e incollare soltanto è capire quello che
sto facendo
Infatti, nessuno ti dice di fare copia/incolla: siamo ben contenti che
tu capisca quello che fai.
Post by blink_ing
2) per programmare devi sapre COSA scrivere per fargli fare ciò che vuoi :)
No. Programmare significa semplicemente sapere che cosa vuoi fare.
Il come scriverlo dipende dal linguaggio.
Non confondere mai il linguaggio con la programmazione.
Il linguaggio e' uno strumento.
Post by blink_ing
3) per programmare devi sapere DOVE e COME scrivere ciò che vuoi che il pc
faccia
Per programmare devi sapere che cosa vuoi che il pc faccia.
Lo scrivere dipende dal linguaggio.
La stessa cosa si scrive in modi diversi con linguaggi diversi, ma la
sostanza e' la stessa.

quando vuoi copiare un file scrivi
COPY PIPPO.TXT PLUTO.TXT
se stai usando l'interprete di comandi DOS.

Invece se stai usando un linguaggio diverso scriverai qualcosa di
diverso, per esempio:

Copy("pippo.txt", "pluto.txt");

oppure

source := 'pippo.txt';
dest := 'pluto.txt';
CopyFile(source, dest);

Quello che conta e' il che cosa vuoi fare, poi il come lo si scrive te
lo dice il manuale del linguaggio che stai usando.

Programmare vuol dire spezzare un grosso problema in tanti piccoli
problemi e affrontarli uno alla volta.
Piu' sono piccoli, piu' esistono delle procedure gia' pronte per poterli
risolvere.
Post by blink_ing
e già qui le difficoltà sono enormi :)))
Nessuna difficolta': semplicemente non hai mai affrontato la cosa e
nessuno ti ha mai detto come si fanno le cose semplici.

Fosco
2007-12-14 14:46:07 UTC
Permalink
"El Dorado"
Post by El Dorado
ahi.. gli complichi la vita ; Lol z
$list = ProcessList()
for $i = 1 to $list[0][0]
ClipPut($list[$i][0])
if $list[$i][0]="Tuo_programma.exe" Then ProcessClose($list[$i][0]) ;se lo trova aperto lo chiude
next
Exit
Quotabilez ... bel lavoretto :-)

facciamogli un'esempio pratico va . :


Run("notepad.exe")

sleep(2000)

$list = ProcessList()
for $i = 1 to $list[0][0]
ClipPut($list[$i][0])
if $list[$i][0]="notepad.exe" Then
ProcessClose($list[$i][0]) ;se lo trova aperto lo chiude
MsgBox(262144, "", "Ho chiuso " & $list[$i][0])
endif
next
Exit


--
Fosco
Loading...