Konsole auf 2. Desktop legen
-
Wenn man mit dem Standartprozedere einen 2. Desktop erstellt. Sprich
CreateDesktop(...)
SetThreadDesktop(...)
SwitchDesktop(...)usw.
Ich habe es jetzt soweit geschafft, dass ich mithilfe von MessageBox(...) eine Messagebox auf dem neuen Desktop sehe. Jedoch was ist wenn ich meine laufende Konsole (von der auch der neue Desktop erstellt wird) auf dem neuen Desktop anzeigen will?
Weiß jemand wie das geht? Und zwar ohne den Prozess neu zu starten.
-
Schau mal hier nach, die haben das alles schon gemacht:
VirtualWin:
http://virtuawin.sourceforge.net/
http://sourceforge.net/projects/virtuawin/files/VirtuaWin/4.3/VirtuaWin_source_4.3.zip/downloadspeziell die Methode "vwWindowSetDesk" und die darin aufgerufenen....
/************************************************
* Moves a window to a given desk
* move can be one of the following values:
* 0 - Window will be moved on next desktop change
* 1 - Window will be moved immediately
* 2 - Window will be shown on the current desktop.
*/
-
dankö
Ich werds mir anschauen. Außerdem wenn ich grad nen Thread offen hab kann mir jemand sagen wo es gute tutorials gibt um mit WinAPI guis zu erstellen?
Wenn möglich deutsch kann aba auch englisch sein.
-
Ich habbe mir das Beispiel angeschaut jedoch ist es recht umfangreich. Und ich dachte ich suche erstnochmal eine viertel stunde weiter nache einer Lösung und stieß auf das hier:
http://s7.directupload.net/images/110903/ejii7cmw.png
von hier: http://www.codeproject.com/KB/cs/csdesktopswitching.aspxNun ist mir natürlich auch mein Problem bekannt. Also ist es irgendwie möglich die Konsole temporär zu "zerstören" und dann auf dem neuen Desktop wieder anzuzeigen. Mit ShowWindow() habe ich das bereits versucht das klappt zu 100% nicht.
-
Du kommst vermutlich nicht drum rum, Dir den umfangreichen Code anzuschauen... ich hab Dir ja schon gesagt, wo Du genau suchen musst.... Du musst das Fenster unsichtbar machen, dann sollte es gehen...
-
Ja das habe ich ja mit ShowWindow versucht aber das ändert doch nix an der tatsache, dass der thread an die application gebunden ist oder?
-
ok ich gebs auch das Projekt das du mir gezeigt macht zwar das was ich suche jedoch sehe ich mich über den source nich drüber hinaus. ist mein erstes c++ projekt und dafür ist mir das einfach zu umfangreich. Und da sind so viele Methoden dass ich kein überblick hab.
-
Ich habe weiter gesucht, da mir ja hier niemand helfen kann und bin auf FreeConsole gestoßen. Kann dies die Lösung für folgendes Problem sein?
The SetThreadDesktop function will fail if the calling thread has any windows or hooks on its current desktop (unless the hDesktop parameter is a handle to the current desktop).