Visualizzazione dei risultati da 1 a 3 su 3
  1. #1
    Utente bannato
    Registrato dal
    Feb 2004
    Messaggi
    2,803

    [vbnet] muovere cursore con la tastiera

    codice:
    Public Class Form1
    
        Private X As Integer
        Private Y As Integer
        Private shift As Integer = 5
        Private valoreRitorno As Integer = 0
    
        Private Declare Function GetAsyncKeyState Lib "user32" (ByVal vKey As Integer) As Integer
    
        Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick
    
            Dim i As Integer = 0
            For i = 37 To 40
                valoreRitorno = GetAsyncKeyState(i)
                If valoreRitorno = -32767 Then
                    X = Windows.Forms.Cursor.Position.X
                    Y = Windows.Forms.Cursor.Position.Y
                    Select Case i
                        Case 37 'SIN
                            Windows.Forms.Cursor.Position = New System.Drawing.Point(X - shift, Y)
    
                        Case 38 'SU
                            Windows.Forms.Cursor.Position = New System.Drawing.Point(X, Y - shift)
    
                        Case 39 'DX
                            Windows.Forms.Cursor.Position = New System.Drawing.Point(X + shift, Y)
    
                        Case 40 'GIU'
                            Windows.Forms.Cursor.Position = New System.Drawing.Point(X, Y + shift)
    
                        Case Else
                            '...
                    End Select
                End If
            Next i
    
        End Sub
    
    End Class

    premetto che non ne so niente di programmazione vb.net,
    ho questo codice che dovrebbe muovere il cursore del mouse con la tastiera,
    ma avrei bisogno di un paio di piccole modifiche:
    - disattivare e attivare l'"ascolto" del programma tramite una scorciatoia (ctrl+alt+qualcosa)
    - se possibile, solo quando il programma è attivo, sostituire il cursore con un altro (sempre in formato .cur)


    ps: se qualcuno può anche dirmi come faccio a compilare e creare l'exe avendo Visual Basic 2008 Express Edition gliene sarei grato (copiando il codice mi dice "Errore1 La clausola Handles richiede una variabile WithEvents definita nel tipo che la contiene o in uno dei suoi tipi di base."

  2. #2
    [OT]Perché scrivere un programma per questo mestiere quando esiste già questa funzione tra le impostazioni di Accesso facilitato di Windows?[/OT]
    Amaro C++, il gusto pieno dell'undefined behavior.

  3. #3
    Utente bannato
    Registrato dal
    Feb 2004
    Messaggi
    2,803
    Originariamente inviato da MItaly
    [OT]Perché scrivere un programma per questo mestiere quando esiste già questa funzione tra le impostazioni di Accesso facilitato di Windows?[/OT]
    associando i tasti del telecomando al tastierino numerico non funziona

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.