Priorisateur d'affichage (permet d'afficher en premier plan des fenêtres windows)

Soyez le premier à donner votre avis sur cette source.

Vue 11 434 fois - Téléchargée 757 fois

Description

PROMOTION DE LA SOURCE :

Vous ne savez plus comment mettre votre télé par dessus les autres applications ?
Vous aimeriez coder tout en regardant ce qu'il se passe sur un channel irc ou une chatroom quelconque ?
Vous voulez toujours avoir un oeil sur une/des application(s), des informations qui risqueraient de changer à tout moment ?
Et bien ne cherchez plus ! Cet éxécutable va vous rendre service. Il "priorise" l'affichage d'une/des fenêtre(s) de votre choix. Son fonctionnement est très simple.

FONCTIONNEMENT :

Lancez l'exe.
Enfoncer le click gauche de la souris sur l'image représentant une cible.
Relachez le click sur la barre de titre de l'application visée.
Afin de vous confirmer sa priorisation la fenêtre se déplace en haut à gauche de votre écran.
Voila c'est fait !
Clickez sur "Minimiser" pour réduire l'application dans le système Tray (en bas à droite)

NOTE :

Vous pouvez le faire avec toutes les fenêtres que vous souhaitez.
Des fenêtres qui sont priorisées se comportent entre elles comme des fenêtres normales.

Source / Exemple :


'Voila le code, il est simple...
'Si vous voulez un exe déjà tout fait, avec les sources, regardez dans le zip !

Option Explicit 'Permet au lecteur (toi ! :) ) de savoir
                ' que le compilo ne connait QUE les choses declarées.

' Quelques APIs ...
Private Declare Function GetCursorPos Lib "user32" (ByRef Coord As Point) As Long
Private Declare Function WindowFromPoint Lib "user32" (ByVal x As Long, ByVal y As Long) As Long
Private Declare Function SetWindowPos Lib "user32" (ByVal hwnd As Long, ByVal hWndInsertAfter As Long, ByVal x As Long, ByVal y As Long, ByVal cx As Long, ByVal cy As Long, ByVal wFlags As Long) As Long

Private Type Point
 x As Long
 y As Long
End Type

Dim Coord As Point 'Coordonnés de la souris.
Dim Handle As Long 'Variable de récupération de la fenêtre ciblée.

Private Sub Form_Load()
 Me.Picture = Me.Icon 'Affiche l'image de la cible sur la form.
 App.TaskVisible = False 'Désactive l'affichage du programme dans la barre de taches en bas.
 ZTray.ShowInTray = True 'Donc on active l'affichage dans le système Tray.
 
 'Met la form toujours devant
 SetWindowPos hwnd, IIf(Me.hwnd, -1, -2), 0, 0, 0, 0, 1
End Sub

'Réduit l'application dans le système Tray
Private Sub cmdMinimiser_Click()
  Me.Visible = False
  ZTray.ShowInTray = True
End Sub

'Affiche l'application qui était dans le système Tray
Private Sub ZTray_Click(button As Integer)
 If button = 2 Then PopupMenu MnuExit
 If button <> 2 Then Me.Visible = Not Me.Visible
End Sub

Private Sub Form_MouseDown(button As Integer, Shift As Integer, x As Single, y As Single)
'Vérifie si on click sur la cible
 If x < 435 And y < 420 Then
  Me.Picture = LoadPicture()
  Me.MousePointer = 99
  Me.Tag = "Action" 'Valide le click
 End If
End Sub

Private Sub Form_MouseUp(button As Integer, Shift As Integer, x As Single, y As Single)
 If Me.Tag = "Action" Then
   'Recupération des coordonnés de la souris
   GetCursorPos Coord
   Me.Picture = Me.Icon
   Me.MousePointer = 0
   'Récupération du handle de la fenêtre ciblée grâce aux coordonnées
   Handle = WindowFromPoint(Coord.x, Coord.y)
   'Si jamais vous connaissez quelques test à faire sur la valeur du handle ça serait sympa de me prévenir... merci d'avance
   If Handle <> Me.hwnd Then SetWindowPos Handle, IIf(Handle, -1, -2), 0, 0, 0, 0, 1
   Me.Tag = "" 'Action terminée...
 End If
End Sub

'Quitte l'application proprement
Private Sub MnuClose_Click()
 Unload Me ' Cherchez pas à comprendre l'utilité de cette ligne :)
 End
End Sub

Conclusion :


J'ai "emprunté" l'icone à l'auteur de "PUBs destructor" ( http://www.vbfrance.com/code.aspx?ID=6873 ).
J'espère qu'il ne m'en voudra pas...

Codes Sources

A voir également

Ajouter un commentaire

Commentaires

Commenter la réponse de jotrash

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.