Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Wind Tre 'accende' il 5G Standalone in Italia: si apre una nuova era basata sui servizi
Wind Tre 'accende' il 5G Standalone in Italia: si apre una nuova era basata sui servizi
Con la prima rete 5G Standalone attiva in Italia, WINDTRE compie un passo decisivo verso un modello di connettività intelligente che abilita scenari avanzati per imprese e pubbliche amministrazioni, trasformando la rete da infrastruttura a piattaforma per servizi a valore aggiunto
OPPO Find X9 Pro: il camera phone con teleobiettivo da 200MP e batteria da 7500 mAh
OPPO Find X9 Pro: il camera phone con teleobiettivo da 200MP e batteria da 7500 mAh
OPPO Find X9 Pro punta a diventare uno dei riferimenti assoluti nel segmento dei camera phone di fascia alta. Con un teleobiettivo Hasselblad da 200 MP, una batteria al silicio-carbonio da 7500 mAh e un display da 6,78 pollici con cornici ultra ridotte, il nuovo flagship non teme confronti con la concorrenza, e non solo nel comparto fotografico mobile. La dotazione tecnica include il processore MediaTek Dimensity 9500, certificazione IP69 e un sistema di ricarica rapida a 80W
DJI Romo, il robot aspirapolvere tutto trasparente
DJI Romo, il robot aspirapolvere tutto trasparente
Anche DJI entra nel panorama delle aziende che propongono una soluzione per la pulizia di casa, facendo leva sulla propria esperienza legata alla mappatura degli ambienti e all'evitamento di ostacoli maturata nel mondo dei droni. Romo è un robot preciso ed efficace, dal design decisamente originale e unico ma che richiede per questo un costo d'acquisto molto elevato
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 12-01-2009, 20:58   #1
thewebsurfer
Senior Member
 
Iscritto dal: Nov 2006
Città: Salerno
Messaggi: 4256
[visualbasic] muovere mouse con la tastiera

salve, premetto che essendo ferrato in altri linguaggi non so neanche cosa sia visualbasic ..
spulciando un pò per la rete ho visto che con questo vb è possibile realizzare quello che cerco:
ossia un programma che mi permetta di scegliere i tasti da abbinare al movimento del mouse e regolarne la velocità (win xp).
Per un programmatore vb non dovrebbe essere difficile..credo...mi aiutate?


Ps già provato varie utility come mouseemu e autokey..non vanno
__________________
NABBA Italia
Federazione Nazionale di Body Building, Fitness, Cultura sportiva, Educazione alimentare

Ultima modifica di thewebsurfer : 12-01-2009 alle 21:01.
thewebsurfer è offline   Rispondi citando il messaggio o parte di esso
Old 13-01-2009, 09:39   #2
MarcoGG
Senior Member
 
L'Avatar di MarcoGG
 
Iscritto dal: Dec 2004
Messaggi: 3210
Quote:
Originariamente inviato da thewebsurfer Guarda i messaggi
non so neanche cosa sia visualbasic ..
Beh, peggio per te...

Quote:
Originariamente inviato da thewebsurfer Guarda i messaggi
spulciando un pò per la rete ho visto che con questo vb è possibile realizzare quello che cerco:
ossia un programma che mi permetta di scegliere i tasti da abbinare al movimento del mouse e regolarne la velocità (win xp).
Ammesso tu stia usando VB NET, la cosa si può fare in modo abbastanza agevole ( e in VB6, VBA il codice sarà molto simile, dettagliuzzi a parte... ).

1. Anzitutto le funzioni che ti permettono di leggere / impostare da codice le coordinate X ed Y del puntatore del mouse. Si può fare con l'uso di 2 semplici chiamate API e di un tipo "Punto" personalizzato :

Codice:
'Tipo Punto:
Private Type PT
    X As Long
    Y As Long
End Type

'Leggi posizione puntatore :
Private Declare Function GetCursorPos Lib "User32" (lpPoint As PT) As Long

