Enlever son app de la barre des tâches [C++] - C++ - Programmation
Marsh Posté le 22-04-2002 à 10:03:19
antsite a écrit a écrit : Salut, Je souhaite enlever mon appli de la barre des taches et la laisser juste dans la systray, comment procéder ? ShowWindow(SW_HIDE) cache totalement l'appli... Merci ANT (j'ai déjà une icone dans la tray, c'est pas ça le problème |
va voir sur mon site dans la partie tutoriaux, ça y est peut-être !
Marsh Posté le 22-04-2002 à 10:56:20
En VB :
Private Declare Function SetWindowLong Lib "user32" _
Alias "SetWindowLongA" (ByVal hwnd As Long, ByVal nIndex As Long, ByVal dwNewLong As Long) As Long
Const GWL_EXSTYLE = (-20)
Const WS_EX_APPWINDOW = &H40000
private sub ShowInTaskbar (byval bVisible as boolean)
dim oldStyle as long
dim newStyle as long
oldStyle = GetWindowLong(me.hwnd, GWL_EXSTYLE)
if ( bVisible = true)
newStyle = oldStyle Or WS_EX_APPWINDOW
else
newStyle = oldStyle And Not WS_EX_APPWINDOW
end if
SetWindowLong me.hwnd, GWL_EXSTYLE, newStyle
end sub
[jfdsdjhfuetppo]--Message édité par KarLKoX le 22-04-2002 à 10:59:02--[/jfdsdjhfuetppo]
Marsh Posté le 22-04-2002 à 16:53:57
Goueg a écrit a écrit : ca pourra me servir |
Le titre me fait penser qu'il parlait de programmation, pas de VB !
Marsh Posté le 22-04-2002 à 17:02:53
facon c tres dechifrable le vb
d'apres le truc, faut changer le flag WS_EX_APPWINDOW
Marsh Posté le 22-04-2002 à 17:32:15
deathsharp a écrit a écrit : facon c tres dechifrable le vb d'apres le truc, faut changer le flag WS_EX_APPWINDOW |
oui bien sûr.
Quoi que je trouve que VB ça fait du code cochon, je préfère largement Pascal ou C++... Quoique ça n'a aucun rapport avec le basic
Marsh Posté le 22-04-2002 à 18:29:33
KarLKoX a écrit a écrit : En VB : Private Declare Function SetWindowLong Lib "user32" _ Alias "SetWindowLongA" (ByVal hwnd As Long, ByVal nIndex As Long, ByVal dwNewLong As Long) As Long Const GWL_EXSTYLE = (-20) Const WS_EX_APPWINDOW = &H40000 private sub ShowInTaskbar (byval bVisible as boolean) dim oldStyle as long dim newStyle as long oldStyle = GetWindowLong(me.hwnd, GWL_EXSTYLE) if ( bVisible = true) newStyle = oldStyle Or WS_EX_APPWINDOW else newStyle = oldStyle And Not WS_EX_APPWINDOW end if SetWindowLong me.hwnd, GWL_EXSTYLE, newStyle end sub |
Merci pour ce bout de code mais franchement je suis mauvais sur ce coup la : je ne sais pas comment faire pour retirer le flag WS_EX_APPWINDOW de style.
long style;
style = GetWindowLong(GetSafeHwnd(),GWL_EXSTYLE);
SetWindowLong(GetSafeHwnd(),GWL_EXSTYLE,style[#ff0
000]???[/#ff0000]WS_EX_APPWINDOW);
quel opérateur logique faut-il mettre ? J'en ai essayé plein du genre &! mais ça marche pas...
merci
Marsh Posté le 22-04-2002 à 19:14:08
juju_le_barbare a écrit a écrit : oui bien sûr. Quoi que je trouve que VB ça fait du code cochon, je préfère largement Pascal ou C++... Quoique ça n'a aucun rapport avec le basic |
jtrouve pas qu'il fait du code cochon moi ... il fait un pate
Marsh Posté le 22-04-2002 à 20:12:34
Je crois qu'il y a plus simple mais ça marche pas (dans onInitDialog)!
ModifyStyleEx(WS_EX_APPWINDOW,0,0);
Marsh Posté le 22-04-2002 à 20:47:13
si tu utilise MFC non?... et encore tu dois pouvoir modifier
les params de creation de la fenetre
sinon evite de le mettre lors de la creation (en win32)
Marsh Posté le 23-04-2002 à 18:53:03
Oui j'utilise les MFC mais je ne vois toujours pas comment faire
Marsh Posté le 23-04-2002 à 23:34:07
Plutot que de perdre votre a temps commenter ma réponse, utiliser votre temps a aider ceux qui en ont besoin, vous passerez moins pour des trolls ...
antsite> http://www.mvps.org/vcfaq/mfc/4.htm
Marsh Posté le 21-04-2002 à 17:50:51
Salut,
Je souhaite enlever mon appli de la barre des taches et la laisser juste dans la systray, comment procéder ? ShowWindow(SW_HIDE) cache totalement l'appli...
Merci
ANT
(j'ai déjà une icone dans la tray, c'est pas ça le problème