[SOLVED]WinAPI: Multiple Desktops

Seite 1 von 1 - Forum: Coding Stuff auf overclockers.at

URL: https://www.overclockers.at/coding-stuff/solvedwinapi_multiple_desktops_142840/page_1 - zur Vollversion wechseln!


geforceraid schrieb am 22.05.2005 um 13:54

Hallo!

Ich will ein Programm schreiben, welches mehrere virtuelle Desktops verwaltet.
Dazu verwende ich die WinAPI Funktionen
CreateDesktop und SwitchDesktop.

Wenn ich allerdings mittels SwitchDesktop auf den soeben erstellten Desktop wechsle, werden auf diesem keine Taskleiste und keine Programmicons dargestellt.

Auch der Aufruf
ShowWindow(FindWindow("Shell_TrayWnd", NULL), SW_SHOW);
hilft nichts.

Gibts da einen Lösungsansatz, oder muss man das mithilfe der Funktion EnumWindows realisieren?


that schrieb am 22.05.2005 um 16:37

Dass auf einem neuen Desktop noch keine Programme laufen, ist logisch. Das FindWindow sollte auf dem neuen Desktop NULL liefern, weil es auf diesem Desktop keine Taskleiste gibt, daher läuft das ShowWindow ins Leere.

Du könntest versuchen, auf dem neuen Desktop einfach einen weiteren Explorer zu starten.


watchout schrieb am 22.05.2005 um 18:19

Nur mal so als Frage in den Raum gestellt: Ist dir klar dass es bereits sowas gibt?


geforceraid schrieb am 23.05.2005 um 08:18

Zitat von watchout
Nur mal so als Frage in den Raum gestellt: Ist dir klar dass es bereits sowas gibt?

Ist mir schon klar, nur will ich mir die Technik aus Interesse mal genauer anschauen.
Wie kann ich den Explorer auf dem 2.Desktop starten?


JC schrieb am 23.05.2005 um 08:22

CreateProcess würde sich da wohl anbieten.


geforceraid schrieb am 23.05.2005 um 09:06

Zitat von JC
CreateProcess würde sich da wohl anbieten.

thx!
Jetzt funzts. Ich hab einfach das Feld startupInfo.lpDesktop auf den jeweiligen Desktop gesetzt.
Werd den Source posten, wenn das Programm fertig ist.

Edit:

Noch eine Frage:
Der Taskmanager wird beim 2.Desktop nicht angezeigt.
Wie kann ich für das System den primären Desktop umstellen?
In der MSDN finde ich leider auch nichts darüber




overclockers.at v4.thecommunity
© all rights reserved by overclockers.at 2000-2025