Introduction
This was my latest project in VB.NET. This article describes how to make an application for parental control, which has a feature to stop and kill browser applications like
Mozilla, Chrome, Internet Explorer, Flock etc when user navigates to sites with sexual content. Basically this software will detect strings in active windows so if
the caption of the main windows of the process contains adult content it will automatically kill process all browser applications. Not only that when
the user executes some application that the caption of main window contains adult content it will give
an annoying warning message.
Declare Function
First, we declare a function like below:
Private Declare Function GetForegroundWindow Lib "user32.dll" () As IntPtr
Private Declare Function GetWindowThreadProcessId Lib _
"user32.dll" (ByVal hwnd As IntPtr, ByRef lpdwProcessID As Integer) As Integer
Private Declare Function GetWindowText Lib "user32.dll" Alias _
"GetWindowTextA" (ByVal hWnd As IntPtr, _
ByVal WinTitle As String, ByVal MaxLength As Integer) As Integer
Private Declare Function GetWindowTextLength Lib "user32.dll" Alias _
"GetWindowTextLengthA" (ByVal hwnd As IntPtr) As Integer
Add this code to the tick event, and it will make textbox3.text
contain
the caption of the main windows of the process.
Private Sub Timer1_Tick(ByVal sender As System.Object, _
ByVal e As System.EventArgs) Handles Timer1.Tick
Try
Dim hWnd As IntPtr = GetForegroundWindow()
If hWnd = IntPtr.Zero Then Exit Sub
Dim TitleLength As Integer
TitleLength = GetWindowTextLength(hWnd)
Dim WindowTitle As String = StrDup(TitleLength + 1, "*")
GetWindowText(hWnd, WindowTitle, TitleLength + 1)
Dim pid As Integer = 0
GetWindowThreadProcessId(hWnd, pid)
If pid = 0 Then Exit Sub
Dim proc As Process = Process.GetProcessById(pid)
If proc Is Nothing Then Exit Sub
TextBox3.Text = proc.MainWindowTitle
RepoveDuplicate()
Catch
End Try
End Sub
Then add this code to textbox3
in the TextChanged
event.
When textbox3
contains a sensitive string it will execute the killer
method.
Private Sub TextBox3_TextChanged(ByVal sender As System.Object, _
ByVal e As System.EventArgs) Handles TextBox3.TextChanged
ListBox1.Items.Add(TextBox3.Text)
If TextBox3.Text.Contains("sex") Then
MessageBox.Show("Please do not open sexual site content!", _
"Anti Porno Detector", MessageBoxButtons.OK, MessageBoxIcon.Information)
killer()
ElseIf TextBox3.Text.Contains("hardsextube") Then
MessageBox.Show("Please do not open sexual site content!", _
"Anti Porno Detector", MessageBoxButtons.OK, MessageBoxIcon.Information)
killer()
ElseIf TextBox3.Text.Contains("tube8") Then
MessageBox.Show("Please do not open sexual site content!", _
"Anti Porno Detector", MessageBoxButtons.OK, MessageBoxIcon.Information)
killer()
You can see more code in the zip files. And the below code is the code for
the killer method.
Public Function killprocess(ByVal processname As String)
Dim proc() As Process = Process.GetProcesses
For i As Integer = 0 To proc.GetUpperBound(0)
If proc(i).ProcessName = processname Then
proc(i).Kill()
End If
Next
End Function
Public Sub killer()
killprocess("firefox")
killprocess("chrome")
killprocess("iexplore")
killprocess("opera")
killprocess("safari")
killprocess("flock")
End Sub
You can see more in the zip and improve this software with added features. Hopefully it will benefit all.