VB.NET: Interdire à la souris de survoler la barre des taches

Anonyme209 Messages postés 761 Statut Membre -  
Anonyme209 Messages postés 761 Statut Membre -
Bonjour,

En VB.NET, je souhaiterais interdire à la souris de survoler la barre des taches.
Il faut que le code fonctionne peu importe où la barre des taches est placée (en haut, en bas, à gauche ou à droite) et peu importe la taille de la barre des taches.
Je précise aussi que mon programme n'étant pas forcément en FormWindowState Maximized, je ne veux pas que la souris soit bloquée à l'intérieur de la form, mais qu'elle ne puisse seulement pas survoler la barre des taches.

Merci de votre aide.

1 réponse

  1. cs_Le Pivert Messages postés 8437 Statut Contributeur 730
     
    Bonjour,

    Et si tu masquais la barre de tâche pour empêcher l'utilisateur d'y avoir accès comme ceci:

    Option Strict On
    Public Class Form1
        Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Integer
        Declare Function SetWindowPos Lib "user32" (ByVal hwnd As Integer, ByVal hWndInsertAfter As Integer, ByVal x As Integer, ByVal y As Integer, ByVal cx As Integer, ByVal cy As Integer, ByVal wFlags As Integer) As Integer
        Const TASKBAR_SHOW As Integer = &H40
        Const TASKBAR_HIDE As Integer = &H80
        Private Sub cmdOK_Click(sender As System.Object, e As System.EventArgs) Handles cmdOK.Click
            Dim TaskbarHandle As Long
            If cmdOK.Text = "Masquer barre de tâche" Then
                TaskbarHandle = FindWindow("Shell_traywnd", "")
                SetWindowPos(CInt(TaskbarHandle), 0&, 0&, 0&, 0&, 0&, TASKBAR_HIDE)
                cmdOK.Text = "Rétablir barre de tâche"
            Else
                cmdOK.Text = "Masquer barre de tâche"
                TaskbarHandle = FindWindow("Shell_traywnd", "")
                SetWindowPos(CInt(TaskbarHandle), 0&, 0&, 0&, 0&, 0&, TASKBAR_SHOW)
            End If
        End Sub
        Private Sub Form1_Load(sender As System.Object, e As System.EventArgs) Handles MyBase.Load
            cmdOK.Text = "Masquer barre de tâche"
            cmdOK.AutoSize = True
        End Sub
    End Class
    


    0
    1. Anonyme209 Messages postés 761 Statut Membre 19
       
      J'ai essayé, la barre des tâches n'est plus visible, mais le bouton démarrer peut encore l'être, et il réapparaît lorsqu'on appuie sur la touche Windows.
      J'ai fait un keyboard hook, la touche Windows est correctement bloquée, mais le bouton démarrer peut encore ne pas disparaître lorsque la barre des taches est masquée.
      0