2012-04-08 19 views
2

Ich schreibe eine Anwendung in Perl, die mich benötigt, um den aktuellen Cursor-Typ während des Betriebs zu erhalten. Ich muss einen Timer erstellen, der die Maus regelmäßig überprüft und wenn die Maus ein bestimmter Typ ist, dann pausiere oder mache etwas anderes. Der Cursor könnte in einem anderen Programm laufen - nicht unbedingt in einer TK/GTK-App. Mir geht es gut mit dem Timer-Teil, aber konnte nichts finden, das mir erlauben würde, den gegenwärtigen Cursor-Typ zu bekommen.Perl: Holen Sie sich das aktuelle Cursor-Symbol/geben Sie

Weiß jemand, wie man das macht?

Danke,

James

Antwort

2

Sie haben mindestens das Betriebssystem, auf dem Sie diese erreichen möchten angeben.

Da der Mauszeiger vom Betriebssystem verwaltet wird und nicht von Perl, müssen Sie einen Weg finden, diese Informationen vom Betriebssystem zu erhalten.

Wenn die Anwendung unter Windows ist, würde ich anfangen, Win32::GUI zu betrachten.

Hoffe, das hilft.

Edit:

Da Sie auf Fenstern sind, müssen Sie sich bei einer Windows-API-Funktion suchen, um diese Informationen zu erhalten, so etwas wie diese http://msdn.microsoft.com/en-us/library/windows/desktop/ms648389(v=vs.85).aspx

Dann einen Weg finden, um diese Funktion zuzugreifen Perl - Win32::API könnte ein nützliches Modul sein, das zu tun

+0

Danke. Ja, es ist für Windows, konnte aber nichts in Win32 :: GUI finden. – user1320453

+0

Danke - Ich habe das versucht, aber nicht gehen. Ganz sicher, dass ich etwas falsch gemacht habe: $ function = Win32 :: API-> new ( 'user32.dll', 'getCursorInfo', 'II' ); $ return = $ function-> Call(); print $ return; – user1320453

Verwandte Themen