Click to See Complete Forum and Search --> : How to lock up application


Hjagar
September 13th, 2001, 05:49 PM
Hi, I'm a newie programer in Visual Basic. I need a my application are lock up when past any time like 20', How to I'll for this.
Thank in advance, and sorry but my english is no good.

Hjagar

niveditasun
September 13th, 2001, 11:57 PM
Hello,
Paste this on a vb form with a timer and textbox control.Give your program name as value of text1.text.Set the timer to the required interval and run the program (or execute the program when u need it to run).

Nived

Private Declare Function GetForegroundWindow Lib "user32" _
() As Long

Private Declare Function SetWindowPos Lib "user32" (ByVal _
hwnd As Long, ByVal hWndInsertAfter As Long, ByVal x _
As Long, ByVal y As Long, ByVal cx As Long, ByVal cy _
As Long, ByVal wFlags As Long) As Long

Private Declare Function GetWindowText Lib "user32" Alias _
"GetWindowTextA" (ByVal hwnd As Long, ByVal lpString As String, _
ByVal cch As Long) As Long

Private Declare Function FindWindow Lib "user32" Alias _
"FindWindowA" (ByVal lpClassName As String, ByVal _
lpWindowName As String) As Long

Private Declare Function PostMessage Lib "user32" Alias _
"PostMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, _
ByVal wParam As Long, ByVal lParam As Long) As Long

Private Const WM_CLOSE = &H10

Private Sub Timer1_Timer()
Dim lWindowHWnd As Long
Dim sBuffer As String
Dim a
sBuffer = Space(255)
lWindowHWnd = GetForegroundWindow()
GetWindowText lWindowHWnd, sBuffer, Len(sBuffer)
a = Trim(sBuffer)
Text1.Text = a
'change the following line as per your requirments
If Text1.Text = "Program Name" Then
SetWindowPos Me.hwnd, -1, Me.CurrentX, Me.CurrentY, 483, 441, &H40
Me.Top = (Screen.Height - Me.Height) / 2
Me.Left = (Screen.Width - Me.Width) / 2
Form1.Visible = True
Timer2.Enabled = True
Dim closeall As Long
closeall = FindWindow(vbNullString, Text1.Text)
PostMessage closeall, WM_CLOSE, CLng(0), CLng(0)
End If
End Sub

Private Sub Timer2_Timer()
SetWindowPos Me.hwnd, 1, Me.CurrentX, Me.CurrentY, 480, 450, &H40
Form1.Visible = False
End Sub