Pin Anwendungen auf mehrere desktops in Windows 10

Eine der großen neuen Funktionen für Windows ist die Tatsache, dass jetzt mehrere "virtuelle" Desktops nativ unterstützt werden, sodass Sie Windows-Sammlungen zusammen organisieren und Aufgabengruppen trennen können.

Das ist gut.

Sie können Fenster zwischen Desktops verschieben, indem Sie auf die Schaltfläche "Aufgaben" klicken und dann mit der rechten Maustaste auf ein Anwendungsfenster klicken und "Verschieben nach" auswählen..."

Das ist ein bisschen klobig und nicht ganz so gut.

Ich habe zwei Monitore und oft ich möchte einen Film auf meinem zweiten Monitor abspielen lassen, entweder in einem Webbrowser oder Media Player, während ich einen Browser und einige andere Anwendungen auf dem Hauptbildschirm habe. Dies ist in meinem aktuellen Setup kein Problem, es funktioniert einfach.

Mit dem Aufkommen virtueller Desktops wollte ich den Browser auf einen virtuellen Desktop und eine andere App auf einen anderen virtuellen Desktop stellen und das Video trotzdem ansehen können, wenn ich die Desktops wechsle, wodurch es effektiv auf beide sichtbar ist virtuell Desktop. Wenn Sie die Standard-Film-und TV-App zum Abspielen eines Videos verwenden und dann zu einem anderen Desktop wechseln, wird Ihr Video ohne Vorwarnung angehalten.

Das ist nicht gut.

Was ich hoffte, war, dass entweder die beiden Monitore ihren eigenen virtuellen Desktop haben würden oder dass es eine "Pin an alle Desktops" - Option geben würde, ähnlich der" Sticky Window " - Funktion, die ich in vielen Linux-basierten Fenstermanagern gesehen habe.

Gibt es eine Möglichkeit, dies zu erreichen?

Author: Mokubai, 2015-08-05

3 answers

Die Funktion wurde nun als eine von mehreren "Virtual Desktop Improvements" im Windows 10 Anniversary Update (Build 14316) veröffentlicht:

Sie können jetzt ein Fenster anheften, damit es auf jedem Desktop verfügbar ist. Starten Sie dazu Task View, klicken Sie mit der rechten Maustaste auf das Fenster, das Sie anheften möchten, und wählen Sie "Dieses Fenster auf allen Desktops anzeigen". Versuchen Sie, Skype oder Groove Music festzuhalten, damit sie immer zur Hand sind. Und wenn Sie ein Multi-Mon-Setup haben, können Sie das genießen möglichkeit, Ihre E-Mail-App auf dem zweiten Monitor zu haben, unabhängig davon, zu welchem Desktop Sie wechseln.

geben Sie hier die Bildbeschreibung ein

 119
Author: Daniel Ballinger,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/techietown.info/template/agent.layouts/content.php on line 61
2018-10-24 12:13:31

Ja. [fast :)] Jedes Fenster mit dem Attribut WS_EX_TOOLWINDOW ist auf allen Desktops sichtbar.

Autohotkey ist dabei eine große Hilfe. Beispielskript-MyLoop.ahk:

WS_EX_TOOLWINDOW := 0x00000080
Loop
{
   WinSet, ExStyle, +%WS_EX_TOOLWINDOW%, ahk_class Chrome_WidgetWin_1
   Sleep,100
}

Setzen Sie diese in Windows-Start und Google Chrome-Fenster wird "stick" auf alle virtuellen Desktops.

Oder weisen Sie dies als Hotkey zu: Beispielskript-MyHotkeys.ahk:

WS_EX_TOOLWINDOW := 0x00000080
+MButton::WinSet, ExStyle, ^%WS_EX_TOOLWINDOW%, A
^MButton::WinSet, AlwaysOnTop, toggle, A

Setzen diese in windows start und sie können TOGGLE "sticky" zustand für jedes fenster durch drücken Shift+mittlere taste klicken sie auf es.

Zusatztaste-Strg+mittlere Taste klicken Sie auf "topmost" Zustand umschalten. Sehr nützlich.

PS: Moderne Anwendungen (z. B. Windows 10 Calculator) ignorieren dies irgendwie. Weiß nicht, warum. Aber für Windows Explorer-Fenster und die meisten "alten Anwendungen" - es ist alles in Ordnung

 20
Author: IDj,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/techietown.info/template/agent.layouts/content.php on line 61
2015-11-25 10:55:59

Basierend auf der obigen @idj-Lösung ist dies die Vorgehensweise in C:

exstyle = GetWindowLongPtr(hwndPtr, GWL_EXSTYLE);
exstyle |= WS_EX_TOOLWINDOW
SetWindowLongPtr(hwndPtr, GWL_EXSTYLE, exstyle);
 1
Author: Noitidart,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/techietown.info/template/agent.layouts/content.php on line 61
2016-11-05 21:26:00