'Imposta posizione puntatore :
Private Declare Function SetCursorPos Lib "user32.dll" (ByVal X As Long, ByVal Y As Long) As Long
2. Fare in modo che l'Applicazione sia in ascolto sulla pressione dei tasti desiderati, ai quali dovrà essere assegnato il movimento del puntatore.
Tipicamente si possono usare gli 8 tasti freccia del tastierino numerico...
Sul codice che implementa questo "ascolto" ( in pratica un piccolo keylogger in VB... ), vedi mio intervento - post #4 - in queso Thread :
http://www.hwupgrade.it/forum/showthread.php?t=1865043

Metti insieme 1. e 2. e avrai la soluzione.
MarcoGG è offline   Rispondi citando il messaggio o parte di esso
Old 13-01-2009, 14:35   #3
thewebsurfer
Senior Member
 
Iscritto dal: Nov 2006
Città: Salerno
Messaggi: 4256
bè l'unica cosa che ho capito è che sto visual basic sembra più pseudocodice che un linguaggio vero e proprio

cmq resta il fatto che non saprei scriverne una riga
non è che ti va di esercitarti per divertimento a fare questo programmino?
__________________
NABBA Italia
Federazione Nazionale di Body Building, Fitness, Cultura sportiva, Educazione alimentare
thewebsurfer è offline   Rispondi citando il messaggio o parte di esso
Old 13-01-2009, 15:16   #4
gugoXX
Senior Member
 
L'Avatar di gugoXX
 
Iscritto dal: May 2004
Città: Londra (Torino)
Messaggi: 3692
Quote:
Originariamente inviato da thewebsurfer Guarda i messaggi
bè l'unica cosa che ho capito è che sto visual basic sembra più pseudocodice che un linguaggio vero e proprio
Nono, e' un linguaggio di programmazione completo vero e proprio, anche se bistrattato da molti.
Comunque puoi farlo in quasi qualsiasi linguaggio di programmazione tu conosci.

Oppure puoi vedere se le accessibility options fanno al caso tuo.
__________________
Se pensi che il tuo codice sia troppo complesso da capire senza commenti, e' segno che molto probabilmente il tuo codice e' semplicemente mal scritto.
E se pensi di avere bisogno di un nuovo commento, significa che ti manca almeno un test.
gugoXX è offline   Rispondi citando il messaggio o parte di esso
Old 13-01-2009, 15:27   #5
thewebsurfer
Senior Member
 
Iscritto dal: Nov 2006
Città: Salerno
Messaggi: 4256
Quote:
Originariamente inviato da gugoXX Guarda i messaggi
Nono, e' un linguaggio di programmazione completo vero e proprio, anche se bistrattato da molti.
Comunque puoi farlo in quasi qualsiasi linguaggio di programmazione tu conosci.

Oppure puoi vedere se le accessibility options fanno al caso tuo.
era solo una battuta non disdegno niente

se conoscessi C o Java tanto da arrivare alla gestione del mouse non avrei aperto il thread
con java probabilmente si può fare in maniera abbastanza agevole, ma io odio java e java odia me, quindi apro eclipse solo quando è strettamente necessario

nessuno allora vuole buttarsi a scrivere queste 10 righe?
__________________
NABBA Italia
Federazione Nazionale di Body Building, Fitness, Cultura sportiva, Educazione alimentare
thewebsurfer è offline   Rispondi citando il messaggio o parte di esso
Old 13-01-2009, 21:21   #6
MarcoGG
Senior Member
 
L'Avatar di MarcoGG
 
Iscritto dal: Dec 2004
Messaggi: 3210
Quote:
Originariamente inviato da thewebsurfer Guarda i messaggi
bè l'unica cosa che ho capito è che sto visual basic sembra più pseudocodice che un linguaggio vero e proprio

cmq resta il fatto che non saprei scriverne una riga
non è che ti va di esercitarti per divertimento a fare questo programmino?
Allora l'unica cosa che hai capito era... sbagliata.

