Hi All,
Here is my requirement: I have a virtual Windows server 2008 R2 environment, where I don't have much rights. I need to monitor some stuff in there, but since screen saver is enabled in the environment, the screen locks itself after few minutes. I did a bit of research and came up with this dummy program, which "simulates" some events, so that the environment thinks something is going on there, so it doesn't locks. But I've been thinking, there should be a better way. If anyone knows, please leave it in the comments section.
[I will open up the windows notepad and would type in the following in the window title text box: Untitiled - Notepad]
Imports System.Runtime.InteropServices
Imports System.Threading
Public Class frmSendString
Private Shared Function FindWindow(ByVal lpClassName As String, ByVal lpWindowName As String) As IntPtr
End Function
Private Shared Function SendMessage(ByVal hWnd As HandleRef, ByVal Msg As UInteger, ByVal wParam As IntPtr, ByVal lParam As IntPtr) As IntPtr
End Function
Declare Auto Function SetForegroundWindow Lib "USER32.DLL" _
(ByVal hWnd As IntPtr) As Boolean
Dim myThread As New Thread(AddressOf ThreadProcessor_Dinesh)
Private Sub cmdSend_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmdSend.Click
Try
' Activate an application window.
'If hwndNotepad <> 0 Then
'SendMessage(dHref, New IntPtr(256), New IntPtr(96), &H1E0001)
'SendMessage(dHref, New IntPtr(258), New IntPtr(96), &H1E0001)
'SendMessage(dHref, New IntPtr(257), New IntPtr(96), &HC01E0001)
StartSendingDummyEvents()
'End If
Catch ex As Exception
MessageBox.Show(ex.Message)
End Try
End Sub
Private Sub StartSendingDummyEvents()
myThread.Start()
End Sub
Private Sub ThreadProcessor_Dinesh()
Dim hwndApp As IntPtr
Dim dHref As HandleRef
Dim irandVal As Integer
Dim myRandi As New Random()
Try
While True
hwndApp = FindWindow(vbNullString, txtWindowTitle.Text)
dHref = New HandleRef(Nothing, hwndApp)
'TextBox1.Text = dHref.Handle.ToString()
SetForegroundWindow(hwndApp)
'SendKeys.SendWait("111")
Thread.Sleep(300)
'SendKeys.SendWait("N1")
Thread.Sleep(300)
hwndApp = FindWindow(vbNullString, Me.Text)
' TextBox1.Text = dHref.Handle.ToString()
SetForegroundWindow(hwndApp)
irandVal = myRandi.Next()
'Thread.Sleep(irandVal * 2)
Thread.Sleep(500)
End While
Catch ex As Exception
hwndApp = Nothing
End Try
End Sub
Private Sub frmSendString_FormClosing(ByVal sender As Object, ByVal e As System.Windows.Forms.FormClosingEventArgs) Handles Me.FormClosing
myThread.Abort()
myThread = Nothing
End Sub
Private Sub frmSendString_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
End Sub
End Class
No comments:
Post a Comment