Home Page
Articoli
Tips & Tricks
News
Forum
Archivio Forum
Blogs
Sondaggi
Rss
Video
Utenti
Chi Siamo
Contattaci
Username:
Password:
Login
Registrati ora!
Recupera Password
Home Page
Stanze Forum
ASP.NET 1.0/1.1
Problemi di processi
lunedì 12 luglio 2004 - 15.00
Elenco Threads
Stanze Forum
Aggiungi ai Preferiti
Cerca nel forum
Klaus-zanini
Profilo
| Senior Member
364
messaggi | Data Invio:
lun 12 lug 2004 - 15:00
Ciao, ho un problemino
lancio il processo (file word)
Dim myProcess As Process = System.Diagnostics.Process.Start(sNomeFile)
creo un array di processi in questo modo
Dim proc, mine, procs() As System.Diagnostics.Process
procs = Process.GetProcessesByName("winword")
definisco il mio processo come il primo in array
mine=procs(0)
ciclo i processi all'interno dell'array e se il processo che sto esaminando ha uno starttime maggiore del mine allora rivalorizzo mine sul nuovo processo
For Each proc In procs
'il processo con orario di partenza maggiore è quello che ha richiamato
'la mia funzione e pertanto quello che definirò mine
If proc.StartTime > mine.StartTime Then
mine = proc
End If
Next
alla fine vado di waitforexit
mine.waitforexit()
Ora ho due problemini:
1. Sono un utente non amministratore. Mi si blocca al momento della creazione dell'array di processi perchè non ho le autorizzazioni necessarie per accedere ai processi di macchina. Hai idea di quali siano queste policy, ho provato anche come power user ma niente.
2. Sono un amministratore, passa il recupero dei processi ma poi mi si blocca con lo stesso problema sul waitforexit. (non hai le autorizzazioni necessarie per accedere ai processi di macchina... Accesso negato.... ma non sono amministratore??!!)
Brainkiller
Profilo
| Guru
7.999
messaggi | Data Invio:
lun 12 lug 2004 - 23:21
Ciao Klaus,
allora fermiamoci un attimo.
Che cosa vorresti ottenere da questo codice, cosa vuoi effettivamente fare ? Almeno capisco e ti consiglio meglio.
ciao
david
Klaus-zanini
Profilo
| Senior Member
364
messaggi | Data Invio:
mar 13 lug 2004 - 08:43
Lo scopo è il seguente:
lancio un'applicazione word e voglio recuperarne il processo per ucciderlo dopo un tempo prestabilito. Il problema è che con office 2003 anche se aprò 3 finestre word appare un solo processo: è possibile differenziarli?
Brainkiller
Profilo
| Guru
7.999
messaggi | Data Invio:
mar 13 lug 2004 - 22:50
Non so se è possibile differenziarli.
Credo che tu possa fare in due modi.
O usi i PIAs e quindi puoi pilotare Word.
Oppure vai di interoperabilità, e usi la funzione FindWindow per trovare tutte le finestre che sono aperte nel PC, rilevare quella che vuoi chiudere, e mandare un messaggio con la SendMessage del tipo WM_QUIT.
E' una soluzione che non ho mai provato però potrebbe funzionare bene.
ciao
david
Klaus-zanini
Profilo
| Senior Member
364
messaggi | Data Invio:
gio 15 lug 2004 - 09:11
gentilmente potresti farmi un esempio dell'uso di Findwindow?
Brainkiller
Profilo
| Guru
7.999
messaggi | Data Invio:
gio 15 lug 2004 - 14:10
Non è per niente semplice.
Per fare queste cose si presume tu conosca molto bene l'architettura di Windows e come funzionano le applicazioni e i messaggi che lanciano i controlli/finestre e una buona base di C++ e Win32API.
In questo momento se dovessi realizzarti un esempio di quello di cui hai bisogno ci metterei almeno una mezz'oretta anche perchè c'è uno strato aggiuntivo per collegarti a .NET.
In C++ è un po' più semplice.
ciao
david
Torna su
Stanze Forum
Elenco Threads
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?
Dopo esserti registrato potrai chiedere
aiuto sul nostro
Forum
oppure aiutare gli altri
Consulta le
Stanze
disponibili.
Registrati ora !