Mc_Giver
Messages postés2Date d'inscriptionlundi 22 mars 2004StatutMembreDernière intervention 8 décembre 2006 8 déc. 2006 à 18:36
Salut tous, Niknikv tu as winProtector5 qui devrais peu etre faire l'affaire pour un début pour bloquer les program *.exe et bien d'autre possibilitées concernant les plages horaires tu as je crois des fonctions netbios si je ne m'abuse qui pourais te servir ça fait lomgtemps que je n'ai pas utiliser mais pour cela fo savoir si tu passe par une carte réseau pour te connecter à ton modem.
niknikv
Messages postés1Date d'inscriptiondimanche 26 mars 2006StatutMembreDernière intervention26 mars 2006 26 mars 2006 à 15:01
Bonjour à tous, je n'y connait pas grand chose en programmation.Mais rien ne m'empéche de me renseigner :)
Je vous explique mon cas: mon frère à une tendance à jouer un peu de trop sur le pc de mon père et on voudrait le limiter en jeux(il devient hargneux et on le voit peu bosser ses devoirs). Pour cela je voudrais touver un programme assez compréhensible qui puisse bloquer les jeux que je désirerais sur sa session à partir de 22heures jusqu'à 5 heures du matin et je lui redébloquerais lorsqu'il se calmera.(ce serait vache pour lui de lui interdire complétement l'accés.) De plus, ce serait bien que le programme ne fasse pas effet sur ma session, sinon tant pis, je n'ais plus trop le temps de jouer comme je suis en prépa, mais bon, qu'elles sont les fonctionnalités de se programme,et même si vous connaissez un programme du type même payant(bien sur pas trop cher :)), faites le moi savoir, merci d'avance.
ps, -il a un compte limité et moi je suis opérateur
-le programme peut-il aussi bloquer le jeu lorsqu'il est déja en exécution,c'est ce qui m'intéresse
anthony39166
Messages postés7Date d'inscriptionvendredi 24 février 2006StatutMembreDernière intervention 3 mars 2006 24 févr. 2006 à 22:43
bjr es ce que quelqu'un pourrai m'en apprendre un peu dans la prog , j'ai déja 2 ou 3 truc mé le savoir ne déborde jamais donc ...
merci a vous
Odrconcept
Messages postés51Date d'inscriptionlundi 10 janvier 2005StatutMembreDernière intervention 9 août 20071 7 janv. 2006 à 06:46
ceci est modif en 2sec
autorise à lancé un exe ou plusieur
le conteste de l'autorisation est grossié, je sais, desoler
ces lignes ne sont pas dans le zip
If Trim(LCase(Command$)) = LCase("d:\windows\system32\mstsc.exe") Then
Shell Command$
Unload Me
Exit Sub
End If
'fin autirise a lancé un exe
biensur ca marche
Odrconcept
Messages postés51Date d'inscriptionlundi 10 janvier 2005StatutMembreDernière intervention 9 août 20071 7 janv. 2006 à 06:38
Private Sub Form_Load()
'autorise a lancé un exe
If Trim(StrConv(Command$, vbProperCase)) = "C:\windows\rundll32.exe Shell32.dll,shexitwindowsex 0x9" Then
Shell Command$
Unload Me
Exit Sub
End If
If Trim(LCase(Command$)) = LCase("d:\windows\system32\mstsc.exe") Then
Shell Command$
Unload Me
Exit Sub
End If
'fin autirise a lancé un exe
e = StrConv(Command$, vbProperCase)
Form1.Caption = e
Text1.Text = "Contacté votre administrateur pour ce fichier:" & Chr(13) & Chr(10) & Chr(13) & Chr(10)
Text1.Text = Text1.Text & "( " + e + " )"
End Sub
evil_doer
Messages postés1Date d'inscriptionvendredi 17 novembre 2000StatutMembreDernière intervention 9 décembre 2005 9 déc. 2005 à 12:39
bonjour, je veut bien savoir quelles modifications je doit faire pour autoriser l'execution d'une application specifique "exemple: C:\WINDOWS\test.exe"
merci d'avance.
Alain_Guerin
Messages postés5Date d'inscriptionmardi 13 septembre 2005StatutMembreDernière intervention17 février 2006 21 nov. 2005 à 21:08
Bonjour, le mieux à mon humble avis est d'utiliser WMI pour détecter le lancement d'une tache.
L'exemple ci-dessous detectera toute nouvelle tâche, a vous ensuite de faire un kill ou pas du proess en question.
Mettre Ms WMI scripting dans les references de votre VB.
Option Explicit
Private WithEvents evt_DownTask As SWbemSink
Private WithEvents evt_UpTask As SWbemSink
Private m_objServices As SWbemServices
Private Sub Form_Load()
ChkTask
ChkDeadTask
End Sub
Private Sub ChkTask()
Dim sServeur As String
sServeur = "."
' ------------------------------------------
' Set the event sink evt_UpTask
' ------------------------------------------
Set evt_UpTask = New SWbemSink
Set m_objServices = GetObject("winmgmts:{impersonationLevel=impersonate}!\" & sServeur & "\root\cimv2")
m_objServices.ExecNotificationQueryAsync evt_UpTask, _
"select * from __instancecreationevent within 1 where TargetInstance isa 'Win32_Process'"
End Sub
Private Sub evt_UpTask_OnObjectReady(ByVal Process As WbemScripting.ISWbemObject, ByVal objWbemAsyncContext As WbemScripting.ISWbemNamedValueSet)
Dim p_objProperty As SWbemProperty
Dim p_objPropertySet As SWbemPropertySet
Dim sData As String
Set p_objPropertySet = Process.Properties_
On Error Resume Next
For Each p_objProperty In p_objPropertySet
With p_objProperty.Value.Properties_
sData = Process.GetObjectText_()
Label1.Caption = Replace(sData, Chr(10), Chr(13))
End With
Next
End Sub
Private Sub ChkDeadTask()
Dim sServeur As String
sServeur = "."
' ------------------------------------------
' Set the event sink evt_DownTask
' ------------------------------------------
Set evt_DownTask = New SWbemSink
Set m_objServices = GetObject("winmgmts:{impersonationLevel=impersonate}!\" & sServeur & "\root\cimv2")
m_objServices.ExecNotificationQueryAsync evt_DownTask, _
"select * from __instancedeletionevent within 1 where TargetInstance isa 'Win32_Process'"
End Sub
Private Sub evt_DownTask_OnObjectReady(ByVal Process As WbemScripting.ISWbemObject, ByVal objWbemAsyncContext As WbemScripting.ISWbemNamedValueSet)
Dim p_objProperty As SWbemProperty
Dim p_objPropertySet As SWbemPropertySet
Dim sData As String
Set p_objPropertySet = Process.Properties_
On Error Resume Next
For Each p_objProperty In p_objPropertySet
With p_objProperty.Value.Properties_
sData = Process.GetObjectText_()
Label1.Caption = Replace(sData, Chr(10), Chr(13))
End With
Next
End Sub
BruNews
Messages postés21040Date d'inscriptionjeudi 23 janvier 2003StatutModérateurDernière intervention21 août 2019 20 nov. 2005 à 21:49
Comme dit par draluorg, pour bloquer les progs faut intercepter les appels CreateProcess ou autre solution est un hook CBT global. Le prob c'est infaisable en vb dans les 2 cas alors...
Odrconcept
Messages postés51Date d'inscriptionlundi 10 janvier 2005StatutMembreDernière intervention 9 août 20071 20 nov. 2005 à 20:44
c'etait un debut de programme pour l'entreprise ou je travail car plusieur personne lancais des programmes tel que freeceel ou bien solitaire biensur ce code à été amelioré par mes soins, c'etait juste à titre informatif
draluorg
Messages postés625Date d'inscriptionvendredi 23 avril 2004StatutMembreDernière intervention25 novembre 2010 19 nov. 2005 à 04:06
Salut,
Eh si je ne m'abuse, ton code ne bloquera que les executables lances a partir de shellExecute (comme l'explorer par exemple) mais n'empechera en aucun cas de lancer l'executable via un CreateProcess comme le fait cmd par exemple...
Remarque tu pourrais bloquer cmd et les .bat, mais y as les .com les .vbs etc... donc tu tourne en rond car de toutes facons tu ne boquera que l'utilisateur et non un virus!
Perso je pense que le seul moyen c'est d'intercepter l'appel a CreateProcess et CreateProcessAsUser, autrement dit, en VB6 c'est pas gagne...
8 déc. 2006 à 18:37
8 déc. 2006 à 18:36
26 mars 2006 à 15:01
Je vous explique mon cas: mon frère à une tendance à jouer un peu de trop sur le pc de mon père et on voudrait le limiter en jeux(il devient hargneux et on le voit peu bosser ses devoirs). Pour cela je voudrais touver un programme assez compréhensible qui puisse bloquer les jeux que je désirerais sur sa session à partir de 22heures jusqu'à 5 heures du matin et je lui redébloquerais lorsqu'il se calmera.(ce serait vache pour lui de lui interdire complétement l'accés.) De plus, ce serait bien que le programme ne fasse pas effet sur ma session, sinon tant pis, je n'ais plus trop le temps de jouer comme je suis en prépa, mais bon, qu'elles sont les fonctionnalités de se programme,et même si vous connaissez un programme du type même payant(bien sur pas trop cher :)), faites le moi savoir, merci d'avance.
ps, -il a un compte limité et moi je suis opérateur
-le programme peut-il aussi bloquer le jeu lorsqu'il est déja en exécution,c'est ce qui m'intéresse
24 févr. 2006 à 22:43
merci a vous
7 janv. 2006 à 06:46
autorise à lancé un exe ou plusieur
le conteste de l'autorisation est grossié, je sais, desoler
ces lignes ne sont pas dans le zip
If Trim(LCase(Command$)) = LCase("d:\windows\system32\mstsc.exe") Then
Shell Command$
Unload Me
Exit Sub
End If
'fin autirise a lancé un exe
biensur ca marche
7 janv. 2006 à 06:38
'autorise a lancé un exe
If Trim(StrConv(Command$, vbProperCase)) = "C:\windows\rundll32.exe Shell32.dll,shexitwindowsex 0x9" Then
Shell Command$
Unload Me
Exit Sub
End If
If Trim(LCase(Command$)) = LCase("d:\windows\system32\mstsc.exe") Then
Shell Command$
Unload Me
Exit Sub
End If
'fin autirise a lancé un exe
e = StrConv(Command$, vbProperCase)
Form1.Caption = e
Text1.Text = "Contacté votre administrateur pour ce fichier:" & Chr(13) & Chr(10) & Chr(13) & Chr(10)
Text1.Text = Text1.Text & "( " + e + " )"
End Sub
9 déc. 2005 à 12:39
merci d'avance.
21 nov. 2005 à 21:08
L'exemple ci-dessous detectera toute nouvelle tâche, a vous ensuite de faire un kill ou pas du proess en question.
Mettre Ms WMI scripting dans les references de votre VB.
Option Explicit
Private WithEvents evt_DownTask As SWbemSink
Private WithEvents evt_UpTask As SWbemSink
Private m_objServices As SWbemServices
Private Sub Form_Load()
ChkTask
ChkDeadTask
End Sub
Private Sub ChkTask()
Dim sServeur As String
sServeur = "."
' ------------------------------------------
' Set the event sink evt_UpTask
' ------------------------------------------
Set evt_UpTask = New SWbemSink
Set m_objServices = GetObject("winmgmts:{impersonationLevel=impersonate}!\" & sServeur & "\root\cimv2")
m_objServices.ExecNotificationQueryAsync evt_UpTask, _
"select * from __instancecreationevent within 1 where TargetInstance isa 'Win32_Process'"
End Sub
Private Sub evt_UpTask_OnObjectReady(ByVal Process As WbemScripting.ISWbemObject, ByVal objWbemAsyncContext As WbemScripting.ISWbemNamedValueSet)
Dim p_objProperty As SWbemProperty
Dim p_objPropertySet As SWbemPropertySet
Dim sData As String
Set p_objPropertySet = Process.Properties_
On Error Resume Next
For Each p_objProperty In p_objPropertySet
With p_objProperty.Value.Properties_
sData = Process.GetObjectText_()
Label1.Caption = Replace(sData, Chr(10), Chr(13))
End With
Next
End Sub
Private Sub ChkDeadTask()
Dim sServeur As String
sServeur = "."
' ------------------------------------------
' Set the event sink evt_DownTask
' ------------------------------------------
Set evt_DownTask = New SWbemSink
Set m_objServices = GetObject("winmgmts:{impersonationLevel=impersonate}!\" & sServeur & "\root\cimv2")
m_objServices.ExecNotificationQueryAsync evt_DownTask, _
"select * from __instancedeletionevent within 1 where TargetInstance isa 'Win32_Process'"
End Sub
Private Sub evt_DownTask_OnObjectReady(ByVal Process As WbemScripting.ISWbemObject, ByVal objWbemAsyncContext As WbemScripting.ISWbemNamedValueSet)
Dim p_objProperty As SWbemProperty
Dim p_objPropertySet As SWbemPropertySet
Dim sData As String
Set p_objPropertySet = Process.Properties_
On Error Resume Next
For Each p_objProperty In p_objPropertySet
With p_objProperty.Value.Properties_
sData = Process.GetObjectText_()
Label1.Caption = Replace(sData, Chr(10), Chr(13))
End With
Next
End Sub
20 nov. 2005 à 21:49
20 nov. 2005 à 20:44
19 nov. 2005 à 04:06
Eh si je ne m'abuse, ton code ne bloquera que les executables lances a partir de shellExecute (comme l'explorer par exemple) mais n'empechera en aucun cas de lancer l'executable via un CreateProcess comme le fait cmd par exemple...
Remarque tu pourrais bloquer cmd et les .bat, mais y as les .com les .vbs etc... donc tu tourne en rond car de toutes facons tu ne boquera que l'utilisateur et non un virus!
Perso je pense que le seul moyen c'est d'intercepter l'appel a CreateProcess et CreateProcessAsUser, autrement dit, en VB6 c'est pas gagne...
++