Bonjour à tous,
Comment certains softs font-ils pour ne pas se faire minimiser lors d'un
clic sur le racourci bureau ou lors d'un "<Windows> + M" ? Comment Explorer
fait-il pour forcer la minimisation des fenêtres ?
Merci.
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Christian ASTOR
Aurélien REGAT-BARREL a écrit:
Comment certains softs font-ils pour ne pas se faire minimiser lors d'un clic sur le racourci bureau ou lors d'un "<Windows> + M" ?
Cela dépend de la façon de minimiser. Par ex, une Tool Window n'est pas minimisée par VK_RWIN + M
Comment Explorer fait-il pour forcer la minimisation des fenêtres ?
Ca dépend aussi. Soit par IShellDispatch::MinimizeAll(), soit, Quick Launch par ex, en postant DTM_RAISE au Desktop (le faisant alors passer en HWND_TOP)
Aurélien REGAT-BARREL a écrit:
Comment certains softs font-ils pour ne pas se faire minimiser lors d'un
clic sur le racourci bureau ou lors d'un "<Windows> + M" ?
Cela dépend de la façon de minimiser.
Par ex, une Tool Window n'est pas minimisée par VK_RWIN + M
Comment Explorer
fait-il pour forcer la minimisation des fenêtres ?
Ca dépend aussi.
Soit par IShellDispatch::MinimizeAll(), soit, Quick Launch par ex, en
postant DTM_RAISE au Desktop (le faisant alors passer en HWND_TOP)
Comment certains softs font-ils pour ne pas se faire minimiser lors d'un clic sur le racourci bureau ou lors d'un "<Windows> + M" ?
Cela dépend de la façon de minimiser. Par ex, une Tool Window n'est pas minimisée par VK_RWIN + M
Comment Explorer fait-il pour forcer la minimisation des fenêtres ?
Ca dépend aussi. Soit par IShellDispatch::MinimizeAll(), soit, Quick Launch par ex, en postant DTM_RAISE au Desktop (le faisant alors passer en HWND_TOP)
Aurélien Regat-Barrel
> > Comment certains softs font-ils pour ne pas se faire minimiser lors d'un > clic sur le racourci bureau ou lors d'un "<Windows> + M" ?
Cela dépend de la façon de minimiser. Par ex, une Tool Window n'est pas minimisée par VK_RWIN + M
Quelles sont les façons de minimiser ?
> Comment Explorer > fait-il pour forcer la minimisation des fenêtres ?
Ca dépend aussi. Soit par IShellDispatch::MinimizeAll(), soit, Quick Launch par ex, en postant DTM_RAISE au Desktop (le faisant alors passer en HWND_TOP)
IShellDispatch::MinimizeAll(), je me doute qu'elle fait une énumération des fenêtres, puis ShowWindow( SW_MINIMIZE ). Mais apparement les fenêtres modales VB sont minimisées au dessus de la barre des tâches, ce serait une gestion particumière de VB. En fait je crois que c'est IShellDispatch4::ToggleDesktop() qui est appelé, et là ça marche pour les fenêtres VB. Mais c'est dispo que sous XP. Apparement l'équivalent "portable" c'est : PostMessage(FindWindow("Shell_TrayWnd", NULL), WM_COMMAND, MAKELONG(415, 0), 0); Mais c'est pas documenté. Je cherche une méthode plus propre.
Je n'ai trouvé aucune doc (google, msdn) sur DTM_RAISE, aurais-tu un lien ? Merci.
-- Aurélien REGAT-BARREL
> > Comment certains softs font-ils pour ne pas se faire minimiser lors d'un
> clic sur le racourci bureau ou lors d'un "<Windows> + M" ?
Cela dépend de la façon de minimiser.
Par ex, une Tool Window n'est pas minimisée par VK_RWIN + M
Quelles sont les façons de minimiser ?
> Comment Explorer
> fait-il pour forcer la minimisation des fenêtres ?
Ca dépend aussi.
Soit par IShellDispatch::MinimizeAll(), soit, Quick Launch par ex, en
postant DTM_RAISE au Desktop (le faisant alors passer en HWND_TOP)
IShellDispatch::MinimizeAll(), je me doute qu'elle fait une énumération des
fenêtres, puis ShowWindow( SW_MINIMIZE ).
Mais apparement les fenêtres modales VB sont minimisées au dessus de la
barre des tâches, ce serait une gestion particumière de VB.
En fait je crois que c'est IShellDispatch4::ToggleDesktop() qui est appelé,
et là ça marche pour les fenêtres VB. Mais c'est dispo que sous XP.
Apparement l'équivalent "portable" c'est :
PostMessage(FindWindow("Shell_TrayWnd", NULL), WM_COMMAND, MAKELONG(415,
0), 0);
Mais c'est pas documenté. Je cherche une méthode plus propre.
Je n'ai trouvé aucune doc (google, msdn) sur DTM_RAISE, aurais-tu un lien ?
Merci.
> > Comment certains softs font-ils pour ne pas se faire minimiser lors d'un > clic sur le racourci bureau ou lors d'un "<Windows> + M" ?
Cela dépend de la façon de minimiser. Par ex, une Tool Window n'est pas minimisée par VK_RWIN + M
Quelles sont les façons de minimiser ?
> Comment Explorer > fait-il pour forcer la minimisation des fenêtres ?
Ca dépend aussi. Soit par IShellDispatch::MinimizeAll(), soit, Quick Launch par ex, en postant DTM_RAISE au Desktop (le faisant alors passer en HWND_TOP)
IShellDispatch::MinimizeAll(), je me doute qu'elle fait une énumération des fenêtres, puis ShowWindow( SW_MINIMIZE ). Mais apparement les fenêtres modales VB sont minimisées au dessus de la barre des tâches, ce serait une gestion particumière de VB. En fait je crois que c'est IShellDispatch4::ToggleDesktop() qui est appelé, et là ça marche pour les fenêtres VB. Mais c'est dispo que sous XP. Apparement l'équivalent "portable" c'est : PostMessage(FindWindow("Shell_TrayWnd", NULL), WM_COMMAND, MAKELONG(415, 0), 0); Mais c'est pas documenté. Je cherche une méthode plus propre.
Je n'ai trouvé aucune doc (google, msdn) sur DTM_RAISE, aurais-tu un lien ? Merci.
-- Aurélien REGAT-BARREL
Christian ASTOR
Aurélien Regat-Barrel a écrit:
En fait je crois que c'est IShellDispatch4::ToggleDesktop() qui est appelé, et là ça marche pour les fenêtres VB. Mais c'est dispo que sous XP. Apparement l'équivalent "portable" c'est : PostMessage(FindWindow("Shell_TrayWnd", NULL), WM_COMMAND, MAKELONG(415, 0), 0);
Non, ça appelle ::MinimizeAll() (Tool Windows pas réduites)
Je n'ai trouvé aucune doc (google, msdn) sur DTM_RAISE, aurais-tu un lien ?
J'ai un lien, mais ça pointe vers mon disque dur...
#define DTM_RAISE (WM_USER + 83) 0 en lParam sur "Progman" Associé à SetForegroundWindow(), ça correspond à un toggle du Desktop sur Win 9x, qui réduit tout dans ce cas, bien que le foreground soit en réalité mis sur une Tool Window cachée créée par SHCreateWorkerWindow() (classe "WorkerA" ou "WorkerW"), dans l'espace d'adressage de l'Explorer (donc hook si on voulait refaire exactement la même chose)
Aurélien Regat-Barrel a écrit:
En fait je crois que c'est IShellDispatch4::ToggleDesktop() qui est appelé,
et là ça marche pour les fenêtres VB. Mais c'est dispo que sous XP.
Apparement l'équivalent "portable" c'est :
PostMessage(FindWindow("Shell_TrayWnd", NULL), WM_COMMAND, MAKELONG(415,
0), 0);
Non, ça appelle ::MinimizeAll() (Tool Windows pas réduites)
Je n'ai trouvé aucune doc (google, msdn) sur DTM_RAISE, aurais-tu un lien ?
J'ai un lien, mais ça pointe vers mon disque dur...
#define DTM_RAISE (WM_USER + 83)
0 en lParam sur "Progman"
Associé à SetForegroundWindow(), ça correspond à un toggle du Desktop
sur Win 9x, qui réduit tout dans ce cas, bien que le foreground soit en
réalité mis sur une Tool Window cachée créée par SHCreateWorkerWindow()
(classe "WorkerA" ou "WorkerW"), dans l'espace d'adressage de l'Explorer
(donc hook si on voulait refaire exactement la même chose)
En fait je crois que c'est IShellDispatch4::ToggleDesktop() qui est appelé, et là ça marche pour les fenêtres VB. Mais c'est dispo que sous XP. Apparement l'équivalent "portable" c'est : PostMessage(FindWindow("Shell_TrayWnd", NULL), WM_COMMAND, MAKELONG(415, 0), 0);
Non, ça appelle ::MinimizeAll() (Tool Windows pas réduites)
Je n'ai trouvé aucune doc (google, msdn) sur DTM_RAISE, aurais-tu un lien ?
J'ai un lien, mais ça pointe vers mon disque dur...
#define DTM_RAISE (WM_USER + 83) 0 en lParam sur "Progman" Associé à SetForegroundWindow(), ça correspond à un toggle du Desktop sur Win 9x, qui réduit tout dans ce cas, bien que le foreground soit en réalité mis sur une Tool Window cachée créée par SHCreateWorkerWindow() (classe "WorkerA" ou "WorkerW"), dans l'espace d'adressage de l'Explorer (donc hook si on voulait refaire exactement la même chose)
Non, ça appelle ::MinimizeAll() (Tool Windows pas réduites)
Comment sais-tu que 415 = MinimizeAll ?
J'ai un lien, mais ça pointe vers mon disque dur...
C'est pas un problème. Clic droit -> partager :-)
#define DTM_RAISE (WM_USER + 83) 0 en lParam sur "Progman" Associé à SetForegroundWindow(), ça correspond à un toggle du Desktop sur Win 9x, qui réduit tout dans ce cas, bien que le foreground soit en réalité mis sur une Tool Window cachée créée par SHCreateWorkerWindow() (classe "WorkerA" ou "WorkerW"), dans l'espace d'adressage de l'Explorer (donc hook si on voulait refaire exactement la même chose)
DTM_RAISE, SHCreateWorkerWindow... Ou as-tu ces infos ? Google et MSDN restent muets. Tu as accès au source Windows ? (les MVP le peuvent il me semble)
Non, ça appelle ::MinimizeAll() (Tool Windows pas réduites)
Comment sais-tu que 415 = MinimizeAll ?
J'ai un lien, mais ça pointe vers mon disque dur...
C'est pas un problème. Clic droit -> partager :-)
#define DTM_RAISE (WM_USER + 83)
0 en lParam sur "Progman"
Associé à SetForegroundWindow(), ça correspond à un toggle du Desktop
sur Win 9x, qui réduit tout dans ce cas, bien que le foreground soit en
réalité mis sur une Tool Window cachée créée par SHCreateWorkerWindow()
(classe "WorkerA" ou "WorkerW"), dans l'espace d'adressage de l'Explorer
(donc hook si on voulait refaire exactement la même chose)
DTM_RAISE, SHCreateWorkerWindow...
Ou as-tu ces infos ? Google et MSDN restent muets.
Tu as accès au source Windows ? (les MVP le peuvent il me semble)
Non, ça appelle ::MinimizeAll() (Tool Windows pas réduites)
Comment sais-tu que 415 = MinimizeAll ?
J'ai un lien, mais ça pointe vers mon disque dur...
C'est pas un problème. Clic droit -> partager :-)
#define DTM_RAISE (WM_USER + 83) 0 en lParam sur "Progman" Associé à SetForegroundWindow(), ça correspond à un toggle du Desktop sur Win 9x, qui réduit tout dans ce cas, bien que le foreground soit en réalité mis sur une Tool Window cachée créée par SHCreateWorkerWindow() (classe "WorkerA" ou "WorkerW"), dans l'espace d'adressage de l'Explorer (donc hook si on voulait refaire exactement la même chose)
DTM_RAISE, SHCreateWorkerWindow... Ou as-tu ces infos ? Google et MSDN restent muets. Tu as accès au source Windows ? (les MVP le peuvent il me semble)