[vb6] Systray, raccourcis claviers

Fermé
Sauvegarde2 Messages postés 205 Date d'inscription dimanche 14 décembre 2008 Statut Membre Dernière intervention 11 janvier 2015 - 27 juin 2009 à 19:51
Sauvegarde2 Messages postés 205 Date d'inscription dimanche 14 décembre 2008 Statut Membre Dernière intervention 11 janvier 2015 - 27 juin 2009 à 21:25
Bonjour,
Je voudrais faire un programme qui s'éxecuterait directement sous forme d'icon dans le systray.
C'est un petit programme tout simple alors je le fait en vb6 pour avoir un maximum de compatibilité (pas de .net framework, donc). Je préférerais aussi éviter les références à des dll (autant que possible).

Pour le systray :
Ce truc là : https://support.microsoft.com/en-us/help/176085 m'a pas aidé : je ne sais même pas ce qu'est un "module"...
Je voudrais simplifier les choses au maximum, il suffit juste que ma form1 s'affiche quand l'utilisateur clic sur l'icon, pas besoin de menus contextuels ou de trayballoun etc

Et pour les raccourcis claviers en fait je voudrais que mon application ne s'active qu'au moment où l'utilisateur fait une combinaison de touche (style ctrl + q).
Je crois qu'il faut déclarer une sub spéciale mais je ne me rappel plus la syntaxe.

Merci pour le coup de patte ;-)
A voir également:

3 réponses

Sauvegarde2 Messages postés 205 Date d'inscription dimanche 14 décembre 2008 Statut Membre Dernière intervention 11 janvier 2015 261
27 juin 2009 à 20:16
J'ai trouvé pour la combinaison de touche : https://www.vbforums.com/showthread.php?367165-VB6-Using-the-KeyDown-Event
Mais j'ai peur que ce ne soit pas aussi simple pour le systray :x
0
Sauvegarde2 Messages postés 205 Date d'inscription dimanche 14 décembre 2008 Statut Membre Dernière intervention 11 janvier 2015 261
27 juin 2009 à 21:02
Le probleme de la méthode KeyDown c'est que mon programme a besoin d'être en fenetre active, ce qui ne m'arrange pas du tout. D'où l'idée de la mettre en systray.
Voici mon programme :

Dim T1 As Boolean
Dim T2 As Boolean
Dim T3 As Boolean
Dim V1 As String
Dim V2 As String
Dim V3 As String

Private Sub Form_Load()
V1 = vbKeyControl
V2 = vbKeyQ
V3 = vbKeyA
End Sub

Sub Ecrase()
T1 = False
T2 = False
T3 = False
End Sub

Private Sub Form_KeyDown(KeyCode As Integer, Shift As Integer)
On Error Resume Next
Select Case KeyCode
Case V1
T1 = True
Case V2
T2 = True
Case V3
T3 = True
End Select
If T1 And T2 And T3 Then
MsgBox "Test"
Ecrase
End If
End Sub

Private Sub Form_KeyUp(KeyCode As Integer, Shift As Integer)
On Error Resume Next
Select Case KeyCode
Case V1
T1 = False
Case V2
T2 = False
Case V3
T3 = False
End Select
End Sub
0
Sauvegarde2 Messages postés 205 Date d'inscription dimanche 14 décembre 2008 Statut Membre Dernière intervention 11 janvier 2015 261
27 juin 2009 à 21:25
Sinon un truc qui m'aiderai pas mal ce serai de pouvoir rendre mon application tout le temps "active" pour qu'elle puisse recevoir les commandes clavier. D'ailleurs ce serait bien aussi si je pouvais désactiver les raccourcis Windows, ou prendre la priorité sur eux.
0