Ich versuche, die API für Aero Peek zu verwenden. Mit viel Graben und Suchen bin ich auf diesen Code gestoßen:
%Vor%Aber ich kann es nicht zur Arbeit bringen. Ich weiß nicht, was die Parameter sind. Ich habe einige API abfangende Werkzeuge versucht, aber das hat nicht geklappt. Wie kann ich herausfinden, wie diese API richtig aufgerufen wird?
Ich habe es schließlich selbst gelöst. Ich habe einen Artikel auf meiner Website darüber geschrieben: Ссылка . Leider ist dies in holländisch, also hier ist ein wenig zu erklären:
%Vor% Der erste Parameter dient zum Aktivieren / Deaktivieren der Aero Peek-Funktionalität. Der zweite Parameter ist das Handle, auf das sich Aero peek konzentriert. Die anderen zwei eins konnte ich noch nicht identifizieren.
Bearbeiten: Nach einigem Herumspielen mit dieser API habe ich den 3. Parameter herausgefunden. Wenn Sie die TopMost-Eigenschaft eines Formulars festlegen, wird das Formular manchmal noch unterhalb des Aero Peek-Effekts angezeigt. Wenn Sie das Handle an das Formular übergeben, das als dritter Parameter über dem Peek-Effekt stehen muss, und die TopMost-Eigenschaft Ihres Formulars auf "true" gesetzt ist, befindet sich Ihr Formular über dem Peek-Effekt.
Sie können ein Fenster vom Aero Peek-Effekt ausschließen. Dies wird hier beschrieben: Ссылка
Ich weiß, das ist eine ältere Frage, aber die angenommene Antwort fehlt Vollständigkeit.
Im Folgenden finden Sie die korrekte Verwendung der Aero Peek API.
%Vor%Ich habe mehrere Monate damit verbracht, die meisten der coolen Windows 7-Taskleisten-API umzubauen, und das ist Teil meiner Erkenntnisse. Nehmen Sie es oder lassen Sie es, das ist der richtige Weg, um die Aero Peek API zu verwenden. Meine "Recherchen" wurden 2008 durchgeführt, während Windows 7 noch in der Beta-Version war und durchgesickerte Preview-Builds vorherrschten. Für diejenigen, die vielleicht scheiße machen, sollte dieser Code auch in Windows 8 funktionieren. Ein einfaches Beispiel folgt unten:
%Vor%Dieser Code ist prozessorunabhängig, kompilieren Sie ihn wie Sie wollen und er funktioniert trotzdem. Win32 und X64 sind beide willkommen.
Ich habe schlechte Nachrichten für alle, die diese undokumentierte Funktion verwenden. Windows 10 scheint ein zusätzliches Argument am Ende hinzugefügt zu haben. Das bedeutet wahrscheinlich, dass Ihr Code, der unter Win7 gut läuft, unter Win10 abstürzt, weil der Stack-Pointer nach dem Aufruf dieser Funktion nicht mehr funktioniert. Darüber hinaus besteht die Möglichkeit, dass das Aufrufen dieser Funktion mit einem fehlenden Stapelargument dazu führt, dass Win10 während des Aufrufs selbst einen ungültigen Zeiger auswählt.
Ich habe die folgende Definition verwendet.
%Vor%Ich habe in diesem neuen Argument einfach Null übergeben. Wenn ich 64bit-Code unter Win10 64bit ausführte, konnte ich Aero Peek mit Argumenten aktivieren, wie in den anderen Antworten auf dieser Seite beschrieben. 32bit Code unter Win10 64bit laufen, bekam ich den gleichen 0x80070018 Fehler, den ich erhielt, wenn 32bit Code unter Win7 64bit läuft.