Hallo Zusammen...
ich suche ein Script was folgendes macht:
Wenn Programm XYZ den Focus hat, soll der MausCursor ausgeblendet werden (Stört bei dem Programm mit Touch bedienung). Sobald der Focus weg ist soll der MausCursor wieder sichtbar werden.
Ich hoffe hier könnt mir helfen.
Danke, Markus
MouseCursor deaktivieren wenn Programm X Focus hat
Moderator: jNizM
Re: MouseCursor deaktivieren wenn Programm X Focus hat
Hallo,
habe einfach das "Versteckt den Mauszeiger"- Beispiel der Hilfe http://ahkde.github.io/docs/commands/DllCall.htm variiert:
habe einfach das "Versteckt den Mauszeiger"- Beispiel der Hilfe http://ahkde.github.io/docs/commands/DllCall.htm variiert:
Code: Select all
; Versteckt den Mauszeiger.
; Dieses Skript stammt von www.autohotkey.com/forum/topic6107.html
#Persistent
SetTitleMatchMode, 2 ;an beliebiger Stelle im Titel
Settimer, ProgrammFokus, 500
ZeigeCursor := True
Return
ProgrammFokus:
If (WinActive("XYZ") And ZeigeCursor)
SystemCursor("Off"), ZeigeCursor := False
Else If (!WinActive("XYZ") And !ZeigeCursor)
SystemCursor("On"), ZeigeCursor := True
Return
OnExit, ZeigeCursor ; Stellt sicher, dass der Mauszeiger beim Beenden des Skripts wieder sichtbar gemacht wird.
return
ZeigeCursor:
SystemCursor("On")
ExitApp
SystemCursor(OnOff=1) ; INIT = "I","Init"; OFF = 0,"Off"; TOGGLE = -1,"T","Toggle"; ON = Andere
{
static AndMask, XorMask, $, h_cursor
,c0,c1,c2,c3,c4,c5,c6,c7,c8,c9,c10,c11,c12,c13 ; Mauszeiger vom System
, b1,b2,b3,b4,b5,b6,b7,b8,b9,b10,b11,b12,b13 ; Leere Mauszeiger
, h1,h2,h3,h4,h5,h6,h7,h8,h9,h10,h11,h12,h13 ; Handles von Standardzeiger
if (OnOff = "Init" or OnOff = "I" or $ = "") ; initialisieren, wenn benötigt oder erster Aufruf
{
$ = h ; aktive Standardzeiger
VarSetCapacity( h_cursor,4444, 1 )
VarSetCapacity( AndMask, 32*4, 0xFF )
VarSetCapacity( XorMask, 32*4, 0 )
system_cursors = 32512,32513,32514,32515,32516,32642,32643,32644,32645,32646,32648,32649,32650
StringSplit c, system_cursors, `,
Loop %c0%
{
h_cursor := DllCall( "LoadCursor", "Ptr",0, "Ptr",c%A_Index% )
h%A_Index% := DllCall( "CopyImage", "Ptr",h_cursor, "UInt",2, "Int",0, "Int",0, "UInt",0 )
b%A_Index% := DllCall( "CreateCursor", "Ptr",0, "Int",0, "Int",0
, "Int",32, "Int",32, "Ptr",&AndMask, "Ptr",&XorMask )
}
}
if (OnOff = 0 or OnOff = "Off" or $ = "h" and (OnOff < 0 or OnOff = "Toggle" or OnOff = "T"))
$ = b ; leere Mauszeiger benutzen
else
$ = h ; gespeicherte Mauszeiger benutzen
Loop %c0%
{
h_cursor := DllCall( "CopyImage", "Ptr",%$%%A_Index%, "UInt",2, "Int",0, "Int",0, "UInt",0 )
DllCall( "SetSystemCursor", "Ptr",h_cursor, "UInt",c%A_Index% )
}
}
Who is online
Users browsing this forum: gero and 58 guests