Verroupc (logiciel pour bloquer et débloquer certaines fonctions de windows)

Description

Code permettant le verrouillage de certaines fonctions de windows (via le registre). Des mise à jour sont à faire, les commentaires, propositions, suggestions et les critiques sont les bienvenue.
("Seul celui qui connait ces erreurs progresse" Galactus13)
Je reconnais que je n'ai rien inventé dans ce source.

Source / Exemple :


'Il y a ici uniquement le module pour le reste voir dans le zip

Option Explicit

'>>>>>>>>>>>>>>>>>>>>>>>>>
'Déclaration des variables
'<<<<<<<<<<<<<<<<<<<<<<<<<

Public HeureDebut As Integer
Public HeureFin As Integer
Public MinutesDebut As Integer
Public MinutesFin As Integer

'>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
'Crée l'objet WindowsScriptingHost
'<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<

Public WshShell As Object

Public Cle_commune As String
Public Sub GenererRapport(RichTextBox As RichTextBox, _
                          Arreter As Boolean, _
                          Executer As Boolean, _
                          MnuContext As Boolean, _
                          Recherche As Boolean, _
                          Bureau As Boolean, _
                          Gestionnaire As Boolean)

'>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
'Module generant le Rapport de Verrouillage
'<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<

'Open App.Path & "\rapport.Log" For input As #1

RichTextBox.Text = "Rapport de verrouillage generé par VerrouPC" & vbCrLf & _
    vbNullChar & vbCrLf & _
    "Fonctions bloquées :" & vbCrLf & _
    "Faux = Fonction active" & vbCrLf & _
    "vrai = Fonction verrouillée" & vbCrLf & _
    vbNullChar & vbCrLf & _
    "Bouton arrêter = " & Arreter & vbCrLf & _
    "Executer = " & Executer & vbCrLf & _
    "Menu Contextuel = " & MnuContext & vbCrLf & _
    "Recherche = " & Recherche & vbCrLf & _
    "Bureau (si ça marche !)= " & Bureau & vbCrLf & _
    "Gestionnaire de Tâches = " & Gestionnaire

End Sub

Public Sub NoArreter(Actif As Boolean)

'>>>>>>>>>>>>>>>>>>>>>>>>>>>
'Désactive le bouton arrêter
'<<<<<<<<<<<<<<<<<<<<<<<<<<<

If Actif = True Then

    WshShell.regwrite Cle_commune & "\Noclose", 1, "REG_DWORD"
    
    Else
    
    WshShell.regwrite Cle_commune & "\Noclose", 0, "REG_DWORD"
        
    End If
    
End Sub

Public Function KillProcess(ByVal NomProcessus As String) As Boolean
    
'>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
'Kill le Processus en connaissant le nom de l'exe
'<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
    
    Dim svc As Object
    Dim sQuery As String
    Dim oproc
    
    Set svc = GetObject("winmgmts:root\cimv2")
    
    sQuery = "select * from win32_process where name='" & NomProcessus & "'"
    
    For Each oproc In svc.execquery(sQuery)
        
        oproc.Terminate
    Next
    Set svc = Nothing

End Function

Public Sub NoBureau(Actif As Boolean)

'>>>>>>>>>>>>>>>>>>>
'Désactive le bureau
'<<<<<<<<<<<<<<<<<<<

If Actif = True Then

    WshShell.regwrite Cle_commune & "\NoDekstop", 1, "REG_DWORD"
    
    Else
    
    WshShell.regwrite Cle_commune & "\NoDekstop", 0, "REG_DWORD"
    
    End If

End Sub

Public Sub NoGestionnaire(Actif As Boolean)

'>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
'Désactive le gestionnaire de tâches
'<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<

If Actif = True Then

WshShell.regwrite "HKCU\Software\Microsoft\Windows\CurrentVersion\Policies\System\DisableTaskMgr", 1, "REG_DWORD"

Else

WshShell.regdelete "HKCU\Software\Microsoft\Windows\CurrentVersion\Policies\System\DisableTaskMgr"

End If

End Sub

Public Sub NoMnuContext(Actif As Boolean)

'>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
'Désactive les menu clic droit
'<<<<<<<<<<<<<<<<<<<<<<<<<<<<<

If Actif = True Then

    WshShell.regwrite Cle_commune & "\NoViewContextMenu", 1, "REG_DWORD"
    
    Else
    
    WshShell.regwrite Cle_commune & "\NoViewContextMenu", 0, "REG_DWORD"
    
    End If

End Sub

Public Sub NoRecherche(Actif As Boolean)

'>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
'Désactive la fonction Recherche
'<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<

If Actif = True Then

    WshShell.regwrite Cle_commune & "\NoFind", 1, "REG_DWORD"
    
    Else
    
    WshShell.regwrite Cle_commune & "\NoFind", 0, "REG_DWORD"
    
    End If

End Sub

Public Sub NoRun(Actif As Boolean)

'>>>>>>>>>>>>>>>>>>>>>>>>>>>
'Sub désactivant le Executer
'<<<<<<<<<<<<<<<<<<<<<<<<<<<

If Actif = True Then

    WshShell.regwrite Cle_commune & "\NoRun", 1, "REG_DWORD"
    
    Else
    
    WshShell.regwrite Cle_commune & "\NoRun", 0, "REG_DWORD"
    
    End If
    
End Sub

Conclusion :


A vous de me le dire !

Codes Sources

A voir également

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.