View Full Version : [VB6]Modificare messaggio di taskmanager disabilitato
ciao a tutti ho disabilitato il task manager modificando l'opportuna chiave di registro.... però quando faccio la combinazione ctrl+alt+canc mi appare un messaggio con scritto che il task manager è stato disabilitato dall'amministratore.... il mio problema è che io voglio che al posto di questo messaggio venga visualizzata una form creata da me... e se non è possibile almeno voglio sostituire il testo del messaggio di errore... è possibile fare una cosa del genere? :)
grazie ciao :)
Ciao, la sequenza che dici non è recepita da VB, credo, perché il controllo passa a Windows, che chiama Task Manager.
Puoi però prevenire: se il progetto non usa la combinazione di Ctrl+Alt, basta scrivere il comando:
Sub Form_GotFocus()
Me.KeyPreview = True
End Sub
Poi, nell'evento Form_KeyDown, puoi gestire il codice di ritorno:
KeyCode=17 tasto Ctrl
KeyCode=18 tasto Alt
Se il progetto non prevede neppure l'utilizzo di Ctrl sarebbe più semplice, perchè il tuo form potrebbe essere mostrato nel momento in cui viene rilevato KeyCode=17
In caso contrario, occorre eseguire il test due volte perchè l'evento si ripete per ogni tasto premuto, anche se alla fine risulta una sequenza combinata.
Non so se sono stata chiara, ciao
ViolaX grazie per il suggerimento :) cmq ero già arrivato a una soluzione simile con il usando il seguente codice:
Private Sub Timer1_Timer()
On Error Resume Next
Dim obj As Object
For Each obj In GetObject("winmgmts:").ExecQuery("SELECT * FROM Win32_Process WHERE Name='taskmgr.exe'")
Form4.Show
obj.Terminate
Next
End Sub
Dopodichè quando si visualizzava il Form4 con l'api SetwindowsPos facevo si che il form4 si visualizzasse sopra qualsiasi altra finestra aperta.
Private Const HWND_TOPMOST = -1
Private Const HWND_NOTOPMOST = -2
Private Const SWP_NOSIZE = &H1
Private Const SWP_NOMOVE = &H2
Private Declare Function SetWindowPos Lib "user32" (ByVal hWnd As Long, ByVal hWndInsertAfter As Long, ByVal X As Long, y, ByVal cx As Long, ByVal cy As Long, ByVal wFlags As Long) As Long
Private Sub Form_Load()
Call SetWindowPos(hWnd, HWND_TOPMOST, 0, 0, 0, 0, SWP_NOSIZE Or SWP_NOMOVE)
' altro codice.....
end sub
cmq adesso ho un nuovo problema :D aprò un'altro theared xkè il nuovo prob nn c'entra nulla cn questo....
grazie mille ciao
vBulletin® v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.