SEO-Software von Suchmaschinenoptimierung.de

Zugriff auf die Maus Library in C/C++

(hier klicken, um zum Original Thread zu gelangen)
moonsword
weiss jemand wie man in C/C++ auf die Maus libs zugreift? am liebsten wäre mir MacOS X, würde mich aber auch mit Linux zufrieden geben

bei windows nehme ich mal an, dass ich das über die WinApi machen kann großes Grinsen

dachte mit MacOS X könnte ich mit einem Apple Script einen workaround schreiben....funzt aber nicht so wie gewollt (nachdem ich das die maussachen noch nicht gefunden hab)

es geht mir darum, dass ich per Script die Maus steuern will und klicken lassen will großes Grinsen mehr brauch ich (Erstmal) garnicht


moonsword
Donut
ansi c?

da gibts keine Mausklassen.
Die Möglichkeit, die mir immer blieb ist mit den DOS-Interrupts zu arbeiten, aber ich nehme mal an, dass die bei Mac nicht existieren oder?
moonsword
Zitat:
Original von Donut
ansi c?

da gibts keine Mausklassen.
Die Möglichkeit, die mir immer blieb ist mit den DOS-Interrupts zu arbeiten, aber ich nehme mal an, dass die bei Mac nicht existieren oder?

Jop ansi c
dos interrupts? wenn ich wüsste was du meinst, kann ich dir womöglich sagen, was es ist...noja hab inzwischen für den MAc ein workaround über AppleScript gefunden, damit müsste man die maus bewegen und klicken können müsste man halt für klicken und bewegen 1 Scripts anlegen, oder 1 Script nehmen und die Aktion per parameter übergeben (müsste auch gehen) und windows....jaaa winApi müsste doch gehn

Linux bleibt mir wohl nichts anderes übrig als einen Maustreiber zu schreiben....
Erl
nur mal so aus reinem Interesse: Wozu brauchst du das?^^
moonsword
http://forum.webstatt.org/thread.php?postid=31063#post31063

ich schreib grad ein einem Programm um über handbewegungen die Maus zu steuern (wenn man einen roten handschuh oder so anhat)....noja bei veränderung der Bounding Box umd die Hand (also Schliessen der Hand) soll ein Klick abgefeuert werden, dadurch ist es möglich ein fenster zu greifen und zu verziehen

dazu brauch ich das großes Grinsen

Gruss nuit
Erl
klingt geil, viel Erfolg!
Erl
Donut
also unter windows kann man die maus über assembler via DOS-Interrupts ansprechen, jedoch ist es nötig, das da zu ein Maustreiber geladen wurden, der ja bei dir nicht exisitert, oder?

eine Liste der wichtigsten Interrupts:
http://andremueller.gmxhome.de/referenz.html

33 ist dann für Maus zuständig

edit:
hier ma eine header-Datei für Mausroutinen unter Windows:

code:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
37:
38:
39:
40:
41:
42:
43:
44:
45:
46:
47:
48:
49:
50:
51:
52:
53:
54:
55:
56:
57:
58:
59:
60:
61:
62:
63:
64:
65:
66:
67:
68:
69:
70:
71:
72:
73:
74:
75:
76:
77:
78:
79:
80:
81:
82:
83:
84:
85:
86:
87:
88:
89:
90:
91:
92:
93:
94:
95:
// Unit fr Mausuntersttzung in C++-Programmen
// Programmiert von Mathias Harbeck
// eMail: mharbeck@datasource.de
// C++-Toolbox Nr. 1
// Stand: 19.02.1999
// http://www.datasource.de
#ifndef mhmouseH
#define mhmouseH

#include <dos.h>
#include <stdlib.h>
struct TMaus
{
 unsigned int Func,Taste,X,Y;
 short TextModus;
} Maus;

void MausDa(unsigned int Nr)
{
  asm {
    mov AX,Nr;
    int 0x33;
  }
}

void ShowMouse(short Show)
{
  //Schaltet den Mauszeiger an/aus
 if (Show==1) MausDa(1);
 else MausDa(2);
}

short MausReset(short TextModus)
//Initialisiert die Maus; liefert 0, wenn kein Maustreiber installiert
//ist
{
  Maus.TextModus=TextModus;
  if (peek(peek(0,0xCC+2),peek(0,0xCC))!=0xCF)
  {
    MausDa(0);
    MausDa(1);
    return 1;
  }
  else return 0;
}

void MausInt()
{
  unsigned int a=Maus.Func, b=Maus.Taste, c=Maus.X, d=Maus.Y;
  asm {
    mov AX,a;
    mov BX,b;
    mov CX,c;
    mov DX,d;
    int 0x33;
    mov a,AX;
    mov b,BX;
    mov c,CX;
    mov d,DX;
  }
  Maus.Func=a; Maus.Taste=b; Maus.X=c; Maus.Y=d;
}

void MausData()
//belegt die Mausvariable "X","Y" und "Taste" mit aktuellen Daten
{
  Maus.Func=3; MausInt();
  if (Maus.TextModus)
  {
    Maus.X=div(Maus.X,8).quot;
    Maus.Y=div(Maus.Y,8).quot;
  }
  Maus.Y++;
  Maus.X++;
}

void MausWindow(int X1, int Y1, int X2, int Y2)
//Setzt ein Mausfenster von X1,Y1 bis X2,Y2
{
  X1--;X2--;Y1--;Y2--;
  if (Maus.TextModus==1)
  {
    X1*=8;
    X2*=8;
    Y1*=8;
    Y2*=8;
  }
  MausDa(2);
  Maus.Func=7; Maus.X=X1; Maus.Y=X2;
  MausInt();
  Maus.Func=8; Maus.X=Y1; Maus.Y=Y2;
  MausInt();
  MausDa(1);
}
#endif
(hier klicken, um zum Original Thread zu gelangen)



Tipp: Ranking-Konzept.de - Das SEO-Forum (Forum rund um die Suchmaschinenoptimierung) der artaxo AG.
Das große Versicherungs ABC von Versicherung.de - mit allen Aspekten der Computerversicherungen!
Fan-Foren.de, die große Community mit Musikforum ist ab sofort online.