Wie Mauszeiger mit Perl unter WIN98 bewegen
timothy
- perl
Hi Folks,
fein, daß das Forum wieder offen ist. Deshalb auch hier gleich eine Frage:
Weiß jemand, wie man unter WIN98 mit Perl (kann aber auch C++ oder Turbo-Pascal sein) den Mauszeiger positioniert?
Also: welcher Interrupt ist dafür verantwortlich? In welche Register setzt man die gewünschten Werte? Und wie macht man dies mit z.B. Perl (Interrupt ansprechen mit Register-wert-Übergabe)?
Danke für Eure Bemühungen
Bye
Timothy
hi!
Weiß jemand, wie man unter WIN98 mit Perl (kann aber auch C++ oder Turbo-Pascal sein) den
Mauszeiger positioniert?
Also: welcher Interrupt ist dafür verantwortlich? In welche Register setzt man die gewünschten Werte?
Und wie macht man dies mit z.B. Perl (Interrupt ansprechen mit Register-wert-Übergabe)?
Interrupt? Register? Du lebst wohl noch in der Steinzeit ;) Windows wird dir schön was erzählen, wenn du
versuchst, Interrupts zu verändern. Kommunikation von Programmen, zb. mit der Benutzerschnittstelle von
Windows, finden höchstens über die WINAPI statt. Es gibt Perl-Module, um auf die WINAPI-Funktionen
zuzugreifen (keine Ahnung, ob damit alle Funktionen verfügbar sind):
ftp://ftp.gmd.de/packages/CPAN//modules/by-category/22_Microsoft_Windows_Modules/Win32API/
Eine passende WINAPI-Funktion für die Steuerung der Maus kenne ich leider nicht. Aber im Microsoft
Developer Network dürfte es eine Referenz der WINAPI geben:
http://www.microsoft.com/developer/
bye, Frank!
Moin!
Eine passende WINAPI-Funktion für die Steuerung der Maus kenne ich leider nicht. Aber im Microsoft
Nun, sowas wie SetCursorPos wuerde mir als naheliegend erscheinen. Zitat aus der Platform SDK documentation (oder wie auch immer das richtig heisst):
SetCursorPos
The SetCursorPos function moves the cursor to the specified screen coordinates. If the new coordinates are not within the screen rectangle set by the most recent ClipCursor function, Windows automatically adjusts the coordinates so that the cursor stays within the rectangle.
BOOL SetCursorPos(
int X, // horizontal position
int Y // vertical position
);
Parameters
X
Specifies the new x-coordinate, in screen coordinates, of the cursor.
Y
Specifies the new y-coordinate, in screen coordinates, of the cursor.
Return Values
If the function succeeds, the return value is nonzero.
If the function fails, the return value is zero. To get extended error information, call GetLastError.
Remarks
The cursor is a shared resource. A window should move the cursor only when the cursor is in its client area.
The calling process must have WINSTA_WRITEATTRIBUTES access to the window station.
See Also
ClipCursor, GetCursorPos, SetCaretPos, SetCursor, ShowCursor
<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
Ob man mit Perlmodulen auf diese Funktion zugreifen kann, bezweifel ich mal (wozu denn?), aber spaetestens mit C und den entsprechenden Libs geht's.
So long
Hi Calocybe,
das SDK muß man sich zusätzlich besorgen (ist bei keinem MS -C - Compiler dabei denke ich mal) , oder?
Habe mit C (eigentlich C++) gerade erst angefangen.
Weißt du näheres zum SDK?
Danke
Timothy
Interrupt? Register? Du lebst wohl noch in der Steinzeit ;)
Oh oh - da hast du wohl irgendwie Recht.
Ende der 80er habe ich mit TurboPascal an den Interrupts "rumgeschraubt". Seitdem nichts mehr.
»»Kommunikation von Programmen, zb. mit der Benutzerschnittstelle von
Windows, finden höchstens über die WINAPI statt. Es gibt Perl-Module, um auf die WINAPI-Funktionen
zuzugreifen (keine Ahnung, ob damit alle Funktionen verfügbar sind):
Na, da werde ich mich wohl noch einmal auf den Hosenboden setzen.
Danke für deine Hinweis - und einen schönen Tag noch.
Bye
Timothy