![]() |
Win10 VirtualDesktop aktuell sichtbarer Desktop
Ich versuche gerade mit den virtuellen Desktops rumzuspielen. Es gibt da dieses interface IVirtualDesktopManager
Code:
Leider gibt es da nichts weiter.
IVirtualDesktopManager = interface(IUnknown)
['{A5CD92FF-29BE-454C-8D04-D82879FB3F1B}'] function IsWindowOnCurrentVirtualDesktop(Wnd: HWND; out IsTrue: BOOL): HResult; stdcall; function GetWindowDesktopId(Wnd: HWND; out DesktopID: TGUID): HResult; stdcall; function MoveWindowToDesktop(Wnd: HWND; const DesktopID: TGUID): HResult; stdcall; end; Was ich suche ist eine Methode, wie ich mein Fenster (wenn IsWindowOnCurrentVirtualDesktop = False liefert) auf den aktuellen Desktop verschieben kann (weil der User Strg+WIN+Links/Rechts gedrückt hat zum Bsp.). Das sollte ja mit MoveWindowToDesktop gehen, aber die Frage ist nun, wie kriege ich die DesktopId des Dekstops raus, auf dem man gerade ist ? Einer eine Idee ? Danke schonmal |
AW: Win10 VirtualDesktop aktuell sichtbarer Desktop
Es sieht wohl so aus, dass Microsoft hier noch keine öffentliche API zur Verfügung stellt und sich diese immer noch ständig ändert.
Ich habe ein ![]() ![]() Vielleicht hilft es dir ja weiter. |
AW: Win10 VirtualDesktop aktuell sichtbarer Desktop
Eine ganz dumme Methode:
Alle Fenster enumerieren und mit IsWindowOnCurrentVirtualDesktop eins finden, das sich auf dem aktuellen Desktop befindet. Hat man eins gefunden, bekommt man die ID ja mit GetWindowDesktopId heraus. Doof wäre nur, wenn gar kein Fenster auf dem aktuellen Desktop liegt. |
AW: Win10 VirtualDesktop aktuell sichtbarer Desktop
Das probiere ich mal. Danke!
Das geht, jaenicke! Danke! Wenn kein Fenster da ist, dann geht das natürlich nicht. Aber das macht nichts. Ich will bei meinem Sohn verhindern, dass wenn ich ihm den PC blockiere mit einem fullscreen Fenster er nicht einfach auf den 2. Desktop switched. Ist es leer, sieht er nur den leeren Desktop, sowie er ein Spiel oder Browser oder was auch immer für ein Fenster aufmacht switched das fenster rüber. Man könnte natürlich auch auf jedem Desktop das Fenster starten, aber das braucht man ja nicht :) Geht ja jetzt auch so. |
AW: Win10 VirtualDesktop aktuell sichtbarer Desktop
Wenn man nach einer API zum Erstellen und Verwalten der VirtualDesktops sucht, dann landet man irgendwie immer bei Azure (die offiziellen Dokus von Microsoft). :freak:
Als wenn man zum Nutzen dieser API gezwungen werden soll sich Online zu connecten. Aber die API aus dem PowerShell-Script lassen sich auch nach Delphi übernehmen, falls jemand Lust hat. Seit 2,5 Jahren haben sich diese Interfaces nicht mehr geändert. Version / Build (die Versionen aus dem Script) 1607 / 14393 : 2016-08-02 Anniversary Update 1803 / 17134 : 2018-04-30 April 2018 Update 1809 / 17661 : 2018-10-02 Oktober 2018 Update |
AW: Win10 VirtualDesktop aktuell sichtbarer Desktop
Zitat:
Wenn er etwas machen möchte, das er nicht darf, kann er dich um Erlaubnis bitten. Du bekommst dann die Anfrage auf dem Handy. Genauso klappt das mit Zeiteinschränkungen. Das geht ganz simpel. Ach ja: Und man sieht was Junior so am PC gemacht hat, vor allem die Zeiten. |
AW: Win10 VirtualDesktop aktuell sichtbarer Desktop
Auf der anderen Seite haben mich solche nur halb funktionierenden PC-Sperren von Eltern auch erst dazu gebracht, mich genauer mit PCs zu beschäftigen. Wer weiß wo ich sonst gelandet wäre wenn ich durch Tüfteln und Knobeln nicht immer einen Weg drum herum gefunden hätte.
Naja, bis am Schluss die Festplatte in einem 5,25"-Wechselrahmen landete und ich die dann immer abgeben musste. Und ich dann heimlich alte DOS-Spiele von Diskette startete |
Alle Zeitangaben in WEZ +1. Es ist jetzt 07:30 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz