Newsgroup: it.comp.appl.access
Titolo: chiusura processo in esecuzione

ciao a tutti, 
Avrei la necessita di chiudere un processo in esecuzione, non so per
quale motivo, ma anche se il programma ė chiuso, mi ritrovo ugualmente
il processo in esecuzione nella lista che viene visualizzata premendo i
tasti ctrl + alt + canc.
Sapreste consigliarmi una funzione semplice da studiare? Grazie


Quale processo...?
Non è che si tratta di Excel/Word o altro oggetto di Automazione...?
Se è questo, prima di procedere con il Bazooka, devi risolvere
l'errore del codice perchè
solo quello può giustificare la mancata distruzione di un'istanza...!
Spiegaci meglio....
@Alex

 solo quello può giustificare la mancata distruzione di un'istanza...!
Eh ! Bomba ! Solo quello ! Ma va la ...

 @Alex
Il processo da chiudere ė quello di foxitreader, rimane aperto dopo che
apro un file PDF ed implemento i dati dei campi presenti nel PDF tramite
l'FDF Toolkit. salvo in un altro file che mantiene i dati inseriti da
codice e chiudo il file originale. Anche se non mi vengono visualizzati
errori, il processo non mi si chiude e prima di rilanciare l'evento su
click che richiama il file PDF originale, devo chiudere il processo
altrimenti mi dice che non ho le autorizzazioni. Al momento lo faccio
manualmente tramite il ctrl + alt + canc.
Grazie


Contestualizza quello che ho detto, non rispondere tanto per dire una
pirlata...!
@Alex


Si ma ci devi spiegare come gestisci da codice FoxiTread... perchè se
non hai un PID restituito da una Shell, oppure
se non usi OLE per gestirlo... non capisco come fai... e non riesco a
darti soluzioni...!
Senza saper leggere e scrivere... potresti usare WMI per terminarlo...
però secondo me è da ricercare il motivo per il quale rimane aperto...
Dim objWMIService, objProcess, colProcess
Dim strComputer, strProcessKill
strComputer = "."
strProcessKill = "'FoxiTread.exe'"
Set objWMIService = GetObject("winmgmts:" _
& "{impersonationLevel=impersonate}!\\" _
& strComputer & "\root\cimv2")
Set colProcess = objWMIService.ExecQuery("Select * from Win32_Process
Where Name = " & strProcessKill )
For Each objProcess in colProcess
objProcess.Terminate()
Next
Distruggi gli oggetti ed esci...
@Alex


E che te voi "contestualizza' " ?
Quello non c' ha detto praticamente niente, ed in ogni caso
come contestualizzi contestualizzi, l' hai sparata grossa come
un condominio a 60 piani della Mosca Sovietica anni 60.
Hai presente ?

 Hai presente ?
Dai su... vai agiocare a moscacieca in autostrada che non è il tuo
mestiere questo...
@Alex

 Hai presente ?
Dai su... vai agiocare a moscacieca in autostrada che non č il tuo
mestiere questo...
@Alex
E soprattutto č il solito maleducato come una capra
che tristezza!
Antonio 

 Hai presente ?
Dai su... vai agiocare a moscacieca in autostrada che non è il tuo
mestiere questo...
@Alex
E soprattutto è il solito maleducato come una capra
che tristezza!
Antonio
__
Quando eravamo piccoli, c'era un antipatico nel quartiere che nessuno 
sopportava.
Giocavamo a nascondino, quando toccava a lui "star sotto", ognuno se ne 
andava a casa...
facciamo così??
MA

 MA
Bello MA... ottimo appoggio.
@Alex

 facciamo cos ??
Ma fate un po come stracazzo vi pare ... ;-)


Ma pure te non mi pari quello che si dice un genio.

?"radicale 004"  ha scritto nel messaggio 
news:037b5ceb-9243-47bb...@d23g2000prj.googlegroups.com...


__
Ovvio e non c'è smile che tenga
MA

 Ma pure te non mi pari quello che si dice un genio.
Si infatti hai ragione... io non lo sono, dico ed espongo cose
semplici che tutti quelli con un pò di basi sanno.
Se trovi un mio 3D nel quale affermo di esserlo o esplodo con
dichiarazioni entropiche relative alla scoperta dell'acqua calda ne
riparliamo...
nel frattempo benda sugli occhiali e corsetta in autostrada...!
@Alex

 però secondo me è da ricercare il motivo per il quale rimane aperto...
Ciao Alex, grazie per il tuo tempo, proverò a copiare il codice da te
scritto, comunque tanto per essere più precisi e spero di riuscirci, il
mio codice ė il seguente:
Dim FdfAcx as new fdfacxlib.fdfapp
Set MyFDf = FdfAcx.fdfcreate
MyFDf.fdfsetvalue "NOM_SOG_A", nz(me.NOM_CLI_A, ""),false
MyFDf.fdfsetfile "c:\prova.PDF"
MyFDf.fdfsavetofile "c:\prova.Fdf"
MyFDf.fdfclose
Set MyFDf= nothing
Set FdfAcx = nothing
Application.followhyperlink "c:\prova.Fdf"
L'istruzione funziona nel seguente modo e mi sembra senza complicazioni:
1) compilo i campi e apro il file Fdf generato
2) se tento di chiudere mi dice che devo salvare il file in quanto
quello aperto non può essere sovrascritto, io faccio salva per evitare
il messaggio d'errore
3) salvo il file in PDF
4) da qui se tento di eseguire nuovamente l'istruzione mi dice che non
ho le autorizzazioni e risolvo il tutto chiudendo il processo del
programma  che non si chiude anche se il programma lo ė.
Ancora grazie


Non sò se anche l'oggetto FdfAcx deve essere chiuso..., spero che
l'errore non sia dovuto al fatto che il SAVETOFILE possa andare in
conflitto di esecuzione
temporale con il Close... essendo la prima un'operazione Asincrona.
Io proverei ad inserire un DoEvents dopo il SaveToFile, questo
potrebbe dare il tempo al metodo di concludere prima del tentativo di
chiusura.
In tutti i modi il codice che ti ho suggerito è il modo più semplice
per emulare quello che fai da taskManager.
L'alternativa è usare GetObject per recuperare l'istanza dell'oggetto
[fdfacxlib.fdfapp]... da li poi devi andare a ciclare i processi e
testare l'hWnd relativo
ed usare il comando PostMessage inviando WM_CLOSE per forzarne la
chiusura SINCRONA.
Ciao
@Alex

 Ma pure te non mi pari quello che si dice un genio.
Si infatti hai ragione... io non lo sono, dico ed espongo cose
semplici che tutti quelli con un pò di basi sanno.
Se trovi un mio 3D nel quale affermo di esserlo o esplodo con
dichiarazioni entropiche relative alla scoperta dell'acqua calda ne
riparliamo...
____Risposta
E tu vuoi farci credere che nel tuo db di migliaia di ricette, cucini con 
l'acqua fredda???
dai, non posso crederci
MA

 dai, non posso crederci
Io sì.
Poi, dopo, a tempo debito, passa da Chaffoteaux a farsela scaldare, ma
quella è un'altra storia ... :D
Alex, ho qua una fornitura industriale di acido ialuronico ... te ne
porto una cassa? ;)
Popi

 Popi
Se fossi un chirurgo... estetico forse... io le mie rughe le voglio
tenere... sai come sono belle le pieghe della vecchiaia...!
@Alex

 MA
Meno male che cucina la Sig.ra.... ora il suo ricettario, che ormai ha
raggiunto un livello di complicazione da renderlo un mostro, conta ben
19600 ricette...
Se poi usa acqua fredda o acquavite... giuro che non lo so.
@Alex

 tenere... sai come sono belle le pieghe della vecchiaia...!
Naaaa non è la vecchiaia ... è l'accumulo di radicali liberi!!!
Popi

 Popi
;-) non avevo colto la sottile ironia...! Bella, allora vuota il
bidone...!
@Alex

?"@Alex"  ha scritto nel messaggio 
news:2a32678e-449b-45c0...@c10g2000vbv.googlegroups.com...


@Alex
___
Hai ragione, l'ho capita anche io solo ora
E bravo Popi
MA

 Si infatti hai ragione... io non lo sono
E allora piantala di fare il fighetto, che ne dici ?


Annusa la differenza tra chi cerca di farlo e chi invece non gli frega
nulla ma si diverte come un matto
a prendere per i fondelli i boriosi arroganti incompetenti... e più si
indispettiscono e più io mi diverto...!
Valuta bene che non è uscita una parolaccia offensiva da nessuna delle
mie risposte... questa è CLASSE... caro il mio....
Nel film con Fantozzi...proseguiva con un'aggettivo... che non
ricordo...
@Alex


Coglionazzo? Che ho vinto?
-- 
ac (x=y-1)

 ac (x=y-1)
non vale tu parti avvantaggiato... ;-)
Beh un caffè... di sicuro.
@Alex

 @Alex
Provo come mi hai detto! Grazie