begin process at 2012 02 16 00:12:16
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

Trucs & Astuces

 > NOTIFYICON

NOTIFYICON


 Information sur la source

Note :
Aucune note
Catégorie :Trucs & Astuces Source .NET ( DotNet ) Classé sous :notifyicon, key, vba, internet, registre Niveau :Débutant Date de création :26/10/2007 Date de mise à jour :14/01/2010 12:05:45 Vu / téléchargé :10 372 / 309

Auteur : Le Pivert

Ecrire un message privé
Commentaire sur cette source (2)
Ajouter un commentaire et/ou une note

 Description

Cliquez pour voir la capture en taille normale
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.

 Fichier Zip

Les Membres Club peuvent télécharger directement un fichier contenu dans le zip sans télécharger le zip en entier !

Télécharger le zip


 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

Source avec Zip Source avec une capture Source .NET (Dotnet) CREER UN GIF ANIMÉ
Source avec Zip Source .NET (Dotnet) EXPORTER LES IMAGES DE WORD ET D' EXCEL
Source avec Zip Source avec une capture COLLECTION ID
Source avec Zip PROTECTION VBAPROJECT
Source avec Zip PASSWORD CLASSEUR EXCEL

 Sources de la même categorie

Source avec Zip Source .NET (Dotnet) EXPORTER LES IMAGES DE WORD ET D' EXCEL par Le Pivert
Source avec Zip Source avec une capture JEUX DE VERITÉ ET DE FIDELITÉ par billatosco
Source avec Zip IMAGELOARDER par vkitumaini
Source avec Zip Source avec une capture Source .NET (Dotnet) CREER UN CALENDRIER DE POCHE par Le Pivert
Source avec Zip RECHERCHE D'UN ENREGISTREMENT DANS UNE DATATABLE ET POSITION... par erdna

 Sources en rapport avec celle ci

Source avec Zip Source avec une capture MANIPULER_REGISTRE VBSCRIPT par Le Pivert
Source avec Zip Source avec une capture Source .NET (Dotnet) FICHIERS_CACHÉS_LECTURE_SEULE par Le Pivert
Source avec Zip Source avec une capture Source .NET (Dotnet) FAVORIS URL par Le Pivert
Source avec Zip Source avec une capture Source .NET (Dotnet) CLIPBOARD_VB.NET par Le Pivert
Source avec Zip Source avec une capture APPLICATIONS AU DÉMARRAGE DE WINDOWS EN VBA par Le Pivert

Commentaires et avis

Commentaire de yoman64 le 27/10/2007 01:31:07

L'idée est bonne par contre pour le moment elle n'est pas d'une grande utilité , il fauderais avoir la possibilité de pouvoir entré plusieurs adresses et de sauvegarder les parametres. Dans mon cas je travaille souvent sur plusieurs dizaines de dossiers en meme temps lorsque je fais mes développements web, lorsque je ferme un dossier par mégarde un programme dans le genre pour m'éviter a avoir a rmeonté l'arborescence pour le réouvrir....


Donc comme je dis l'idée n'est pas mauvaise, mais fauderais ajouté un peu de fonctionnalités

De plus je ne connais pas beaucoup .Net, mais la ligne Rep & ""....
je comprends pas a quoi te sers le & ""...


@+

Commentaire de Le Pivert le 27/10/2007 08:12:39

Tu as raison (Rep) suffit, je suis débutant et je n'ai pas encore tout compris loin de là. Je sais c'est un début de projet qui demande à être amélioré: plusieurs adresses,  mémoire des dernières adresses et aussi l'icône que l'on perd quand on éteint son PC. Au départ mon idée était d'avoir plusieurs adresses sous la main, mais ce n'était pas très original car on ne pouvait pas les changer.Je te remercie de ton intérêt.

 Ajouter un commentaire


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é&#23


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

Photothèque

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 2,371 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales