Accueil > > > NOTIFYICON
NOTIFYICON
Information sur la source
Description
Mettre une liste de favoris dans la zone de notification, s'utilise comme les favoris de Google.Les adresses URL sont enregistrées dans un fichier texte ( pour cela j'ai emprunté une partie du code de Bilo1000 WebTV que je remercie). Vous pouvez le lancer au démarrage de Windows.On peut supprimer les favoris.Ajout des clés favorites du registre qui s'ouvrent à l'emplacement exact de la clé, elles sont enregistrées dans le même fichier texte que les URL
Source
- Option Explicit On
- Imports System.IO
- Imports System.Text
- Imports Microsoft.Win32
- Public Class Form1
- Public url(100) As String
- Public texte(100) As String
- Public categorie(100) As Integer
- Public p As Integer
- Public numchaine As Integer
- 'Lancer au démarrage
- Private o_ClefRegistre As RegistryKey = Registry.CurrentUser.OpenSubKey("Software\Microsoft\Windows\CurrentVersion\Run", True)
- Private o_CR As Object = o_ClefRegistre.GetValue("NotifyIcon")
- Private Const CS_NOCLOSE As Integer = &H200
- #Region " Chemins URL et Clés registre"
- Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
- NotifyIcon1.Visible = True
- NotifyIcon1.Text = "NotifyIcon"
- Actualiser() 'on affiche les infos
- 'Check si la clef de registre "NotifyIcon" existe dans le run
- ToolStripMenuItemdemarrage.Checked = (o_CR IsNot Nothing)
- 'on enlève le formulaire principal de la barre de tâche
- Me.Hide()
- End Sub
- Private Sub Actualiser() 'on affiche les infos
- 'Afficher les URL
- Dim fichier As String
- Dim ligne As String ' Variable contenant le texte de la ligne
- Dim champs(3) As String
- Dim SubItem As ToolStripMenuItem
- fichier = My.Application.Info.DirectoryPath & "\Favoris.txt"
- Dim monStreamReader As StreamReader = New System.IO.StreamReader(fichier, Encoding.Default) 'Stream pour la lecture avec caractères accentués du fichier
- AdresseToolStripMenuItem.DropDownItems.Clear() 'on nettoie la liste déroulante
- FichierToolStripMenuItem.DropDownItems.Clear() 'on nettoie la liste déroulante
- p = 0
- Do
- ligne = monStreamReader.ReadLine
- If (ligne > "") Then
- champs = ligne.Split(",")
- texte(p) = champs(0)
- url(p) = champs(1)
- categorie(p) = champs(2)
- Select Case categorie(p)
- Case 0 ' URL
- SubItem = New ToolStripMenuItem(champs(0), Nothing, Nothing, "M" & p)
- AdresseToolStripMenuItem.DropDownItems.Add(SubItem)
- AddHandler SubItem.Click, AddressOf AdresseToolStripMenuItem_subitem_Click
- Case 1 ' Clés registre
- SubItem = New ToolStripMenuItem(champs(0), Nothing, Nothing, "M" & p)
- FichierToolStripMenuItem.DropDownItems.Add(SubItem)
- AddHandler SubItem.Click, AddressOf FichierToolStripMenuItem_subitem_Click
- End Select
- p += 1
- End If
- Loop Until ligne Is Nothing
- monStreamReader.Close()
- End Sub
- Private Sub OuvrirToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles OuvrirToolStripMenuItem.Click
- ' On ouvre le formulaire Ajoutadresse
- Ajoutadresses.ShowDialog()
- Me.Hide()
- End Sub
- Private Sub Actu_ToolStripMenuItem1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Actu_ToolStripMenuItem1.Click
- Actualiser() 'on actualise la liste déroulante
- Me.Hide()
- End Sub
- #End Region
- #Region "Ouvrir URL"
- Private Sub AdresseToolStripMenuItem_subitem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles AdresseToolStripMenuItem.Click
- 'On ouvre l'adresse URL
- Call cliquersurmenu(sender.text)
- Me.AdresseToolStripMenuItem.Enabled = True
- 'on enlève le formulaire principal de la barre de tâche
- Me.Hide()
- End Sub
- Public Sub cliquersurmenu(ByVal sender)
- Dim o As Integer
- For o = 0 To p - 1
- If texte(o) = sender Then
- numchaine = o ' On enregistre le numéro de chaine pour le mettre en favoris
- System.Diagnostics.Process.Start(url(o)) 'ouvre le chemin de l'url
- End If
- Next
- End Sub
- #End Region
- #Region "Ouvrir clés registre"
- Private Sub FichierToolStripMenuItem_subitem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles FichierToolStripMenuItem.Click
- 'On ouvre l'adresse clés
- Call clicksurmenu(sender.text)
- Me.FichierToolStripMenuItem.Enabled = True
- 'on enlève le formulaire principal de la barre de tâche
- Me.Hide()
- End Sub
- Public Sub clicksurmenu(ByVal sender)
- Dim o As Integer
- For o = 0 To p - 1
- If texte(o) = sender Then
- numchaine = o ' On enregistre le numéro de chaine
- lblkey.Text = (url(o))
- ouvrir_clé()
- End If
- Next
- End Sub
- Private Sub ouvrir_clé()
- Dim WshShell As Object
- WshShell = CreateObject("WScript.Shell")
- Dim MyKey
- MyKey = lblkey.Text 'chemin de la clé
- MyKey = "My Computer\" & MyKey
- WshShell.RegWrite("HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Applets\Regedit\Lastkey", MyKey, "REG_SZ")
- WshShell.Run("regedit", 1, True)
- WshShell = Nothing
- End Sub
- #End Region
- #Region "Lancer au démarrage"
- Private Sub LancerToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ToolStripMenuItemdemarrage.Click
- If ToolStripMenuItemdemarrage.Checked Then
- ToolStripMenuItemdemarrage.Checked = False
- If o_CR IsNot Nothing Then
- o_ClefRegistre.DeleteValue("NotifyIcon")
- o_CR = Nothing
- End If
- Else
- o_ClefRegistre.SetValue("NotifyIcon", My.Application.Info.DirectoryPath & "\NotifyIcon.exe")
- o_CR = o_ClefRegistre.GetValue("NotifyIcon")
- ToolStripMenuItemdemarrage.Checked = True
- End If
- End Sub
- Private Sub NotifyIcon1_MouseClick(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles NotifyIcon1.MouseClick
- If e.Button = Windows.Forms.MouseButtons.Left Then Me.NotifyIcon1.ShowBalloonTip(5000)
- End Sub
- #End Region
- Private Sub QuitterToolStripMenuItem1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles QuitterToolStripMenuItem1.Click
- 'On ferme le programme en demandant une réponse
- Dim answer As MsgBoxResult
- answer = MsgBox("Avez-vous terminé?", MsgBoxStyle.YesNo)
- If answer = MsgBoxResult.Yes Then
- MsgBox(" à Bientôt")
- ' on enlève l'icône de la zone de notification
- NotifyIcon1.Visible = False
- End
- End If
-
- End Sub
- End Class
Option Explicit On
Imports System.IO
Imports System.Text
Imports Microsoft.Win32
Public Class Form1
Public url(100) As String
Public texte(100) As String
Public categorie(100) As Integer
Public p As Integer
Public numchaine As Integer
'Lancer au démarrage
Private o_ClefRegistre As RegistryKey = Registry.CurrentUser.OpenSubKey("Software\Microsoft\Windows\CurrentVersion\Run", True)
Private o_CR As Object = o_ClefRegistre.GetValue("NotifyIcon")
Private Const CS_NOCLOSE As Integer = &H200
#Region " Chemins URL et Clés registre"
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
NotifyIcon1.Visible = True
NotifyIcon1.Text = "NotifyIcon"
Actualiser() 'on affiche les infos
'Check si la clef de registre "NotifyIcon" existe dans le run
ToolStripMenuItemdemarrage.Checked = (o_CR IsNot Nothing)
'on enlève le formulaire principal de la barre de tâche
Me.Hide()
End Sub
Private Sub Actualiser() 'on affiche les infos
'Afficher les URL
Dim fichier As String
Dim ligne As String ' Variable contenant le texte de la ligne
Dim champs(3) As String
Dim SubItem As ToolStripMenuItem
fichier = My.Application.Info.DirectoryPath & "\Favoris.txt"
Dim monStreamReader As StreamReader = New System.IO.StreamReader(fichier, Encoding.Default) 'Stream pour la lecture avec caractères accentués du fichier
AdresseToolStripMenuItem.DropDownItems.Clear() 'on nettoie la liste déroulante
FichierToolStripMenuItem.DropDownItems.Clear() 'on nettoie la liste déroulante
p = 0
Do
ligne = monStreamReader.ReadLine
If (ligne > "") Then
champs = ligne.Split(",")
texte(p) = champs(0)
url(p) = champs(1)
categorie(p) = champs(2)
Select Case categorie(p)
Case 0 ' URL
SubItem = New ToolStripMenuItem(champs(0), Nothing, Nothing, "M" & p)
AdresseToolStripMenuItem.DropDownItems.Add(SubItem)
AddHandler SubItem.Click, AddressOf AdresseToolStripMenuItem_subitem_Click
Case 1 ' Clés registre
SubItem = New ToolStripMenuItem(champs(0), Nothing, Nothing, "M" & p)
FichierToolStripMenuItem.DropDownItems.Add(SubItem)
AddHandler SubItem.Click, AddressOf FichierToolStripMenuItem_subitem_Click
End Select
p += 1
End If
Loop Until ligne Is Nothing
monStreamReader.Close()
End Sub
Private Sub OuvrirToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles OuvrirToolStripMenuItem.Click
' On ouvre le formulaire Ajoutadresse
Ajoutadresses.ShowDialog()
Me.Hide()
End Sub
Private Sub Actu_ToolStripMenuItem1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Actu_ToolStripMenuItem1.Click
Actualiser() 'on actualise la liste déroulante
Me.Hide()
End Sub
#End Region
#Region "Ouvrir URL"
Private Sub AdresseToolStripMenuItem_subitem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles AdresseToolStripMenuItem.Click
'On ouvre l'adresse URL
Call cliquersurmenu(sender.text)
Me.AdresseToolStripMenuItem.Enabled = True
'on enlève le formulaire principal de la barre de tâche
Me.Hide()
End Sub
Public Sub cliquersurmenu(ByVal sender)
Dim o As Integer
For o = 0 To p - 1
If texte(o) = sender Then
numchaine = o ' On enregistre le numéro de chaine pour le mettre en favoris
System.Diagnostics.Process.Start(url(o)) 'ouvre le chemin de l'url
End If
Next
End Sub
#End Region
#Region "Ouvrir clés registre"
Private Sub FichierToolStripMenuItem_subitem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles FichierToolStripMenuItem.Click
'On ouvre l'adresse clés
Call clicksurmenu(sender.text)
Me.FichierToolStripMenuItem.Enabled = True
'on enlève le formulaire principal de la barre de tâche
Me.Hide()
End Sub
Public Sub clicksurmenu(ByVal sender)
Dim o As Integer
For o = 0 To p - 1
If texte(o) = sender Then
numchaine = o ' On enregistre le numéro de chaine
lblkey.Text = (url(o))
ouvrir_clé()
End If
Next
End Sub
Private Sub ouvrir_clé()
Dim WshShell As Object
WshShell = CreateObject("WScript.Shell")
Dim MyKey
MyKey = lblkey.Text 'chemin de la clé
MyKey = "My Computer\" & MyKey
WshShell.RegWrite("HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Applets\Regedit\Lastkey", MyKey, "REG_SZ")
WshShell.Run("regedit", 1, True)
WshShell = Nothing
End Sub
#End Region
#Region "Lancer au démarrage"
Private Sub LancerToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ToolStripMenuItemdemarrage.Click
If ToolStripMenuItemdemarrage.Checked Then
ToolStripMenuItemdemarrage.Checked = False
If o_CR IsNot Nothing Then
o_ClefRegistre.DeleteValue("NotifyIcon")
o_CR = Nothing
End If
Else
o_ClefRegistre.SetValue("NotifyIcon", My.Application.Info.DirectoryPath & "\NotifyIcon.exe")
o_CR = o_ClefRegistre.GetValue("NotifyIcon")
ToolStripMenuItemdemarrage.Checked = True
End If
End Sub
Private Sub NotifyIcon1_MouseClick(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles NotifyIcon1.MouseClick
If e.Button = Windows.Forms.MouseButtons.Left Then Me.NotifyIcon1.ShowBalloonTip(5000)
End Sub
#End Region
Private Sub QuitterToolStripMenuItem1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles QuitterToolStripMenuItem1.Click
'On ferme le programme en demandant une réponse
Dim answer As MsgBoxResult
answer = MsgBox("Avez-vous terminé?", MsgBoxStyle.YesNo)
If answer = MsgBoxResult.Yes Then
MsgBox(" à Bientôt")
' on enlève l'icône de la zone de notification
NotifyIcon1.Visible = False
End
End If
End Sub
End Class
Conclusion
J'ai modifié ma source pour la rendre plus simple d'utilisation.
Historique
- 26 octobre 2007 16:50:48 :
- J'ai supprimé une répétition qui ne servait à rien et j'ajoute le code
- 27 octobre 2007 15:16:48 :
- J'ai ajouté un carnet d'adresse avec possibilité d'ouvrir et d'enregistrer les adresses.Pour enregistrer, le formulaire se met dans la barre de tâche, il suffit de cliquer pour l'ouvrir et faire un copier coller vers l'icône, dès que l'on est sur le net il disparaît.
- 28 octobre 2007 07:38:54 :
- Amélioration:On ouvre la page web directement du Carnet d'adresse, plus de copier-coller pour ouvrir. L'enregistrement est inchangé. On utilise "NotifyIcon" comme les Favoris de Google sauf qu'il se trouve dans la zone de notification.J'ai mis une notice dans le zip
- 28 octobre 2007 07:43:02 :
- J'ai mis la nouvelle source
- 07 novembre 2007 07:53:09 :
- Orthographe et capture
- 04 février 2008 12:17:38 :
- Modification de la source pour la simplifier
- 25 février 2008 15:11:42 :
- Ajout de la suppression d'un favori en ouvrant le fichier txt, grâce au snippet "Ouvrir avec" de "sebmafate" que je remercie.
- 25 février 2008 15:11:50 :
- Ajout de la suppression d'un favori en ouvrant le fichier txt, grâce au snippet "Ouvrir avec" de "sebmafate" que je remercie.
- 14 avril 2008 17:16:55 :
- Ajout du code en VBA Excel
- 01 octobre 2009 16:51:22 :
- Ajout des clés favorites du registre qui s'ouvrent à l'emplacement exact de la clé, elles sont enregistrées dans le même fichier texte que les URL
- 14 janvier 2010 12:05:48 :
- On peut actualiser la liste après chaque modification. Les caractères accentués sont affichés dans la liste déroulante.
Sources du même auteur
Sources de la même categorie
Commentaires et avis
Discussions en rapport avec ce code source dans le forum
Se déconnecter d'internet avec WEBBROWSER en VBA 2000. [ par HEYO ]
Salut!Je cherche une solution pour me déconnecter d'internet avec l'objet WEBBROWSER.Seulement voilà,les méthodes QUIT & STOP échouent à chaque fois.m
saisie sur internet à l'aide de VBA [ par NOHAM ]
je recherche une source qui permet de saisir du texte dans une boite de dialogue présent sur un site internet et de récuperer sur un fichier excel le
VBA récupérer paramètres d'1 page internet [ par natous ]
Bonjour, j'ai réalisé une macro excel en vba qui effectue une recherche sur des fichiers excel à partir d'une valeur entrée dans un Textbox, mais je v
imprimer par vba excel la page internet à l'écran [ par Astarus ]
Bonjour,Je voudrais pas abuser mais à priori ce devrait être ma dernière question sur ce projet.J'arrive enfin à ouvrir le lien http souhaité (merci à
afficher internet explorer sous vba [ par niketo ]
Est -il possible d'afficher internet explorer dans une form en vba sous excel ?Si quelqu'un sait ca m'aiderai pas mal !!niketo
Internet explorer et les messageries [ par french_coff ]
Bonjour,Je voudrais savoir s'il est possible de récupérer depuis VBA,le nom de la messagerie utilisée actuellement sur un poste.Existe il des commande
récupérer la liste des connexions internet [ par dbraguier1 ]
en vb6, je veux récupérer dans le registre la liste des connexions internet paramétréesJe veux récupérer le nom de chaque connexion et les charger dan
Importation de texte (internet explorer) via une macro VBA (Excel 2000) [ par hs971 ]
Bonjour, J'ai un problème. Je suis débutant en VBA et il me faut développer une macro sous Excel 2000 qui : -récupère un ch
Communication vba internet explorer [ par jejelechasseur ]
Bonjour,Dans un formulaire Access, j'ai intégré un objet ole pour faire afficher une page HTML qui affiche donc une page que je cré
|
Derniers Blogs
GESTION D'EXCEPTION AVEC LES TASKSGESTION D'EXCEPTION AVEC LES TASKS par richardc
Nous avons vu dans un précédent article comment utiliser Task pour effectuer des opérations dans un autre thread.
Malheureusement, comme tout le monde n'est pas parfait, il se peut que cette exécution se passe mal et qu'une exception se produise.
La...
Cliquez pour lire la suite de l'article par richardc DéMARRONS AVEC LES TASKSDéMARRONS AVEC LES TASKS par richardc
Que vous le vouliez ou non, le développement multi-tâche est maintenant une obligation pour toute nouvelle application. Il est donc vital d'en comprendre les mécanismes et de s'y mettre le plus tôt possible.
En attendant le .NET Framework 4.5 avec le...
Cliquez pour lire la suite de l'article par richardc SLIDE & DéMO TECHDAYS 2012 - FAST & FURIOUS XAML APPSSLIDE & DéMO TECHDAYS 2012 - FAST & FURIOUS XAML APPS par Vko
Retrouvez les slides et les démo de ma session Fast & Furious XAML Apps. A ceux qui se posent la question : "est-ce que le code de la DataGrid est disponible?", je vous répondrais "pas encore". Je vais mettre en place un projet codeplex pour part...
Cliquez pour lire la suite de l'article par Vko XNA IS DEAD!XNA IS DEAD! par richardc
Depuis la semaine dernière (et grâce aux TechDays 2012), je me penche activement sur la nouvelle version de Windows, aka Windows 8. Vous me direz, il était temps puisque la première preview date de Septembre dernier.
OK. Remarquez, on n'en est qu'aux...
Cliquez pour lire la suite de l'article par richardc TECHDAYS PARIS 2012 : WINDOWS SERVER "8" QUOI DE 9 !TECHDAYS PARIS 2012 : WINDOWS SERVER "8" QUOI DE 9 ! par ROMELARD Fabrice
Speakers: Fabrice Meillon et Stanislas Quastana Cette session est basée entièrement sur celle donnée lors de la BUILD cet hiver. Il n'y a pas d'ajout d'information en rapport avec cet évènement passé. Windows 8 Server sera intégralem...
Cliquez pour lire la suite de l'article par ROMELARD Fabrice
Forum
ACCES ODBCACCES ODBC par yannickcottin
Cliquez pour lire la suite par yannickcottin
Logiciels
DocTranslate (V3.1.0.0)DOCTRANSLATE (V3.1.0.0)DocTranslate est un traducteur de document Microsoft Word, PowerPoint et Excel. Il permet d'autom... Cliquez pour télécharger DocTranslate Tribler (2012)TRIBLER (2012)Tribler est un client pair à pair (P2P/Peer-to-Peer) open source avec la capacité de regarder des... Cliquez pour télécharger Tribler OneSwarm (2012)ONESWARM (2012)Le peer-to-peer qui protège votre vie privée, c'est OneSwarm.
Ce logiciel de peer-to-peer crypté... Cliquez pour télécharger OneSwarm PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO (V8.4)PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO (V8.4)PONAMEDIA TV DEVIENS HELLLOOO FLASH
LA TV SUR VOTRE ORDINATEUR.
Toute une plateforme Multi... Cliquez pour télécharger PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO Academy System (17.2.1.0)ACADEMY SYSTEM (17.2.1.0)Logiciel de gestion des établissements.
- élèves/étudiants (inscription, dossier, absence...)
-... Cliquez pour télécharger Academy System
|