marabunta
Goto Top

Powershell Mauszeiger ausblenden

Hi,

wie kann man den Mauszeiger in Windows ausblenden?
Habe einiges probiert wie z.B. [Windows.Forms.Cursor]::Hide(), aber es passiert nichts.
Einfaches wegbewegen hilft mir nicht.

Danke

Content-ID: 322456

Url: https://administrator.de/forum/powershell-mauszeiger-ausblenden-322456.html

Ausgedruckt am: 11.04.2025 um 01:04 Uhr

Kraemer
Kraemer 30.11.2016 um 09:06:46 Uhr
Goto Top
Moin,
Zitat von @Marabunta:
Einfaches wegbewegen hilft mir nicht.
auch nicht per PS?

Gruß Krämer
131381
131381 30.11.2016 aktualisiert um 09:12:51 Uhr
Goto Top
Windows.Forms.Cursor]::Hide()
Das würde ja auch nur für eine sichtbare Windows Forms Anwendung über dessen Fenster gelten und nicht Systemweit!

http://stackoverflow.com/questions/10541014/hiding-system-cursor

Oder ein "durchsichtiges" Cursoricon setzen.

Gruß

p.s. wenn dich Usereingaben stören dann Blocke diese doch mit BlockInput()
Marabunta
Marabunta 30.11.2016 um 09:37:28 Uhr
Goto Top
is fürs Monitoring, maus soll weg
131381
Lösung 131381 30.11.2016 aktualisiert um 09:44:15 Uhr
Goto Top
Na dann
https://msdn.microsoft.com/de-de/library/windows/desktop/ms648393(v=vs.8 ...
A handle to the cursor. The cursor must have been created by the CreateCursor function or loaded by the LoadCursor or LoadImage function. If this parameter is NULL, the cursor is removed from the screen.
P.s. WinApI Funktionen kannst du problemlos über AddType in die PS einbinden und verwenden.
Kraemer
Kraemer 30.11.2016 um 09:52:11 Uhr
Goto Top
Zitat von @Marabunta:

is fürs Monitoring, maus soll weg
vielen Dank für deine konkreten Ausführungen. Ich bin raus!
Marabunta
Marabunta 30.11.2016 um 10:40:18 Uhr
Goto Top
Danke für die Antwort.
Hier dran zu bleiben ist für den Zweck leider zu aufwändig.
Ich benutze jetzt diesen Workaround:

Add-Type -AssemblyName System.Windows.Forms
$screen = [System.Windows.Forms.SystemInformation]::VirtualScreen
[Windows.Forms.Cursor]::Position = "$($screen.Width),$($screen.Height/2)"

Nicht perfekt aber ausreichend
Kraemer
Kraemer 30.11.2016 um 11:15:59 Uhr
Goto Top
Zitat von @Marabunta:

Danke für die Antwort.
Hier dran zu bleiben ist für den Zweck leider zu aufwändig.
Ich benutze jetzt diesen Workaround:

Add-Type -AssemblyName System.Windows.Forms
$screen = [System.Windows.Forms.SystemInformation]::VirtualScreen
[Windows.Forms.Cursor]::Position = "$($screen.Width),$($screen.Height/2)"

Nicht perfekt aber ausreichend
Das ist exakt der selbe Ansatz, den ich gepostet habe...
colinardo
Lösung colinardo 30.11.2016 aktualisiert um 11:34:08 Uhr
Goto Top
Servus miteinander,
Zitat von @Marabunta:
Hier dran zu bleiben ist für den Zweck leider zu aufwändig.
Nicht wirklich face-smile

Cursor verschwinden lassen, kein Problem ...
Add-Type -AssemblyName System.Drawing
$tools = Add-Type –memberDefinition '  
    public struct IconInfo
    {
        public bool fIcon;
        public int xHotspot;
        public int yHotspot;
        public IntPtr hbmMask;
        public IntPtr hbmColor;
    }
    [DllImport("user32.dll")] public static extern bool SetSystemCursor(IntPtr hcur, uint id);  
    [DllImport("user32.dll")] public static extern bool GetIconInfo(IntPtr hIcon, ref IconInfo pIconInfo);  
    [DllImport("user32.dll")] public static extern IntPtr CreateIconIndirect(ref IconInfo icon);  
' -name "windowtools" -namespace Win32Functions –passThru -EA SilentlyContinue  

# transparentes Bitmap erstellen
$imgptr = (new-object System.Drawing.Bitmap 24,24).GetHicon()
# Iconinfo erstellen und Hotspot setzen
$iconinfo = new-object Win32Functions.windowtools+IconInfo
[Win32Functions.windowtools]::GetIconInfo($imgptr,[ref]$iconinfo)
$iconinfo.xHotspot = 12;$iconinfo.yHotspot = 12; $iconinfo.fIcon = $false
# Icon erstellen und Pointer zurückgeben
$icon = [Win32Functions.windowtools]::CreateIconIndirect([ref]$iconinfo)
# Folgende Cursor durch das transparente Icon ersetzen (OCR_NORMAL / OCR_WAIT / OCR_APPSTARTING)
@(32512,32514,32650) | %{[Win32Functions.windowtools]::SetSystemCursor($icon,$_) | out-null}
Grüße Uwe
131381
131381 30.11.2016 um 11:40:07 Uhr
Goto Top
Nicht wirklich
Elegant face-wink
Marabunta
Marabunta 30.11.2016 um 15:03:17 Uhr
Goto Top
Da kommt der Meister wieder xD.
Vielen Dank! Funktioniert super
Marabunta
Marabunta 30.11.2016 um 15:47:46 Uhr
Goto Top
Richtig. Den kannte ich bereits und wollte den meiden, siehe Frage:"Einfaches wegbewegen hilft mir nicht."
Als Notlösung taugt es.