Solved

pressing shift key in vb.net

Posted on 2009-05-19
6
437 Views
Last Modified: 2012-05-07
i want to create an app that automatically send out a shift key like someone just press it on the keyboard. can you help? thanks.
0
Comment
Question by:StewSupport
  • 3
  • 2
6 Comments
 
LVL 9

Accepted Solution

by:
CyberLex earned 500 total points
ID: 24422194
depends on what you want to achieve I guess. for example SendKeys.Send(Keys.Shift)
sends shift to the active application.

cheers
Lex
0
 

Author Comment

by:StewSupport
ID: 24422879
just to stop screen saver form starting. so it really trying to fake the machine that the computer is not inactive.
i have a loop that every 30 second send the key escape and screen saver kicks in if computer is inactive for 1 minute. the escape key is still being hit by the app but screen saver still kick in  until the next esc hit within the next 30 sec it returns to normal screen. why doesn't screen saver just stay off when the esc key is hit?
0
 

Author Comment

by:StewSupport
ID: 24422895
just to stop screen saver form starting. so it really trying to fake the machine that the computer is not inactive.
i have a loop that every 30 second send the key escape. i set screen saver kicks in if computer is inactive for 1 minute. the escape key is still being hit by the app every 30 seconds but screen saver still kick in  until the next esc is hit from the app. why doesn't screen saver just stay off when the esc key is hit?
0
IT, Stop Being Called Into Every Meeting

Highfive is so simple that setting up every meeting room takes just minutes and every employee will be able to start or join a call from any room with ease. Never be called into a meeting just to get it started again. This is how video conferencing should work!

 
LVL 85

Expert Comment

by:Mike Tomlinson
ID: 24423179
This worked fine for me...successfully preventing the screensaver from invoking.  All it does is move the mouse by one pixel in the x and y directions every 59 seconds and then puts it back.  I didn't even notice it moving.  Running VB.Net 2008 on a 64 bit Vista Home Premium system:
Public Class Form1
 

    Private WithEvents tmr As New Timer
 

    Private Const MOUSEEVENTF_MOVE As Integer = &H1

    Private Declare Sub mouse_event Lib "user32" _

        (ByVal dwFlags As Integer, ByVal dx As Integer, ByVal dy As Integer, _

        ByVal cButtons As Integer, ByVal dwExtraInfo As Integer)
 

    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load

        tmr.Interval = TimeSpan.FromSeconds(59).TotalMilliseconds

        tmr.Enabled = True

    End Sub
 

    Private Sub tmr_Tick(ByVal sender As Object, ByVal e As System.EventArgs) Handles tmr.Tick

        mouse_event(MOUSEEVENTF_MOVE, 1, 1, 0, 0) ' move the mouse slightly

        mouse_event(MOUSEEVENTF_MOVE, -1, -1, 0, 0) ' put it back

    End Sub
 

End Class

Open in new window

0
 

Author Comment

by:StewSupport
ID: 24423257
i had something like that but i guess microsoft detects that the mouse movement was not sent from  hardware but software so my code didnt do anything. here is what i had before
Imports System.Windows.Forms

Public Class MouseMover

    Inherits System.Windows.Forms.Form

    <Runtime.InteropServices.DllImport("user32.dll", SetLastError:=True)> _

    Private Shared Function SetCursorPos(ByVal X As Integer, ByVal Y As Integer) As Boolean

    End Function
 

    Private Sub MouseMover_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load

        Timer1.Start()

        Timer1.Enabled = True

        Timer1.Interval = 30000

        Me.Visible = False

        Me.ShowInTaskbar = False

        Me.NotifyIcon1.Icon = Me.Icon

        Me.NotifyIcon1.Visible = True

    End Sub
 

    Private Sub Timer1_Tick(ByVal sender As Object, ByVal e As System.EventArgs) Handles Timer1.Tick

        Dim random As New Random

        Dim x As Integer = random.Next

        Dim y As Integer = random.Next

        SetCursorPos(x, y)

    end sub

end class

Open in new window

0
 
LVL 85

Expert Comment

by:Mike Tomlinson
ID: 24423290
We'll...give my code a whirl!  I used mouse_event() instead of SetCursorPos().  Additionally, I'm simply moving the cursor by ONE pixel to the Right and Down and then putting it RIGHT BACK.  It worked on my system (Vista)...
0

Featured Post

Free Trending Threat Insights Every Day

Enhance your security with threat intelligence from the web. Get trending threat insights on hackers, exploits, and suspicious IP addresses delivered to your inbox with our free Cyber Daily.

Join & Write a Comment

This tutorial demonstrates one way to create an application that runs without any Forms but still has a GUI presence via an Icon in the System Tray. The magic lies in Inheriting from the ApplicationContext Class and passing that to Application.Ru…
Since .Net 2.0, Visual Basic has made it easy to create a splash screen and set it via the "Splash Screen" drop down in the Project Properties.  A splash screen set in this manner is automatically created, displayed and closed by the framework itsel…
Here's a very brief overview of the methods PRTG Network Monitor (https://www.paessler.com/prtg) offers for monitoring bandwidth, to help you decide which methods you´d like to investigate in more detail.  The methods are covered in more detail in o…
Polish reports in Access so they look terrific. Take yourself to another level. Equations, Back Color, Alternate Back Color. Write easy VBA Code. Tighten space to use less pages. Launch report from a menu, considering criteria only when it is filled…

708 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

17 Experts available now in Live!

Get 1:1 Help Now