cb89
Messages postés7Date d'inscriptionjeudi 8 décembre 2005StatutMembreDernière intervention 2 décembre 2006
-
29 nov. 2006 à 13:30
cb89
Messages postés7Date d'inscriptionjeudi 8 décembre 2005StatutMembreDernière intervention 2 décembre 2006
-
2 déc. 2006 à 17:40
Bonjour.
Je voudrais que les fenêtres de mon application restent affichéessur le bureaumême lorsque l'utilisateur clique sur l'icône « Afficher le bureau » dans la barre de lancement rapide...
cb89
Messages postés7Date d'inscriptionjeudi 8 décembre 2005StatutMembreDernière intervention 2 décembre 2006 2 déc. 2006 à 17:40
J'ai trouvé ! Et en bien plus simple... sans API !
Je joins le code pour ceux que cela pourrait éventuellement intéresser :
Private Sub Form1_LocationChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.LocationChanged
If Me.Top < 0 Then
Me.WindowState = FormWindowState.Normal
Me.TopMost = True
Me.Refresh()
End If
End Sub
mortalino
Messages postés6786Date d'inscriptionvendredi 16 décembre 2005StatutMembreDernière intervention21 décembre 201118 29 nov. 2006 à 15:35
Salut,
pas sûr que ce soit impossible, il faut rechercher du côté des Apis, dès que la commande C:\Documents and Settings\<nom utilisateur>\Application Data\Microsoft\Internet Explorer\Quick Launch\Bureau.scf est lancé, de réafficher la Form.
(à l'aide d'un Timer).
Jamais fais, ce n'est qu'une piste (peut-être ?).
@++
<hr width="100%" size="2" />
--Mortalino--
Le mystérieux chevalier, "Provençal, le Gaulois"
/DIV>
cs_casy
Messages postés7741Date d'inscriptionmercredi 1 septembre 2004StatutMembreDernière intervention24 septembre 201440 29 nov. 2006 à 16:49
Voir du coté de l'API SetWindowsPos, mais c'est pas certain que ce soit possible effectivement.
La "commande Bureau" comme dit Mortalino n'est pas une commande qui lance un quelconque executable. Elle envoit juste une instruction au système pour qu'il force la réduction de toutes les fenetres ouvertes (passage à l'état Minimize).
Mais il est vrai que certaines fenetre restent affichées malgrès tout. Comment sont-elles affichées à la base??? Popup peut-etre, à essayer.
---- Sevyc64 (alias Casy) ----<hr size="2" width="100%" /># LE PARTAGE EST NOTRE FORCE #
Vous n’avez pas trouvé la réponse que vous recherchez ?
drikce06
Messages postés2236Date d'inscriptionlundi 29 mai 2006StatutMembreDernière intervention29 mai 200810 29 nov. 2006 à 17:03
Salut à tous, comme l'a dit 647037 mortalino , si tu peux detecter la commande, utilise l'API SetForgroundWindow! (ou celle de =333139 casy)
Tiens au passage, mortalino , t'as vu mon topic?
Drikce 06
Si la réponse vous convient: Réponse acceptée. Si la réponse vous convient pas:
cb89
Messages postés7Date d'inscriptionjeudi 8 décembre 2005StatutMembreDernière intervention 2 décembre 2006 30 nov. 2006 à 16:49
Bonsoir.
Merci à tous pour votre contribution !
J'ai réussi, sans trop de difficulté, à résoudre le problème de la détection du passage dans la barre des tâches grâce à la méthode : LocationChanged ...les coordonnées de la fenêtre deviennent toutes deux -3200 ! Il me suffit d'écrire :
Private Sub Form1_LocationChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.LocationChanged
If Me.Top < 0 Then
...je réaffiche la Form sur le Bureau !
End If
End Sub
Mais malheureusement, je ne sais pas « réafficher la Form »...
Pourriez-vous m'indiquer plus précisément un code ou un lien qui me permettrait de découvrir comment
cb89
Messages postés7Date d'inscriptionjeudi 8 décembre 2005StatutMembreDernière intervention 2 décembre 2006 30 nov. 2006 à 19:49
...désolé (merci Mortalino de ton aide) mais je ne comprends pas quel code écrire pour "forcer" ma fenêtre à rester ouverte !
Pourriez-vous m'indiquer un tutoriel simple qui m'expliquerait "pas à pas" comment faire appel une l'API ? D'avance une nouvelle fois merci...
Cordialement.
CB