|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Senior Member
Iscritto dal: Sep 2004
Messaggi: 3967
|
[C# 2.0]Come intercettare l'apertura di un programma ?
Buongiorno a tutti
Avrei la necessità di capire come intercettare l'apertura di un programma , per esempio excel, acrobat o notepad. Più nel dettaglio dovrei far interagire un programma di collegamento ad un client-access ibm con la suite di office. Dovrei quindi intercettare l'apertura di questo programma quando l'utente la lancia. E' possibile ? Grazie mille RaouL.
__________________
Dai wafer di silicio nasce: LoHacker... il primo biscotto Geek
|
|
|
|
|
|
#2 |
|
Junior Member
Iscritto dal: Feb 2003
Messaggi: 8
|
ciao
puoi usare il metodo statico System.Diagnostics.Process.GetProcesses() per avere la lista dei processi attivi, quindi usa la proprietà ProcessName per individuare quello che cerchi (per es: per word -> ProcessName == "WINWORD"). Ovviamente dovrai mettere la chiamata a GetProcesses in un ciclo per intercettare l'avvio del programma. Andrea. |
|
|
|
|
|
#3 |
|
Senior Member
Iscritto dal: Oct 2005
Messaggi: 3306
|
Che io sappia ci sono 4 metodi:
1)Monitorare i processi aperti 2) utilizzare HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Windows\AppInit_DLLs per caricare una DLL in tutti i processi che usano User32.dll 3)http://www.codeproject.com/kb/threads/procmon.aspx ma ci sono di mezzo i driver... 4) kernel hook... Ah ovviamente tutto in C/C++ |
|
|
|
|
|
#4 | |
|
Senior Member
Iscritto dal: Sep 2004
Messaggi: 3967
|
Quote:
@AlbertE: Ci avevo pensato anche io ma dovrei fare in modo di avere un metodo in un timer che ogni tot mi controlli se il programma è attivo. Se poi è attivo succede che dovrei metterlo in pausa (cosa che non credo sia possibile) e farlo ripartire dopo un determinato evento. Avevo qualche dubbio ma Tommo me lo ha tolto, non è cosa per me Grazie mille comunque a tutti RaouL.
__________________
Dai wafer di silicio nasce: LoHacker... il primo biscotto Geek
|
|
|
|
|
|
|
#5 |
|
Senior Member
Iscritto dal: Sep 2004
Messaggi: 3967
|
__________________
Dai wafer di silicio nasce: LoHacker... il primo biscotto Geek
|
|
|
|
|
|
#6 | |
|
Senior Member
Iscritto dal: Oct 2005
Messaggi: 3306
|
Quote:
Mettere in pausa l'applicativo credo sia praticamente impossibile (multithreading, gui: devi bloccare tutto?). Ma se devi lavorare con Office perchè non scrivere un plugin? Sicuramente hai più possibilità di riuscire a gestire il software dall'interno che non dall'esterno. [Edit] Dimenticavo che ti interessavano anche altri processi... Ultima modifica di tomminno : 01-07-2010 alle 13:50. |
|
|
|
|
|
|
#7 | |
|
Senior Member
Iscritto dal: Sep 2004
Messaggi: 3967
|
Quote:
Per gli altri processi, più che altro si tratterebbe soltanto del client-access di IBM, ma da quello che sto leggendo, credo che anche per chi sta più in alto di me in azienda come conoscenza (ma soprattutto posizione), intercettare e gestire questi tipi di eventi dal di fuori non sia una scelta progettuale proprio azzeccata. Vabbè, io più che passare il 'task' in bianco al mittente non posso proprio fare Mi incuriosisce invece il discorso dei plugins per Office. Hai da passarmi qualche tutorial di base, considerando sempre che devo muovermi in ambito (.net) 2.0 ? Grazie mille e scusa per la gaffe
__________________
Dai wafer di silicio nasce: LoHacker... il primo biscotto Geek
|
|
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 08:46.




















