La barre de tâche étant amovible et de hauteur variable, comment savoir
si elle est visible ou pas ? Je voudrais placer une barre au dessus de
celle-ci, mais comme sa taille est variable... voir sa position.
La barre de tâche étant amovible et de hauteur variable, comment savoir si elle est visible ou pas ? Je voudrais placer une barre au dessus de celle-ci, mais comme sa taille est variable... voir sa position.
Merci.
Comme pour tout, avec les apis win32.
"bahn po" <bahnpo@vrotiska.net> wrote in message
news:mn.6d227d93f2135042.68335@vrotiska.net...
Hello repetita
La barre de tâche étant amovible et de hauteur variable, comment savoir si
elle est visible ou pas ? Je voudrais placer une barre au dessus de
celle-ci, mais comme sa taille est variable... voir sa position.
La barre de tâche étant amovible et de hauteur variable, comment savoir si elle est visible ou pas ? Je voudrais placer une barre au dessus de celle-ci, mais comme sa taille est variable... voir sa position.
Merci.
Comme pour tout, avec les apis win32.
Steph
Jacques93 wrote:
Euh, à droite, à gauche ou au dessus ? A tout hasard, un petit code qui énumère certaines caractéristiques de la barre de taches (Class = "Shell_TrayWnd") et de ses sous-fenêtres (Quick Launch, Notify Icons, Clock, etc...)
Ca n'a rien à voir et c'est faux, vu que les classes changent d'un OS à l'autre. Il faut utiliser les apis APBR pour placer automatiquement une fenêtre au-dessus ou ailleurs
Jacques93 wrote:
Euh, à droite, à gauche ou au dessus ?
A tout hasard, un petit code qui énumère certaines caractéristiques de
la barre de taches (Class = "Shell_TrayWnd") et de ses sous-fenêtres
(Quick Launch, Notify Icons, Clock, etc...)
Ca n'a rien à voir et c'est faux, vu que les classes changent d'un OS à
l'autre.
Il faut utiliser les apis APBR pour placer automatiquement une fenêtre
au-dessus ou ailleurs
Euh, à droite, à gauche ou au dessus ? A tout hasard, un petit code qui énumère certaines caractéristiques de la barre de taches (Class = "Shell_TrayWnd") et de ses sous-fenêtres (Quick Launch, Notify Icons, Clock, etc...)
Ca n'a rien à voir et c'est faux, vu que les classes changent d'un OS à l'autre. Il faut utiliser les apis APBR pour placer automatiquement une fenêtre au-dessus ou ailleurs
Jacques93
Bonjour bahn po, bahn po a écrit :
Hello repetita
La barre de tâche étant amovible et de hauteur variable, comment savoir si elle est visible ou pas ? Je voudrais placer une barre au dessus de celle-ci, mais comme sa taille est variable... voir sa position.
Merci.
Euh, à droite, à gauche ou au dessus ? A tout hasard, un petit code qui énumère certaines caractéristiques de la barre de taches (Class = "Shell_TrayWnd") et de ses sous-fenêtres (Quick Launch, Notify Icons, Clock, etc...)
Il est important, même indispensable, que la fonction d'énumération des sous fenêtre soit dans un module, sous peine d'une erreur de compilation sur l'opérateur 'AddressOf'. Concernant la visibilité de la barre, il vaut mieux se baser sur sa position, elle a toujours le flag WS_VISIBLE.
'------------------- ' Dans une feuille : '------------------- Option Explicit
Private Sub Command1_Click() Dim hWndTray As Long
' Récupère le handle de la barre de tâche hWndTray = FindWindow("Shell_TrayWnd", "") If hWndTray <> 0 Then DisplayWndInfos hWndTray EnumChildWindows hWndTray, AddressOf EnumTaskbarWindows, 0 End If End Sub
'----------------- ' Dans un module : '----------------- Option Explicit
Public Type RECT Left As Long Top As Long Right As Long Bottom As Long End Type
Public Declare Function FindWindow Lib "user32" Alias "FindWindowA" _ (ByVal lpClassName As String, _ ByVal lpWindowName As String) As Long
Public Declare Function EnumChildWindows Lib "user32" _ (ByVal hWndParent As Long, _ ByVal lpEnumFunc As Long, _ ByVal lParam As Long) As Long
Public Declare Function GetWindowRect Lib "user32" _ (ByVal hwnd As Long, lpRect As RECT) As Long
Public Declare Function GetWindowText Lib "user32" Alias "GetWindowTextA" _ (ByVal hwnd As Long, ByVal lpString As String, _ ByVal cch As Long) As Long
Public Declare Function GetClassName Lib "user32" Alias "GetClassNameA" _ (ByVal hwnd As Long, ByVal lpClassName As String, _ ByVal nMaxCount As Long) As Long
Public Declare Function IsWindowVisible Lib "user32" _ (ByVal hwnd As Long) As Long
Public Function EnumTaskbarWindows(ByVal hwnd As Long, _ ByVal lParam As Long) As Long DisplayWndInfos hwnd EnumTaskbarWindows = 1 End Function
Public Sub DisplayWndInfos(ByVal hwnd As Long) Dim Caption As String, ClassName As String Dim rc As RECT Dim lResult As Long
La barre de tâche étant amovible et de hauteur variable, comment savoir
si elle est visible ou pas ? Je voudrais placer une barre au dessus de
celle-ci, mais comme sa taille est variable... voir sa position.
Merci.
Euh, à droite, à gauche ou au dessus ?
A tout hasard, un petit code qui énumère certaines caractéristiques de
la barre de taches (Class = "Shell_TrayWnd") et de ses sous-fenêtres
(Quick Launch, Notify Icons, Clock, etc...)
Il est important, même indispensable, que la fonction d'énumération des
sous fenêtre soit dans un module, sous peine d'une erreur de compilation
sur l'opérateur 'AddressOf'. Concernant la visibilité de la barre, il
vaut mieux se baser sur sa position, elle a toujours le flag WS_VISIBLE.
'-------------------
' Dans une feuille :
'-------------------
Option Explicit
Private Sub Command1_Click()
Dim hWndTray As Long
' Récupère le handle de la barre de tâche
hWndTray = FindWindow("Shell_TrayWnd", "")
If hWndTray <> 0 Then
DisplayWndInfos hWndTray
EnumChildWindows hWndTray, AddressOf EnumTaskbarWindows, 0
End If
End Sub
'-----------------
' Dans un module :
'-----------------
Option Explicit
Public Type RECT
Left As Long
Top As Long
Right As Long
Bottom As Long
End Type
Public Declare Function FindWindow Lib "user32" Alias "FindWindowA" _
(ByVal lpClassName As String, _
ByVal lpWindowName As String) As Long
Public Declare Function EnumChildWindows Lib "user32" _
(ByVal hWndParent As Long, _
ByVal lpEnumFunc As Long, _
ByVal lParam As Long) As Long
Public Declare Function GetWindowRect Lib "user32" _
(ByVal hwnd As Long, lpRect As RECT) As Long
Public Declare Function GetWindowText Lib "user32" Alias "GetWindowTextA" _
(ByVal hwnd As Long, ByVal lpString As String, _
ByVal cch As Long) As Long
Public Declare Function GetClassName Lib "user32" Alias "GetClassNameA" _
(ByVal hwnd As Long, ByVal lpClassName As String, _
ByVal nMaxCount As Long) As Long
Public Declare Function IsWindowVisible Lib "user32" _
(ByVal hwnd As Long) As Long
Public Function EnumTaskbarWindows(ByVal hwnd As Long, _
ByVal lParam As Long) As Long
DisplayWndInfos hwnd
EnumTaskbarWindows = 1
End Function
Public Sub DisplayWndInfos(ByVal hwnd As Long)
Dim Caption As String, ClassName As String
Dim rc As RECT
Dim lResult As Long
La barre de tâche étant amovible et de hauteur variable, comment savoir si elle est visible ou pas ? Je voudrais placer une barre au dessus de celle-ci, mais comme sa taille est variable... voir sa position.
Merci.
Euh, à droite, à gauche ou au dessus ? A tout hasard, un petit code qui énumère certaines caractéristiques de la barre de taches (Class = "Shell_TrayWnd") et de ses sous-fenêtres (Quick Launch, Notify Icons, Clock, etc...)
Il est important, même indispensable, que la fonction d'énumération des sous fenêtre soit dans un module, sous peine d'une erreur de compilation sur l'opérateur 'AddressOf'. Concernant la visibilité de la barre, il vaut mieux se baser sur sa position, elle a toujours le flag WS_VISIBLE.
'------------------- ' Dans une feuille : '------------------- Option Explicit
Private Sub Command1_Click() Dim hWndTray As Long
' Récupère le handle de la barre de tâche hWndTray = FindWindow("Shell_TrayWnd", "") If hWndTray <> 0 Then DisplayWndInfos hWndTray EnumChildWindows hWndTray, AddressOf EnumTaskbarWindows, 0 End If End Sub
'----------------- ' Dans un module : '----------------- Option Explicit
Public Type RECT Left As Long Top As Long Right As Long Bottom As Long End Type
Public Declare Function FindWindow Lib "user32" Alias "FindWindowA" _ (ByVal lpClassName As String, _ ByVal lpWindowName As String) As Long
Public Declare Function EnumChildWindows Lib "user32" _ (ByVal hWndParent As Long, _ ByVal lpEnumFunc As Long, _ ByVal lParam As Long) As Long
Public Declare Function GetWindowRect Lib "user32" _ (ByVal hwnd As Long, lpRect As RECT) As Long
Public Declare Function GetWindowText Lib "user32" Alias "GetWindowTextA" _ (ByVal hwnd As Long, ByVal lpString As String, _ ByVal cch As Long) As Long
Public Declare Function GetClassName Lib "user32" Alias "GetClassNameA" _ (ByVal hwnd As Long, ByVal lpClassName As String, _ ByVal nMaxCount As Long) As Long
Public Declare Function IsWindowVisible Lib "user32" _ (ByVal hwnd As Long) As Long
Public Function EnumTaskbarWindows(ByVal hwnd As Long, _ ByVal lParam As Long) As Long DisplayWndInfos hwnd EnumTaskbarWindows = 1 End Function
Public Sub DisplayWndInfos(ByVal hwnd As Long) Dim Caption As String, ClassName As String Dim rc As RECT Dim lResult As Long
La barre de tâche étant amovible et de hauteur variable, comment savoir si elle est visible ou pas ? Je voudrais placer une barre au dessus de celle-ci, mais comme sa taille est variable... voir sa position.
Merci.
Euh, à droite, à gauche ou au dessus ? A tout hasard, un petit code qui énumère certaines caractéristiques de la barre de taches (Class = "Shell_TrayWnd") et de ses sous-fenêtres (Quick Launch, Notify Icons, Clock, etc...)
Il est important, même indispensable, que la fonction d'énumération des sous fenêtre soit dans un module, sous peine d'une erreur de compilation sur l'opérateur 'AddressOf'. Concernant la visibilité de la barre, il vaut mieux se baser sur sa position, elle a toujours le flag WS_VISIBLE.
Ok merci, je vais etudier ce code.
Le 14/03/2009, Jacques93 a supposé :
Bonjour bahn po,
bahn po a écrit :
Hello repetita
La barre de tâche étant amovible et de hauteur variable, comment savoir si
elle est visible ou pas ? Je voudrais placer une barre au dessus de
celle-ci, mais comme sa taille est variable... voir sa position.
Merci.
Euh, à droite, à gauche ou au dessus ?
A tout hasard, un petit code qui énumère certaines caractéristiques de la
barre de taches (Class = "Shell_TrayWnd") et de ses sous-fenêtres (Quick
Launch, Notify Icons, Clock, etc...)
Il est important, même indispensable, que la fonction d'énumération des sous
fenêtre soit dans un module, sous peine d'une erreur de compilation sur
l'opérateur 'AddressOf'. Concernant la visibilité de la barre, il vaut mieux
se baser sur sa position, elle a toujours le flag WS_VISIBLE.
La barre de tâche étant amovible et de hauteur variable, comment savoir si elle est visible ou pas ? Je voudrais placer une barre au dessus de celle-ci, mais comme sa taille est variable... voir sa position.
Merci.
Euh, à droite, à gauche ou au dessus ? A tout hasard, un petit code qui énumère certaines caractéristiques de la barre de taches (Class = "Shell_TrayWnd") et de ses sous-fenêtres (Quick Launch, Notify Icons, Clock, etc...)
Il est important, même indispensable, que la fonction d'énumération des sous fenêtre soit dans un module, sous peine d'une erreur de compilation sur l'opérateur 'AddressOf'. Concernant la visibilité de la barre, il vaut mieux se baser sur sa position, elle a toujours le flag WS_VISIBLE.
Ok merci, je vais etudier ce code.
Alexis
Steph wrote:
Ca n'a rien à voir et c'est faux, vu que les classes changent d'un OS à l'autre. Il faut utiliser les apis APBR pour placer automatiquement une fenêtre au-dessus ou ailleurs
Exact. Certaines réponses à côté de la plaque font peur à voir....
Steph wrote:
Ca n'a rien à voir et c'est faux, vu que les classes changent d'un OS à
l'autre.
Il faut utiliser les apis APBR pour placer automatiquement une fenêtre
au-dessus ou ailleurs
Exact.
Certaines réponses à côté de la plaque font peur à voir....
Ca n'a rien à voir et c'est faux, vu que les classes changent d'un OS à l'autre. Il faut utiliser les apis APBR pour placer automatiquement une fenêtre au-dessus ou ailleurs
Exact. Certaines réponses à côté de la plaque font peur à voir....
antoine
"Jacques93" wrote in message news:uz4JN$
Tout d'abord, la classe "Shell-TrayWnd" est opérationnelle sur W2K, XP, Vista, Seven (je viens de vérifier pour Seven)...
Non, la hiérarchie est modulable.
On peux aussi utiliser d'autres APIs, comme : SystemParametersInfos GetSystemMetrics
Aucun rapport avec l'APBR cité. Ah ces jeunes qui découvent Windows...
"Jacques93" <jacques@Nospam> wrote in message
news:uz4JN$VpJHA.3868@TK2MSFTNGP02.phx.gbl...
Tout d'abord, la classe "Shell-TrayWnd" est opérationnelle sur W2K, XP,
Vista, Seven (je viens de vérifier pour Seven)...
Non, la hiérarchie est modulable.
On peux aussi utiliser d'autres APIs, comme :
SystemParametersInfos
GetSystemMetrics
Aucun rapport avec l'APBR cité.
Ah ces jeunes qui découvent Windows...
Comme il ne faut pas perdre une occasion de donner une info utile, voici comment on fait (avec les API, s'il vous plait!!):
Achète l'Appleman et le Petzold, car il y a effectivement du boulot....
Jean-marc
Steph wrote:
Jacques93 wrote:
Euh, à droite, à gauche ou au dessus ? A tout hasard, un petit code qui énumère certaines caractéristiques de la barre de taches (Class = "Shell_TrayWnd") et de ses sous-fenêtres (Quick Launch, Notify Icons, Clock, etc...)
Ca n'a rien à voir et c'est faux, vu que les classes changent d'un OS à l'autre. Il faut utiliser les apis APBR pour placer automatiquement une fenêtre au-dessus ou ailleurs
L'APBR, c'est l'American Pit Bull Registry: http://www.pitbullregistry.com/
Euh, à droite, à gauche ou au dessus ?
A tout hasard, un petit code qui énumère certaines caractéristiques
de la barre de taches (Class = "Shell_TrayWnd") et de ses
sous-fenêtres (Quick Launch, Notify Icons, Clock, etc...)
Ca n'a rien à voir et c'est faux, vu que les classes changent d'un OS
à l'autre.
Il faut utiliser les apis APBR pour placer automatiquement une fenêtre
au-dessus ou ailleurs
L'APBR, c'est l'American Pit Bull Registry:
http://www.pitbullregistry.com/
Euh, à droite, à gauche ou au dessus ? A tout hasard, un petit code qui énumère certaines caractéristiques de la barre de taches (Class = "Shell_TrayWnd") et de ses sous-fenêtres (Quick Launch, Notify Icons, Clock, etc...)
Ca n'a rien à voir et c'est faux, vu que les classes changent d'un OS à l'autre. Il faut utiliser les apis APBR pour placer automatiquement une fenêtre au-dessus ou ailleurs
L'APBR, c'est l'American Pit Bull Registry: http://www.pitbullregistry.com/
Euh, à droite, à gauche ou au dessus ? A tout hasard, un petit code qui énumère certaines caractéristiques de la barre de taches (Class = "Shell_TrayWnd") et de ses sous-fenêtres (Quick Launch, Notify Icons, Clock, etc...)
Ca n'a rien à voir et c'est faux, vu que les classes changent d'un OS à l'autre. Il faut utiliser les apis APBR pour placer automatiquement une fenêtre au-dessus ou ailleurs
L'APBR, c'est l'American Pit Bull Registry: http://www.pitbullregistry.com/
Du coup, on comprend mieux.
T'es sûr ? Un Pit Bull, comme Steph ou Eric au hasard, saurait donc répondre un jour avant la question ? Ou tout simplement ne connaissent ils pas la fonction 'Mise à jour' d'une horloge. Un doute m'assaille :-D
--
Cordialement,
Jacques.
Bonjour Jean-Marc,
Jean-marc a écrit :
Steph wrote:
Jacques93 wrote:
Euh, à droite, à gauche ou au dessus ?
A tout hasard, un petit code qui énumère certaines caractéristiques
de la barre de taches (Class = "Shell_TrayWnd") et de ses
sous-fenêtres (Quick Launch, Notify Icons, Clock, etc...)
Ca n'a rien à voir et c'est faux, vu que les classes changent d'un OS
à l'autre.
Il faut utiliser les apis APBR pour placer automatiquement une fenêtre
au-dessus ou ailleurs
L'APBR, c'est l'American Pit Bull Registry:
http://www.pitbullregistry.com/
Du coup, on comprend mieux.
T'es sûr ? Un Pit Bull, comme Steph ou Eric au hasard, saurait donc
répondre un jour avant la question ? Ou tout simplement ne connaissent
ils pas la fonction 'Mise à jour' d'une horloge. Un doute m'assaille :-D
Euh, à droite, à gauche ou au dessus ? A tout hasard, un petit code qui énumère certaines caractéristiques de la barre de taches (Class = "Shell_TrayWnd") et de ses sous-fenêtres (Quick Launch, Notify Icons, Clock, etc...)
Ca n'a rien à voir et c'est faux, vu que les classes changent d'un OS à l'autre. Il faut utiliser les apis APBR pour placer automatiquement une fenêtre au-dessus ou ailleurs
L'APBR, c'est l'American Pit Bull Registry: http://www.pitbullregistry.com/
Du coup, on comprend mieux.
T'es sûr ? Un Pit Bull, comme Steph ou Eric au hasard, saurait donc répondre un jour avant la question ? Ou tout simplement ne connaissent ils pas la fonction 'Mise à jour' d'une horloge. Un doute m'assaille :-D
--
Cordialement,
Jacques.
Jean-marc
Jacques93 wrote:
T'es sûr ? Un Pit Bull, comme Steph ou Eric au hasard, saurait donc répondre un jour avant la question ? Ou tout simplement ne connaissent ils pas la fonction 'Mise à jour' d'une horloge. Un doute m'assaille :-D
Mise à jour de l'horloge ?
<mode pitbull="on"> Pff, tas de gros nuls, on fait ça avec les API ! </mode>
Comme il ne faut pas perdre une occasion de donner une info utile, voici comment on fait (avec les API, s'il vous plait!!):
Option Explicit
Private Type SYSTEMTIME wYear As Integer wMonth As Integer wDayOfWeek As Integer wDay As Integer wHour As Integer wMinute As Integer wSecond As Integer wMilliseconds As Integer End Type
Private Declare Function SetSystemTime Lib "kernel32" (lpSystemTime As SYSTEMTIME) As Long
T'es sûr ? Un Pit Bull, comme Steph ou Eric au hasard, saurait donc
répondre un jour avant la question ? Ou tout simplement ne connaissent
ils pas la fonction 'Mise à jour' d'une horloge. Un doute m'assaille
:-D
Mise à jour de l'horloge ?
<mode pitbull="on">
Pff, tas de gros nuls, on fait ça avec les API !
</mode>
Comme il ne faut pas perdre une occasion de donner une
info utile, voici comment on fait (avec les API, s'il vous
plait!!):
Option Explicit
Private Type SYSTEMTIME
wYear As Integer
wMonth As Integer
wDayOfWeek As Integer
wDay As Integer
wHour As Integer
wMinute As Integer
wSecond As Integer
wMilliseconds As Integer
End Type
Private Declare Function SetSystemTime Lib "kernel32" (lpSystemTime As
SYSTEMTIME) As Long
T'es sûr ? Un Pit Bull, comme Steph ou Eric au hasard, saurait donc répondre un jour avant la question ? Ou tout simplement ne connaissent ils pas la fonction 'Mise à jour' d'une horloge. Un doute m'assaille :-D
Mise à jour de l'horloge ?
<mode pitbull="on"> Pff, tas de gros nuls, on fait ça avec les API ! </mode>
Comme il ne faut pas perdre une occasion de donner une info utile, voici comment on fait (avec les API, s'il vous plait!!):
Option Explicit
Private Type SYSTEMTIME wYear As Integer wMonth As Integer wDayOfWeek As Integer wDay As Integer wHour As Integer wMinute As Integer wSecond As Integer wMilliseconds As Integer End Type
Private Declare Function SetSystemTime Lib "kernel32" (lpSystemTime As SYSTEMTIME) As Long