Comunque hai fatto davvero un bel complimento a VB.
Se esistesse un linguaggio capace di far eseguire alla macchina senza eccezioni le istruzioni passate in pseudo-codice, interpretando alla meglio le tue reali intenzioni, come lo classificheresti ? Linguaggio fiacco ? Non penso proprio.
Mai visto Star Trek ? Uno dice "Computer, fammi questo e quest'altro." e lui esegue...
Io non ho mai scritto una sola riga di Python ( e forse sarà proprio il prossimo linguaggio che mi imparerò ), ma non mi sogno di sminuirlo solo perchè non assomiglia al C.

Per il codice volentieri ( magari specifica quale VB usi ), appena ho un po' di tregua cerco di fare un esempio completo ( anche se veramente ti ho già dato praticamente tutto... ).
Causa arrivo notebook nuovo, sono parecchio intrippato !
MarcoGG è offline   Rispondi citando il messaggio o parte di esso
Old 14-01-2009, 08:32   #7
MarcoGG
Senior Member
 
L'Avatar di MarcoGG
 
Iscritto dal: Dec 2004
Messaggi: 3210
OK. Più semplice del previsto. Ecco una soluzione :

Ho deciso di gestire per ora solo i 4 pulsanti freccia, niente tastierino numerico, anche perchè i codici dei pulsanti cambiano a seconda che sia o meno attivo il Bloc Num.
Tutto ciò che serve è una Windows Form e un oggetto Timer.
Il Timer deve essere già Enabled ed avere un intervallo molto breve, tipo 10 msec.

-> Soluzione per VB6, VBA :

Codice:
Private Type PT
    X As Long
    Y As Long
End Type

Private Const shift As Integer = 5

Private Declare Function SetCursorPos Lib "user32.dll" (ByVal X As Long, ByVal Y As Long) As Long
Private Declare Function GetCursorPos Lib "user32" (lpPoint As PT) As Long
Private Declare Function GetAsyncKeyState Lib "user32" (ByVal vKey As Long) As Integer
Private valoreRitorno As Integer

Private Sub Timer1_Timer()

        Dim i As Integer
        For i = 37 To 40
            valoreRitorno = GetAsyncKeyState(i)
            If valoreRitorno = -32767 Then
                Dim Punto As PT
                Dim R As Long
                Dim Rx As Long
                Dim Ry As Long
                R = GetCursorPos(Punto)
                Rx = Punto.X
                Ry = Punto.Y
                Select Case i
                    Case 37 'SIN
                        SetCursorPos Rx - shift, Ry

                    Case 38 'SU
                        SetCursorPos Rx, Ry - shift

                    Case 39 'DX
                        SetCursorPos Rx + shift, Ry

                    Case 40 'GIU'
                        SetCursorPos Rx, Ry + shift
                        
                    Case Else
                        '...
                End Select
            End If
        Next i

End Sub
-> Per VB NET è ancora meglio :

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
Mi sembra che ci sia tutto !
MarcoGG è offline   Rispondi citando il messaggio o parte di esso
Old 14-01-2009, 14:55   #8
thewebsurfer
Senior Member
 
Iscritto dal: Nov 2006
Città: Salerno
Messaggi: 4256
grazie veramente

piccola modifica se possibile
mi sta bene l'uso delle frecce direzionali, xò è possibile disattivare e attivare "l'ascolto" del programma con una shortcut?
praticamente ho pensato di mettere il programma in esecuzione automatica all'avvio di win, ma se è sempre in ascolto perdo l'uso delle frecce direzionali e muovo solo il mouse..
l'ideale sarebbe una scorciatoia tipo ctrl-alt-qualcosa che disattivi e attivi l'ascolto



ps: se dici che è meglio il vb net uso quello....mi linki il compilatore?
pps: ora se ti serve un aiuto in C/assembler/java/html/css/php/javascript/ajax e forse qualcos'altro che ho dimenticato ptvizzami pure
__________________
NABBA Italia
Federazione Nazionale di Body Building, Fitness, Cultura sportiva, Educazione alimentare

Ultima modifica di thewebsurfer : 14-01-2009 alle 14:59.
thewebsurfer è offline   Rispondi citando il messaggio o parte di esso
Old 14-01-2009, 15:06   #9
gugoXX
Senior Member
 
L'Avatar di gugoXX
 
