Ctrl + alt + suppr

xvr232 Messages postés 23 Date d'inscription mercredi 19 décembre 2001 Statut Membre Dernière intervention 20 novembre 2002 - 28 avril 2002 à 12:26
xvr232 Messages postés 23 Date d'inscription mercredi 19 décembre 2001 Statut Membre Dernière intervention 20 novembre 2002 - 30 avril 2002 à 09:15
slt tt le monde!

J'aimerai savoir comment faire pour, sans verouiller ctrl alt suppr, faire en sorte que qd on fait "fin de tache" sur mon prog ds la liste des taches, y se ferme pas. G trouvé un faux virus qui qd on essaie de le virer par "fin de teche" ouvre plein de msgbox ou l'on doit cliquer. J'aiemrai savoir faire ca en vb.

Autre chose (puisque on y est :-) ), comment faire pour reduire mon prog dans la barre des taches, et le restaurer ensuite par le code (comme si je cliquai sur les bt en haut de la fenetre koi, ms par le code).

Merci!

@+!

2 réponses

TFlorian Messages postés 194 Date d'inscription dimanche 3 mars 2002 Statut Membre Dernière intervention 19 décembre 2005 3
28 avril 2002 à 15:12
Bonjour,

pour la premirere question, tu place ton code dans form1_unload ca devrais marcher !

pour la seconde, c'est en fait une api qui fait cela ...

dans un module :

Option Explicit

Public Declare Function Shell_NotifyIcon Lib "shell32" Alias "Shell_NotifyIconA" (ByVal dwMessage As Long, pnid As NOTIFYICONDATA) As Boolean
Public Declare Function SetForegroundWindow Lib "user32" (ByVal hwnd As Long) As Long

Public Const NIM_ADD = &H0
Public Const NIM_DELETE = &H2
Public Const NIF_ICON = &H2
Public Const NIF_MESSAGE = &H1
Public Const NIM_MODIFY = &H1
Public Const NIF_TIP = &H4

Public Const WM_LBUTTONDBLCLICK = &H203
Public Const WM_MOUSEMOVE = &H200
Public Const WM_RBUTTONUP = &H205

Public Type NOTIFYICONDATA
cbSize As Long
hwnd As Long
uId As Long
uFlags As Long
ucallbackMessage As Long
hIcon As Long
szTip As String * 64
End Type

----------------------

dans la form

Private vbTray As NOTIFYICONDATA

Private Sub TrayIt()
vbTray.cbSize = Len(vbTray)
vbTray.hWnd = Me.hWnd
vbTray.uId = vbNull
vbTray.uFlags = NIF_ICON Or NIF_TIP Or NIF_MESSAGE
vbTray.ucallbackMessage = WM_MOUSEMOVE
vbTray.hIcon = Me.Icon
vbTray.szTip = Me.Caption & vbNullChar
Call Shell_NotifyIcon(NIM_ADD, vbTray)
App.TaskVisible = False
Me.Hide
End Sub

Private Sub UnTrayIt()
vbTray.cbSize = Len(vbTray)
vbTray.hWnd = Me.hWnd
vbTray.uId = vbNull
Call Shell_NotifyIcon(NIM_DELETE, vbTray)
End Sub

Private Sub cmdTrayIt_Click()
Call TrayIt
End Sub

Private Sub Form_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
Static lngMsg As Long
Dim blnFlag As Boolean, lngResult As Long
lngMsg = X / Screen.TwipsPerPixelX
If blnFlag = False Then
blnFlag = True
Select Case lngMsg
Case WM_LBUTTONDBLCLICK
Me.WindowState = 0
Me.Show
Case WM_RBUTTONUP
lngResult = SetForegroundWindow(Me.hWnd)
Me.PopupMenu mnuFile
End Select
blnFlag = False
End If
End Sub

Private Sub Form_Resize()
If Me.WindowState = 1 Then
Call TrayIt
End If
End Sub

Private Sub Form_Unload(Cancel As Integer)
Call UnTrayIt
End Sub

Private Sub mnuSysTray_Click()
MsgBox "systray menu clicked"
Call UnTrayIt
Me.WindowState = 0
Me.Show
End Sub

Voila si tu veus l'avoir en plus au demarage,
dans form1_load tu met
trayit
car pour le ptog present il met l'icon dans la try uniquemant quant tu reduit ton prog ;-)

(Ce code n'est apas entieremant de moi !!)
il est pervu de fair un menu cache avec
cmdTrayIt
et
mnuSysTray
mais ce n'est pas oboguer !

TFlorian
0
xvr232 Messages postés 23 Date d'inscription mercredi 19 décembre 2001 Statut Membre Dernière intervention 20 novembre 2002
30 avril 2002 à 09:15
oki, merci!
0
Rejoignez-nous