Newsgroup: it.comp.os.win.win9x
Titolo: chiudere programma da dos

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?
-- 

 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

 ; 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... :( 

 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

 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

 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!! 

 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

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 :(( 

..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'?

 quell'eseguibile nel comando:
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

 [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)


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 :)) 

 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

 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

 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.