Iscritto dal: May 2004
Città: Londra (Torino)
Messaggi: 3692
Ma l'opzione gia' integrata in Windows per gestire il mouse con le frecce non andava bene?
__________________
Se pensi che il tuo codice sia troppo complesso da capire senza commenti, e' segno che molto probabilmente il tuo codice e' semplicemente mal scritto.
E se pensi di avere bisogno di un nuovo commento, significa che ti manca almeno un test.
gugoXX è offline   Rispondi citando il messaggio o parte di esso
Old 14-01-2009, 15:16   #10
thewebsurfer
Senior Member
 
Iscritto dal: Nov 2006
Città: Salerno
Messaggi: 4256
Quote:
Originariamente inviato da gugoXX Guarda i messaggi
Ma l'opzione gia' integrata in Windows per gestire il mouse con le frecce non andava bene?
si se non fosse per il fatto che per andare da una parte all'altra di un monitor 1920x1200 impiega 15min e 30sec

ps: perdiù non capisco perchè non funziona assegnando al telecomando i tasti del tastierino
__________________
NABBA Italia
Federazione Nazionale di Body Building, Fitness, Cultura sportiva, Educazione alimentare

Ultima modifica di thewebsurfer : 14-01-2009 alle 15:21.
thewebsurfer è offline   Rispondi citando il messaggio o parte di esso
Old 14-01-2009, 15:19   #11
gugoXX
Senior Member
 
L'Avatar di gugoXX
 
Iscritto dal: May 2004
Città: Londra (Torino)
Messaggi: 3692
Quote:
Originariamente inviato da thewebsurfer Guarda i messaggi
si se non fosse per il fatto che per andare da una parte all'altra di un monitor 1920x1200 impiega 15min e 30sec
In realta' e' configurabile, e con la dovuta configurazione puo' arrivare a metterci 2-3 secondi.
__________________
Se pensi che il tuo codice sia troppo complesso da capire senza commenti, e' segno che molto probabilmente il tuo codice e' semplicemente mal scritto.
E se pensi di avere bisogno di un nuovo commento, significa che ti manca almeno un test.
gugoXX è offline   Rispondi citando il messaggio o parte di esso
Old 14-01-2009, 15:23   #12
thewebsurfer
Senior Member
 
Iscritto dal: Nov 2006
Città: Salerno
Messaggi: 4256
Quote:
Originariamente inviato da gugoXX Guarda i messaggi
In realta' e' configurabile, e con la dovuta configurazione puo' arrivare a metterci 2-3 secondi.
vedi PS
praticamente win accetta SOLO i segnali derivanti dal tastierino numerico della tastiera, se assegno ad un pulsante del telecomando, ad esempio, 4(tn) il puntatore non si muove
__________________
NABBA Italia
Federazione Nazionale di Body Building, Fitness, Cultura sportiva, Educazione alimentare
thewebsurfer è offline   Rispondi citando il messaggio o parte di esso
Old 17-01-2009, 23:52   #13
thewebsurfer
Senior Member
 
Iscritto dal: Nov 2006
Città: Salerno
Messaggi: 4256
mi hai abbandonato nel progetto?

__________________
NABBA Italia
Federazione Nazionale di Body Building, Fitness, Cultura sportiva, Educazione alimentare
thewebsurfer è offline   Rispondi citando il messaggio o parte di esso
Old 19-01-2009, 18:48   #14
MarcoGG
Senior Member
 
L'Avatar di MarcoGG
 
Iscritto dal: Dec 2004
Messaggi: 3210
Quote:
Originariamente inviato da thewebsurfer Guarda i messaggi
grazie veramente

piccola modifica se possibile
mi sta bene l'uso delle frecce direzionali, xò è possibile disattivare e attivare "l'ascolto" del programma con una shortcut?
praticamente ho pensato di mettere il programma in esecuzione automatica all'avvio di win, ma se è sempre in ascolto perdo l'uso delle frecce direzionali e muovo solo il mouse..
l'ideale sarebbe una scorciatoia tipo ctrl-alt-qualcosa che disattivi e attivi l'ascolto

