|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Senior Member
Iscritto dal: May 2006
Città: Salerno
Messaggi: 936
|
[Java] Simulare il click del mouse (sendInput?)
dovrei scrivere un programma che, alla pressione di una determinata combinazione di tasti faccia cliccare rapidamente il tasto sinistro del mouse. Che funzione/classe devo usare? ricordo che scrissi una cosa del genere in c++ 5-6 mesi fa, ed usai sendInput, ma non ho idea di come fare in java..
|
|
|
|
|
|
#2 |
|
Senior Member
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
|
Dubito che si possa fare in Java....si trattano di dettagli del sistema operativo e credo che Java non si addrentri in queste cose. Al limite puoi realizzare una JNI in C++ da poter richiamare da Java.
|
|
|
|
|
|
#3 | |
|
Bannato
Iscritto dal: Feb 2005
Città: Roma
Messaggi: 7029
|
Quote:
di conseguenza, giustamente, Java credo che non si addentri in queste cose, come dice cionci. qual è la piattaforma su cui vuoi far girare il programma? se è Windows allora tienti quello che hai fatto in C++ se invece devi necessariamente fare in modo che un programma Java usi questa funzionalità solo quando gira su Windows, allora JNI. |
|
|
|
|
|
|
#4 | |
|
Senior Member
Iscritto dal: Nov 2005
Città: TO
Messaggi: 5206
|
Quote:
__________________
Andrea, SCJP 5 (91%) - SCWCD 5 (94%) |
|
|
|
|
|
|
#5 |
|
Senior Member
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
|
|
|
|
|
|
|
#6 |
|
Senior Member
Iscritto dal: Jul 2002
Città: Reggio Calabria -> London
Messaggi: 12112
|
zizzì
Ma cmq per prendere l'input della combinazione di tasti la finestra java mi sa che deve avere il focus
__________________
|
|
|
|
|
|
#7 |
|
Senior Member
Iscritto dal: May 2006
Città: Salerno
Messaggi: 936
|
il problema è che il pc su cui c'era questo programma in c++ è... come dire... passato a miglior vita
![]() dovrei ritrovare il thread.. adesso spulcio la sezione trovata: link... quante cretinate che dicevo... ![]() ...ma pensandoci bene.. ancora le dico anche se almeno adesso ho capito cosa sono le costanti e cosa sono i puntatori
Ultima modifica di AngeL) : 24-08-2007 alle 22:42. |
|
|
|
|
|
#8 |
|
Senior Member
Iscritto dal: May 2006
Città: Salerno
Messaggi: 936
|
fatto
Codice:
#define STRICT
#define NTDDI_VERSION NTDDI_VISTA
#define _WIN32_WINNT 0x0600
#define WINVER 0x0600
#include <windows.h>
BOOL Click(UINT times)
{
INPUT input;
input.type = INPUT_MOUSE;
input.mi.mouseData = 0;
input.mi.time = 0;
for(UINT i = 0; i < times; i++) {
input.mi.dwFlags = MOUSEEVENTF_LEFTDOWN;
SendInput(1, &input, sizeof(INPUT));
input.mi.dwFlags = MOUSEEVENTF_LEFTUP;
SendInput(1, &input, sizeof(INPUT));
}
return TRUE;
}
int main ()
{
Sleep(2000);
Click(2);
return 0;
}
|
|
|
|
|
|
#9 |
|
Senior Member
Iscritto dal: Nov 2005
Città: TO
Messaggi: 5206
|
Ma la combinazione dei tasti deve essere riconosciuta a livello globale, di sistema (indipendentemente dalla applicazione attiva) o per una applicazione specifica (e in tal caso è una "tua" applicazione o un'altra qualunque)?
__________________
Andrea, SCJP 5 (91%) - SCWCD 5 (94%) |
|
|
|
|
|
#10 |
|
Senior Member
Iscritto dal: May 2006
Città: Salerno
Messaggi: 936
|
da un'applicazione specifica, non scritta da me
|
|
|
|
|
|
#11 |
|
Senior Member
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
|
|
|
|
|
|
|
#12 |
|
Senior Member
Iscritto dal: May 2006
Città: Salerno
Messaggi: 936
|
|
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 21:37.





















