Wie kann ich mit Code F5 Refesh ausführen
-
Hallo
Ich habe folgesdes ausprobiert,
geht leider nicht.
UpdateWindow(GetDesktopWindow());
PostMessage(GetDesktopWindow(), WM_KEYDOWN, VK_F5, 0);Hat jemand eine andere Idee.
Frohe Ostern
-
ats3788 schrieb:
Hallo
Ich habe folgesdes ausprobiert,
geht leider nicht.
UpdateWindow(GetDesktopWindow());
PostMessage(GetDesktopWindow(), WM_KEYDOWN, VK_F5, 0);Hat jemand eine andere Idee.
Frohe Ostern
Yo, auch frohe Ostern. Es wäre hilfreich, wenn du zusätzlich erklären würdest was du überhaupt bezwecken möchtest. Was soll der Code für dich machen? Wäschewaschen, einkaufen, ...? Hab gerade meine Kristallkugel nicht zur Hand, sonst würde ich nicht so blöd fragen.
-
Hallo
Ich dachte es wäre klar.Ich habe ein Handle von einen Explorer
und möchte anstatt mit der Taste "F5" einen Oberflächen
Refresh, die mit Code ausführen.Ist das verständlicher ?
-
Du könntest dir evtl. ein IShellView Objekt für den Desktop holen, das hat eine Refresh Funktion. Obs tatsächlich geht, weiß ich jetzt aber nicht. Der Aufwand dürfte den Nutzen vermutlich überwiegen.
Das mit F5 faken dürfte einfacher sein. Versuchs mit SendInput, mit PostMessage funktioniert sowas normalerweise nicht oder zumindest nicht in allen Fällen (Modifier usw.)
-
Der Explorer beinhaltet mehrere ChildWindows. An welchen davon möchtest Du die Message schicken?
-
@Mechanics
Ja,SendInput
ist normalerweise relativ einfach.
Dummerweise setzt es voraus dass man vorher den Fokus dort hin setzt wo man den Tastendruck empfangen bekommen möchte.
Was man oft (meistens?) nicht will.Weiters ist es nicht unbedingt mega zuverlässig. Es könnte passieren dass das Ändern des Fokus schief geht (foreground lock), und dann geht der Tastendruck an das falsche Fenster. Bzw. theoretisch könnte auch eine andere Anwendung zwischen dem Setzen des Fokus und dem
SendInput
den Fokus nochmal ändern.Ich würde also eher deinen ersten Vorschlag (
IShellView
) empfehlen.
-
hustbaer schrieb:
@Mechanics
Ja,SendInput
ist normalerweise relativ einfach.
Dummerweise setzt es voraus dass man vorher den Fokus dort hin setzt wo man den Tastendruck empfangen bekommen möchte.Stimmt, das hatte ich irgendwie ausgeblendet.
-
oh ich hatte wohl vergessen zu
erwähnen , das handel auf das fenster habe ich.sewegen dachte ich es geht mit postmessage
-
https://sourceforge.net/projects/sendinputhelper/?source=typ_redirect
Ich habe das zu "sendinput" gefunden.Ist echt mächtig, nur hoffe ich das das anders geht mit einem
Fenster Handle.
-
ats3788 schrieb:
oh ich hatte wohl vergessen zu
erwähnen , das handel auf das fenster habe ich.sewegen dachte ich es geht mit postmessage
Der Explorer besteht aus mehreren Fenster. Das Handle von welchen hast Du?
-
ats3788 schrieb:
https://sourceforge.net/projects/sendinputhelper/?source=typ_redirect
Ich habe das zu "sendinput" gefunden.Ist echt mächtig, nur hoffe ich das das anders geht mit einem
Fenster Handle.Das Ding ist doch nur ein API Wrapper... und mit einem Fensterhandle macht das Ding nix...
-
Hoha ich habe mich noch gar nicht bedankt
Danke and ie lieben Mitglieder des Forums