In meiner C # -Konsolenanwendung verwende ich SendMessage()
, um alle Fenster zu minimieren und den Windows 8 Legacy Desktop zu zeigen. Das funktioniert großartig, aber ich muss Thread.Sleep(1000)
verwenden, um darauf zu warten, dass der Legacy Desktop tatsächlich angezeigt wird, bevor ich versuche, etwas anderes zu tun.
Ich möchte wirklich Thread.Sleep()
durch eine effizientere Methode ersetzen, um zu erkennen, dass der Legacy Desktop angezeigt wird, bevor Sie fortfahren.
Irgendwelche Ideen?
Bearbeiten: Hier sind die Interop Wrapper und Konstanten. nur für den Fall, dass es hilft ..
%Vor%Ich bin nicht sicher, ob das für Sie besser funktioniert, aber vielleicht ist es einen Versuch wert ...
(1) Fügen Sie Ihrem Projekt einen Verweis auf "Shell32" hinzu (über Add Reference - & gt; COM - & gt; Microsoft Shell-Steuerelemente und Automatisierung).
(2) Setzen Sie die "Interop-Typen einbetten" der Referenz auf false
.
(3) Verwenden Sie den folgenden Code, um alle Fenster zu minimieren:
%Vor%Ich vermute jedoch, dass dies nur ein alternativer Weg ist, SendMessage () zu machen.
Tags und Links c#