Avatar billede mysitesolution Nybegynder
21. februar 2007 - 17:07 Der er 6 kommentarer og
2 løsninger

Besked når mus flyttes (form har ikke fokus)

Hej...

Vil lave en lille app der siger til hvis musen er indenfor et bestemt område på skærmen. Men min app har ikke nødvendigvis fokus, så den sædvanlige mousemove virker ikke.

Nogle der ved hvordan man kan få besked når musen flyttes?
Avatar billede kalp Novice
21. februar 2007 - 17:20 #1
Det skal du nok løse med win32 api'et.
http://msdn2.microsoft.com/en-us/library/ms646260.aspx
Avatar billede mysitesolution Nybegynder
21. februar 2007 - 18:17 #2
lidt kode? :)
Avatar billede kalp Novice
21. februar 2007 - 18:30 #3
hmm.. nej, men kan jo se om jeg selv kan finde ud af det:P
altså lave et kode eksempel til dig.. er heller ikke selv inde i Win32 api'et og dets anvendelse, men synes det er spændende så kan da lige se om jeg kan bikse det sammen.

ps. forvent ikke det tager 5min:O)
Avatar billede coder Nybegynder
21. februar 2007 - 19:10 #4
Indenfor din klasse skriver du:
[DllImport("user32.dll")]
static extern bool GetCursorPos(ref Point p);

I en methode kan du se tjekke musepositionen:
Point p = new Point();
GetCursorPos(ref p);

Nu ligger mouse-position så i punktet p.
Avatar billede coder Nybegynder
21. februar 2007 - 19:11 #5
Vil du sætte musepositionen benytter du SetCursorPos. Altså

static extern int SetCursorPos(int x, int y);

og flyt mus til position 0,0:

SetCursorPos(0, 0);
Avatar billede coder Nybegynder
21. februar 2007 - 19:24 #6
for at være helt korrekt burde du nok bruge out i stedet for ref ;)
Avatar billede kalp Novice
21. februar 2007 - 19:47 #7
hmm.. har faktisk fundet noget der er nemmere end coders forslag og mit eget..

position = Cursor.Position.X.ToString() + Cursor.Position.Y.ToString();


så lav en tråd som køre løbende og tjekker på om værdien har ændret sig.
Avatar billede mysitesolution Nybegynder
21. februar 2007 - 20:34 #8
Den løsning med at lave polling har jeg selv tænkt på. Men vil helst ikke bruge unødigt cpu-brug
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester