Ouvrir une application sans rien en barre des tâches
Le
gloops
Bonjour tout le monde,
Au travail je dois ouvrir de nombreuses fenêtres d'explorateur, et leurs
titres commencent à peu près tous pareil, ce qui fait que je me trouve
avec la barre des tâches garnie d'icônes inexploitables.
Ces fenêtres s'ouvrent par lots de trois, pour gérer des sites web, une
pour gérer les paramètres du site, une pour le contenu, et une pour
visualiser le résultat.
Aussi, j'aimerais préparer un formulaire avec pour chaque site à gérer
une étiquette et trois boutons, chaque bouton ouvrant la fenêtre
correspondante.
Jusque là, c'est sans problème.
Le raffinement, ça serait que des icônes n'apparaissent pas dans la
barre des tâches pour ces fenêtres d'explorateur Internet. Des questions
très proches ont été posées ici il y a un peu plus de deux ans, mais
sauf si j'ai mal cherché elles n'ont pas reçu de réponse.
J'ai trouvé comment faire pour que mon formulaire n'apparaisse pas dans
la barre des tâches, mais pas de chance, c'est justement la seule icône
que j'aimerais garder visible à cet endroit.
Il y a la piste de l'exécution en tant que service (sous Windows XP).
J'ai appris qu'elle était semée d'embûches, est-il raisonnable de s'y
engager si on ne veut pas avoir un programme qui fasse des blagues sur
le poste d'un collègue qui l'utiliserait, au bout de deux semaines ?
Est-ce que cette question inspire quelqu'un ?
______________________
niark.fr vous avez déjà vu un nom de domaine pareil, vous ?
Complètement gloops, ce mec
Au travail je dois ouvrir de nombreuses fenêtres d'explorateur, et leurs
titres commencent à peu près tous pareil, ce qui fait que je me trouve
avec la barre des tâches garnie d'icônes inexploitables.
Ces fenêtres s'ouvrent par lots de trois, pour gérer des sites web, une
pour gérer les paramètres du site, une pour le contenu, et une pour
visualiser le résultat.
Aussi, j'aimerais préparer un formulaire avec pour chaque site à gérer
une étiquette et trois boutons, chaque bouton ouvrant la fenêtre
correspondante.
Jusque là, c'est sans problème.
Le raffinement, ça serait que des icônes n'apparaissent pas dans la
barre des tâches pour ces fenêtres d'explorateur Internet. Des questions
très proches ont été posées ici il y a un peu plus de deux ans, mais
sauf si j'ai mal cherché elles n'ont pas reçu de réponse.
J'ai trouvé comment faire pour que mon formulaire n'apparaisse pas dans
la barre des tâches, mais pas de chance, c'est justement la seule icône
que j'aimerais garder visible à cet endroit.
Il y a la piste de l'exécution en tant que service (sous Windows XP).
J'ai appris qu'elle était semée d'embûches, est-il raisonnable de s'y
engager si on ne veut pas avoir un programme qui fasse des blagues sur
le poste d'un collègue qui l'utiliserait, au bout de deux semaines ?
Est-ce que cette question inspire quelqu'un ?
______________________
niark.fr vous avez déjà vu un nom de domaine pareil, vous ?
Complètement gloops, ce mec

Poser une question


Bonjour/soir,
Propriété ShowInTaskBar des fenêtres que tu ne veux pas voir s'afficher dans
la taskbar sur false.
Si il s'agit de fenêtre d'internet explorer que tu ne contrôle pas, une
solution est d'implémenter ton propre browser à partir d'un contrôle
WebBrowser.
--
François Picalausa (MVP VB)
FAQ VB : http://faq.vb.free.fr
MSDN : http://msdn.microsoft.com
Eh oui, tu as bien compris, j'appelle une application externe.
Alors effectivement, j'ai la solution de réécrire Internet Explorer 6 à
moi tout seul.
Le mot d'ordre, ces derniers temps, était la chasse au surmenage.
Moyennant quoi, une solution pouvant faire appel à l'existant sera
bienvenue.
A la limite, en baissant un peu les prétentions sur les fonctionnalités,
je pourrais me rappeler que Windows XP regroupe les icônes d'un
programme au-delà d'un certain nombre d'applications visibles. Si je
pouvais intervenir sur ce groupage, ça permettrait aussi de voir clair
dans les icônes restantes. C'est une question différente de la première,
afin de poursuivre le même but. Peut-être pour plus de clarté serai-je
amené à poser cette question dans un autre fil. Avant on va voir si le
réveillon inspire quelqu'un là-dessus.
____________________________
François Picalausa a écrit :
bouton de la barre des taches mais si tu compte exporter ton appli à
d'autres utilisateurs et d'autres Windows...
Moi par exemple j'ai désactivé cette option dans XP, pour pouvoir basculer
plus rapidement entre trois pages dans IExplorer justement.
Donc à toi de voir.
@+
Jonathan
Je me demande si mon premier message ne répondrait pas à ta question.
Je pense développer un formulaire avec trois boutons pour chaque site,
chaque bouton étant associé à une page. Donc, une fois que je clique sur
le bouton, la page associée apparaît, donc je n'ai plus vraiment besoin
des boutons de barre des tâches qui me paraissent se présenter en
désordre. L'idéal serait qu'il n'y ait rien dans la barre des tâches,
sauf l'icône de mon application (et des applications qui n'ont rien à
voir bien entendu), mais si c'est plus facile ça peut faire "la rue
Michel" de grouper les icônes.
Les collègues appellent les mêmes pages, donc si mon formulaire me rend
service je pourrai le leur proposer.
Est-ce plus clair comme ça ?
"gloops" news:bs255v$pke$
C'est bien pour ça qu'il faut envisager qu'on code pour sa détente, pour le
plaisir ;-)
J'ai lu la documentation du shell et apparament, il se pourrait qu'on puisse
faire ce que tu veux ;-)
La documentation dit que :
"To prevent the window button from being placed on the taskbar, create the
unowned window with the WS_EX_TOOLWINDOW extended style"
Voici un bout de code qui permet celà:
Option Explicit
'Apis pour définir le style
Private Const GWL_STYLE = (-16)
Private Const GWL_EXSTYLE = (-20)
Private Declare Function SetWindowLong _
Lib "user32" _
Alias "SetWindowLongA" _
( _
ByVal hwnd As Long, _
ByVal nIndex As Long, _
ByVal dwNewLong As Long _
) _
As Long
Private Declare Function GetWindowLong _
Lib "user32" _
Alias "GetWindowLongA" _
( _
ByVal hwnd As Long, _
ByVal nIndex As Long _
) _
As Long
Private Const WS_EX_TOOLWINDOW = &H80&
Private Sub Command1_Click()
Dim objBrowser As Object
Set objBrowser = CreateObject("InternetExplorer.Application")
objBrowser.Navigate "about:blank"
SetStyle objBrowser.hwnd, WS_EX_TOOLWINDOW, 1, True
objBrowser.Visible = True
End Sub
'State :
' 0 : désactive le Style
' 1 : active le Style
' 2 : inverse l'état du Style
Private Sub SetStyle(hwnd As Long, Style As Long, State As Byte, Optional
ExStyle As Boolean)
Dim lngCurrentStyle As Long
If ExStyle Then
lngCurrentStyle = GetWindowLong(hwnd, GWL_EXSTYLE)
Else
lngCurrentStyle = GetWindowLong(hwnd, GWL_STYLE)
End If
Select Case State
Case 0 'Désactiver
lngCurrentStyle = lngCurrentStyle And Not Style
Case 2 'Inverser
lngCurrentStyle = lngCurrentStyle Xor Style
Case 1 'Activer
lngCurrentStyle = lngCurrentStyle Or Style
End Select
If ExStyle Then
SetWindowLong hwnd, GWL_EXSTYLE, lngCurrentStyle
Else
SetWindowLong hwnd, GWL_STYLE, lngCurrentStyle
End If
End Sub
Problème: la barre de titre prend un coup :-(
Je vais voir ce qu'on peut faire pour arranger celà... mais tu peux déjà
regarder le résultat ;-)
--
François Picalausa (MVP VB)
FAQ VB : http://faq.vb.free.fr
MSDN : http://msdn.microsoft.com