Oppure

Loading
06/12/06 20:28
jamby
Ragazzi questa volta penso che sono arrivato al limite sono più di 15 giorni che mi sbatto!

Ho creato un form inserendogli un oggetto di tipo Tick, il quale mi permette di verificare se un utente ha aperto un

determinato programma.

Il codice che ho scritto nel Tick è il seguente:


'dichiaro gli oggetti a livello di classe in modo che le posso utilizzare/richiamare in altre procedure o funzioni!
Dim programmi As New ArrayList

Dim myProcesses() As Process
Dim myProcess As Process

......
.........
....
.....

Private Sub secondi_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles secondi.Tick


'inserisco nella'array programmi le applicazioni utilizzate
Dim NomeProcesso As String

myProcesses = Process.GetProcesses()

For Each myProcess In myProcesses

contaProg = 0
For contaProg = 0 To (ProgrammiTab.Count - 1)
If myProcess.ProcessName = ProgrammiTab.Item(contaProg) Then

' Contains mi permette di verificare se nell'array esiste già il nome processo stringa
If Not programmi.Contains(myProcess.ProcessName) Then
programmi.Add(myProcess.ProcessName)
End If



End If
Next

Next


End Sub



PREMETTO CHE nell''array ProgrammiTab ho dichiarato tutti i programmi che dovranno essere controllati!

...avvivo al dunque! Il programma funziona ma solo per pochi minuti perchè mi esce il seguente errore:

Eccezione non gestita nella'applicazione. Fare clic su Continua er ignorare l'errore e tentare di proseguire. Fare clic su

esci per arrestare l'applicazione immediatamente.

Impossibile enumerare i moduli di processo.

...se clicco su dettagli mi esce:

Le informazioni su come richiamare il debug JIT (Just-In-Time) anziché questa finestra
sono riportate in fondo al messaggio.

************** Testo dell'eccezione **************
System.ComponentModel.Win32Exception: Handle non valido
at System.Diagnostics.NtProcessManager.GetModuleInfos(Int32 processId)
at System.Diagnostics.ProcessManager.GetModuleInfos(Int32 processId)
at System.Diagnostics.Process.get_Modules()
at System.Diagnostics.Process.get_MainModule()
at System.Diagnostics.Process.get_ProcessName()
at InternetPoint.home.secondi_Tick(Object sender, EventArgs e) in C:\Documents and

Settings\server\Documenti\InternetPoint\InternetPointClient\home.vb:line 464
at System.Windows.Forms.Timer.OnTick(EventArgs e)
at System.Windows.Forms.Timer.DebuggableCallback(IntPtr hWnd, Int32 msg, IntPtr idEvent, IntPtr dwTime)


************** Assembly caricati **************
mscorlib
Versione assembly: 1.0.5000.0
Versione Win32: 1.1.4322.573
Base di codice: c:/windows/microsoft.net/framework/v1.1.4322/…
----------------------------------------
InternetPoint
Versione assembly: 1.0.2529.31383
Versione Win32: 1.0.2529.31383
Base di codice: C:/Documents%20and%20Settings/server/Documenti/InternetPoint/InternetPointClient/bin/

InternetPoint.exe
----------------------------------------
System.Windows.Forms
Versione assembly: 1.0.5000.0
Versione Win32: 1.1.4322.573
Base di codice: c:/windows/assembly/gac/system.windows.forms/1.0.5000.0__b77a5c561934e089/….

dll
----------------------------------------
System
Versione assembly: 1.0.5000.0
Versione Win32: 1.1.4322.573
Base di codice: c:/windows/assembly/gac/system/1.0.5000.0__b77a5c561934e089/…
----------------------------------------
System.Drawing
Versione assembly: 1.0.5000.0
Versione Win32: 1.1.4322.573
Base di codice: c:/windows/assembly/gac/system.drawing/1.0.5000.0__b03f5f7f11d50a3a/…
----------------------------------------
Microsoft.VisualBasic
Versione assembly: 7.0.5000.0
Versione Win32: 7.10.3052.4
Base di codice: c:/windows/assembly/gac/microsoft.visualbasic/7.0.5000.0__b03f5f7f11d50a3a/…

.dll
----------------------------------------
ADODB
Versione assembly: 7.0.3300.0
Versione Win32: 7.10.3077
Base di codice: c:/windows/assembly/gac/adodb/7.0.3300.0__b03f5f7f11d50a3a/…
----------------------------------------
SYSTEM.WINDOWS.FORMS.resources
Versione assembly: 1.0.5000.0
Versione Win32: 1.1.4322.573
Base di codice: c:/windows/assembly/gac/system.windows.forms.resources/1.0.5000.0_it_b77a5c561934e089/….

windows.forms.resources.dll
----------------------------------------

************** Debug JIT **************
Per attivare il debug JIT (Just-In-Time), è necessario impostare il valore
jitDebugging nella sezione system.windows.forms del file di configurazione
dell'applicazione o del computer (machine.config).
L'applicazione inoltre deve essere compilata con il debug
attivato.

Ad esempio:

<configuration>
<system.windows.forms jitDebugging="true" />
</configuration>

Quando il debug JIT è attivato, tutte le eccezioni non gestite
vengono inviate al debugger JIT registrato nel computer,
anziché essere gestite da questa finestra di dialogo.


STO IMPAZZENDO COME FACCIO A RISOLVERE QUEST'ERRORE?????
AIUTATEMI VI PREGO!!!! :-|
aaa
11/03/07 17:16
fizzu
Ciao.spero di poterti aiutare con queste istruzioni su dove e cosa modificare...
Vai in C poi in WINDOWS poi in MICROSOFT.NET

(credo anche tu l'abbia installato qui,se no
vatti a cercare MICROSOFT.NET)

poi vai in FRAMEWORK poi in v2.0.50727
poi in CONFIG.
Ora apri MACHINE.CONFIG FILE COMMENTS usando il blocco note,fai scorrere circa un quarto del documento e troverai due righe così:
<!--
<system.windows.forms
jitDebugging = "false" [true|false]
/>
-->
<system.windows.forms jitDebugging="false" />
<!--

Scrivi true al posto di false tra le virgolette e salva. FATTO P.S. non so se devono essere cambiati tutti e due i false ma credo di si. comunque al limite fai una prova...Ciao
:-|
aaa
12/03/07 9:18
Il Totem
A me sembra che il primo sia un commento, perchè è compreso tra <!-- e -->. Quindi dovrebbe essere cambiato solo il secondo.
aaa