ps: se dici che è meglio il vb net uso quello....mi linki il compilatore?
Semplicissimo, sia in VB6 che VB NET.
Dato che abbiamo già a disposizione la nostra bella chiamata API GetAsyncKeyState, la risolverei così :

1. Aggiungo un nuovo oggetto Timer, uguale a Timer1 come impostazioni ( enabled e interval ).

2. Il nuovo Timer2 ascolterà solo la pressione delle combinazioni tasti utili ad attivare/disattivare l'ascolto di Timer1, perciò nel suo evento Tick :

Codice:
       'CTRL + ALT + A = Attiva Ascolto su Timer1
        'CTRL + ALT + D = Disattiva Ascolto su Timer1

        If GetAsyncKeyState(17) Then
            If GetAsyncKeyState(18) Then
                If GetAsyncKeyState(65) Then
                    Timer1.Enabled = True
                End If
                If GetAsyncKeyState(68) Then
                    Timer1.Enabled = False
                End If
            End If
        End If
E il gioco è fatto.

Per quanto riguarda la tua scelta di optare per VB 2008, non posso che essere d'accordo.
Trovi la Express gratuita qui :
http://www.microsoft.com/Express/VB/
MarcoGG è offline   Rispondi citando il messaggio o parte di esso
Old 19-01-2009, 19:24   #15
thewebsurfer
Senior Member
 
Iscritto dal: Nov 2006
Città: Salerno
Messaggi: 4256
quindi ricapitolando..qual è il codice completo?
ti ripeto che in vb proprio non riesco a raccapezzarmici

ps: sto installando il file che mi hai linkato...non è che microsoft sql va in conflitto con mysql?
__________________
NABBA Italia
Federazione Nazionale di Body Building, Fitness, Cultura sportiva, Educazione alimentare

Ultima modifica di thewebsurfer : 19-01-2009 alle 19:27.
thewebsurfer è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


Wind Tre 'accende' il 5G Standalone in Italia: si apre una nuova era basata sui servizi Wind Tre 'accende' il 5G Standalone in Italia: s...
OPPO Find X9 Pro: il camera phone con teleobiettivo da 200MP e batteria da 7500 mAh OPPO Find X9 Pro: il camera phone con teleobiett...
DJI Romo, il robot aspirapolvere tutto trasparente DJI Romo, il robot aspirapolvere tutto trasparen...
DJI Osmo Nano: la piccola fotocamera alla prova sul campo DJI Osmo Nano: la piccola fotocamera alla prova ...
FUJIFILM X-T30 III, la nuova mirrorless compatta FUJIFILM X-T30 III, la nuova mirrorless compatta
Samsung lancia il Team Galaxy Italia per...
Magic Leap: indistinguibili dai normali ...
Aruba Cloud: trasparenza sui costi e str...
Quando il cloud si blocca e resti al fre...
Integrare per competere, la sfida digita...
Leggenda del rally e modernità: S...
La Python Software Foundation rinuncia a...
Full HD e QLED, è in offerta un TV da 32...
Honda ha rilasciato un nuovo video sul p...
Resident Evil Requiem: arriva su Switch ...
Marshall Acton III in promo su Amazon in...
2 portatili che costano poco ma vanno be...
Smartphone potenti sotto i 300€: ecco i ...
28 Offerte Amazon da non perdere: smartp...
X torna a crescere in Europa: +7 milioni...
Chromium
GPU-Z
OCCT
LibreOffice Portable
Opera One Portable
Opera One 106
CCleaner Portable
CCleaner Standard
Cpu-Z
Driver NVIDIA GeForce 546.65 WHQL
SmartFTP
Trillian
Google Chrome Portable
Google Chrome 120
VirtualBox
Tutti gli articoli Tutte le news Tutti i download

Strumenti

Regole
Non Puoi aprire nuove discussioni
Non Puoi rispondere ai messaggi
Non Puoi allegare file
Non Puoi modificare i tuoi messaggi

Il codice vB è On
Le Faccine sono On
Il codice [IMG] è On
Il codice HTML è Off
Vai al Forum


Tutti gli orari sono GMT +1. Ora sono le: 18:07.


Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Served by www3v