begin process at 2012 02 04 08:57:50
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

Système

 > FROSTSHELL 1 (SHELL REPLACEMENT)

FROSTSHELL 1 (SHELL REPLACEMENT)


 Information sur la source

Note :
8,4 / 10 - par 5 personnes
8,40 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10
Catégorie :Système Source .NET ( DotNet ) Classé sous :shell, FrostShell, explorer, elxior, windows Niveau :Expert Date de création :12/07/2008 Date de mise à jour :12/07/2008 23:57:54 Vu / téléchargé :7 636 / 290

Auteur : Elxior

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

 Description

Cliquez pour voir la capture en taille normale
Il y a plusieurs mois, j'ai décidé de coder un Windows Shell Replacement.
Le shell par défaut de Windows est explorer.exe. Il sert à l'affichage graphique tel que la Taskbar, le menu démarer, le bureau, le SystemTray, etc.

Wikipedia : Dans la base de registre, ceci est défini par la clé HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon\shell qui contient la valeur "explorer.exe".

FrostShell sert de "remplacement" du shell Windows (soit explorer.exe). Dans cette version pas encore tout à fait au point, il permet de remplacer la TaskBar et le SystemTray (il manque le menu démarrer et le bureau, dans une future version).

FrostShell permet de :

- Activer une fenêtre Always On Top par un clique droit sur celle-ci dans la barre des tâches.
- Une interface utilisateur jolie entièrement réalisée en GDI+ (personnalisable facilement)
- Un système unique à FrostShell de "Scrolling" des tasks. CAD que quand il manque d'espace dans la barre des tâches pour afficher tout les boutons, FrostShell va activer le Scrolling au passage de la souris sur le scroller. Une animation fait défiler les tâches masquées.
- Un système de regroupement des tâches semblables (comme celui de Windows). La particuliarité c'est que il n'y a pas de menu qui s'ouvre, mais plutôt un scrolling complet de la barre des tâches. (C'est dur à expliquer, faut le tester pour le comprendre).
- Affichage de la RAM disponible sur la barre des tâches.
- Affichage de l'utilisation processeur sur la barre des tâches.
- Prévisualisation des tâches au passage de la souris dessus en temps réel (comme Windows Vista). Cela vous permet de voir la fenêtre sans l'ouvrir. L'image est mise à jour en temps réel donc il est même possible d'écouter des videos en mode prévisualisation.
- Les îcones du SystemTray sont aussi scrollables (comme les tâches).
- L'affichage de l'heure. Au passage de la souris sur celle-ci affichage de la Date et du jour de la semaine.


VIDEO DE FROSTSHELL : http://ths-blog.info/FrostShell%20Demo.zip       (11 Mo format .zip -> .avi)


 Conclusion

Je n'ai pas encore testé FrostShell sous une autre résolution que 1280*1024... il serait donc préférable de se mettre en 1280*1024 pour essayer le logiciel.

 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

12 juillet 2008 23:49:52 :
Ajout de la video http://ths-blog.info/FrostShell%20Demo.zip
12 juillet 2008 23:57:54 :
bug d'affichage des •

 Sources de la même categorie

Source avec Zip Source .NET (Dotnet) ECRAN DE VEILLE : DÉTECTER LE LANCEMENT/DÉCLENCHER/EMPÊCHER par ShareVB
Source avec Zip Source .NET (Dotnet) DÉFRAGMENTER UN FICHIER par ShareVB
Source avec Zip Source .NET (Dotnet) LISTER LES FICHIERS ET DOSSIER D'UN DOSSIER D'UN CLIC DROIT par D4rkTiger
Source avec Zip Source .NET (Dotnet) NETSTAT: LISTE DES PORTS TCP/UDP OUVERTS AVEC LE PROCESSUS, ... par ShareVB
Source avec Zip Source .NET (Dotnet) SAVOIR QUEL FICHIER EST UTILISÉ PAR TELLE APPLICATION : LA L... par ShareVB

 Sources en rapport avec celle ci

Source avec Zip Source avec une capture Source .NET (Dotnet) EXPLORATEUR DE REGISTRE WINDOWS par thebestdrummer
Source avec Zip Source avec une capture Source .NET (Dotnet) SERVICES WINDOWS par thebestdrummer
Source avec Zip Source avec une capture Source .NET (Dotnet) INFILESEEKER par swonder
Source avec Zip Source .NET (Dotnet) COM INTEROP AVEC INTERNET EXPLORER (SHDOCVW, MSHTML) EN C# par didiermeo
Source avec Zip Source avec une capture Source .NET (Dotnet) GESTION DES SERVICES WINDOWS par boutemine

Commentaires et avis

Commentaire de thetorf le 13/07/2008 00:20:54 7/10

Shell bien pensé, les fonctionnalités qui sont implémentées sont bien au point, mais il manque quand même des fonctions essentielles pour l'utiliser à la place de explorer (notamment bureau).
Le design rend bien.
Seul chose dommage, c'est ne pas avoir retoucher à l'heure avant de l'afficher, juste ajouter des 0 devant les chiffres ça rend mieux ;). (Je n'ai remarquer cela que pour les secondes)

Commentaire de veler le 13/07/2008 10:07:28 10/10

Génial cette source !!
J'ai testé sur une résolution 1280x800, et ça fonctionne très bien :)
Bravo !

Commentaire de gillardg le 13/07/2008 10:53:15 9/10

lors d'un changement de résolution la barre de taches ne se redimenssionne pas !
pas d'acces à mes icones du systemtray( ou c'est moi qui n'ai pas vu comment)
frostshell n'apparait pas , j'ai uniquement la barre de taches (sans bouton démarrer)

win XP home SP3 1GB ram CPU dualcore3200Mhz
sinon c'est une idée terrible
je te mets 9/10

Commentaire de Elxior le 13/07/2008 19:58:44

Il faut se mettre en 1280*1024 AVANT le démarrage de FrostShell.
Merci pour les commentaires :)

Commentaire de gillardg le 14/07/2008 01:58:20

c'esst ce que j'ai fait mais ^^

Commentaire de tmcuh le 14/07/2008 11:45:05 10/10

Fallait y penser :) 10/10 rien que pour l'idée

Commentaire de veler le 15/07/2008 18:04:31

Salut,

J'ai une question :
Pour remplacer le shell par le tien, il suffit de changer la clé HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon\shell
D'accord mais faut redémarrer l'ordi pour que ça fonctionne, hors là je n'ai pas eu besoin de le faire et ton shell n'a pas redémarré quand j'ai redémarré mon ordi le lendemain, donc ton prog ne modifie pas cette clé. OK, et suite à ça, j'ai remarqué que je n'était pas dérrangé par explorer.exe durant l'execution de ton prog, j'en conclu donc que tu as fait un truc pour empêcher explorer.exe de se lancer...

Peux-tu me dire où je peux trouver ça parce que ça m'intéresse beaucoup (j'ai cherché à le faire à une époque) et je ne trouve pas où c'est dans tes sources.

Merci d'avance^^
@+

Commentaire de Elxior le 15/07/2008 18:15:47

"donc ton prog ne modifie pas cette clé."
Ai-je déjà dit qu'il la modifiait ? Non, le shell n'est pas complet on ne peut pas vraiment l'utiliser pour remplacer explorer.exe pour l'instant...

"j'en conclu donc que tu as fait un truc pour empêcher explorer.exe de se lancer..."

/// <summary>
        /// Look if an other shell is already running.
        /// </summary>
        private static Boolean isOtherShellRunning()
        {
            IntPtr ptShellHWND = new IntPtr(Win32API.FindWindow("Shell_TrayWnd", String.Empty));
            return ptShellHWND != IntPtr.Zero ? true : false;
        }

        /// <summary>
        /// Set the auto-restart regedit value key to true or false.
        /// </summary>
        private static uint setAutoRestartShell(Boolean bRestart)
        {
            try
            {
                RegistryKey OurKey = Registry.LocalMachine;
                OurKey = OurKey.OpenSubKey(@"SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon", true);
                OurKey.SetValue("AutoRestartShell", bRestart==true?1:0);
                return 1;
            }
            catch { return 0; }
        }

Commentaire de piradom le 15/07/2008 18:39:39

Salut, j'aurais voulu savoir sur quoi tu t'es appuyé pour pondé cette belle source? merci.

Commentaire de veler le 15/07/2008 18:47:30

Merci beaucoup, je vais chercher comment faire ça en vb.net ;)
Encore bravo

Commentaire de veler le 15/07/2008 18:53:48

euh, une autre question, tu sais si ça marche aussi bien sous Vista ou 2000?

Commentaire de Elxior le 15/07/2008 19:03:36

PIRADOM > J'ai cherché sur le net... Je me suis inspiré de GeoShell principalement. Mais le code est 95% de moi, sauf là ou j'ai mis les références.

VELER > Je sais pas, si quelqu'un pouvait tester sous Vista... Mais ça me surprendrait qu'il marche à 100%.

Commentaire de piradom le 15/07/2008 19:06:32

ok merci, sinon je confirme qu'il marche à 100% sur vista ;)

Commentaire de veler le 15/07/2008 20:28:23

C'est une bonne nouvelle ça. Grâce aux effet spéciaux de Vista, on pourrais peu être faire un petit aperçu du Shell de Windows 7 (Vienna), juste pour le Dock (pour ceux qui ne savent pas encore, Microsoft abandonne la barre des tâches et fait un Dock, comme sous Mac OS, avec le bouton Windows au milieu (pour le menu démarrer j'imagine)).

L'un des fakes les plus ressemblant à la réalité :

http://www.sizlopedia.com/wp-content/uploads/windows-7-1.jpg

Le vrai, il est plus sombre et a le logo Windows au centre, A gauche, j'imagine qu'il y a des raccourcies et à droite l'équivalent de la barre des tâches, ou l'inverse, bref^^, je ne confirme pas tout ce que je dis mais je sais par mes sources que l'on est proche de la réalité^^

Commentaire de maitredede le 16/07/2008 15:28:56

Salut,
Tu pourrais mettre ta vidéo sur youtube (ou même genre) svp ?
J'essaierai quand j'aurai le temps...

Je me rappelle avoir vu passer un article d'un blog relatant de code pour Vista qui te permet de faire pivoter les fenêtres sur elles-mêmes (via l'api dwm). Ca pourrait être intéressant pour ton shell de pouvoir intégrer cette fonctionnalité...

Commentaire de veler le 16/07/2008 15:55:21

Ouai, claire, moi, à une époque, j'ai cherché un code ou plutôt un logiciel qui pouvait rendre les fenêtre déformable, comme sous Linux, mais j'ai jamais trouvé, si par hasard, vous avez quelques choses, ça serais cool que l'on puisse le retrouver dans ce shell.

Commentaire de gillardg le 16/07/2008 16:05:54

déformer les fenètres ?? facile en vb.net

  Private Sub Form1_Resize(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Resize
        Dim radius As Integer = 175  'c'est juste ça qu'on modifie
        Dim frmToRnd As System.Windows.Forms.Form = Me
        Dim regionRects(radius * 2 + 2) As System.Drawing.Rectangle
        Dim circle As New Bitmap(radius * 2, radius * 2)
        Dim g As System.Drawing.Graphics = System.Drawing.Graphics.FromImage(circle)
        g.Clear(Color.White)
        g.FillEllipse(Brushes.Black, 0, 0, circle.Width, circle.Height)
        Dim col As Integer = 0
        For row As Integer = 0 To radius - 1
            For col = 0 To radius - 1
                If circle.GetPixel(col, row) <> System.Drawing.Color.FromArgb(255, 255, 255, 255) Then Exit For
            Next
            regionRects(row * 2) = New System.Drawing.Rectangle(col, row, frmToRnd.Width - 2 * col, 1)
            regionRects(row * 2 + 1) = New System.Drawing.Rectangle(col, frmToRnd.Height - row - 1, frmToRnd.Width - 2 * col, 1)
        Next
        regionRects(radius * 2 + 2) = New System.Drawing.Rectangle(0, radius, frmToRnd.Width, frmToRnd.Height - circle.Height)
        Dim myPath As New Drawing2D.GraphicsPath
        myPath.AddRectangles(regionRects)
        frmToRnd.Region = New Region(myPath)

    End Sub

Commentaire de veler le 16/07/2008 16:10:11

Ouai, facile, mais est-ce que c'est possible de faire aussi bien et aussi fiable que le Byrl de Linux?? (et à l'appliquer à toutes les fenêtre du bureau)

Commentaire de gillardg le 16/07/2008 16:22:40

tu peux forcer une fenetre avec certains api
sous win 3.1 j'avais un prog qui skinnait tout windaube
donc c'est peut être possible possible sous
winNT(>4)

Commentaire de veler le 16/07/2008 16:28:58

Ouai enfin je veux dire que est-ce que c'est possible que quand tu glisses la fenêtre à gauche avec la souris en haut à gauche de la fenêtre, tu ais une annimations qui déforme la fenêtre. regarde ici :

http://www.dailymotion.com/relevance/tag/Beryl/search/fen%25C3%25AAtre%2Bubuntu/video/x2f63n_beryl-sur-ubuntu_tech

Commentaire de Elxior le 16/07/2008 16:55:15

http://www.dailymotion.com/Elxior/video/10325661

Commentaire de gillardg le 16/07/2008 17:23:19

VELER
http://www.dailymotion.com/relevance/tag/Beryl/search/fen%25C3%25AAtre%2Bubuntu/video/x2f63n_beryl-sur-ubuntu_tech

le jour ou quelqu'un fait ça avec Windaube, j'aimerais le savoir

Commentaire de veler le 16/07/2008 17:25:20

ouaiii, c'est claire, moi aussi, je voudrais être le premier à le savoir, lol

Commentaire de maxtal le 05/09/2008 21:57:41 6/10

Le code a l'air complet, mais il manque des commentaires (ou au moins des summary des méthodes et des classes) pour se retrouver plus facilement.
Sinon, j'ai pas encore réussi à le faire marcher complètement, mais je cherche plus à comprendre comment c'est fait que de le faire marcher.

Commentaire de gillardg le 29/08/2010 10:31:03

bonjour ,
couplé avec ceci ça devient vraiment amusant
Virtual Desktop - multiple virtual desktops management
http://www.codeproject.com/KB/cs/VirtualDesktopIGProgram.aspx?msg=3580897#xx3580897xx

Commentaire de Elxior le 29/08/2010 20:44:34

Bonjour !
Oui j'avais fait aussi un petit logiciel en VB.NET qui faisait pas mal la même chose .. combinné cela donne un bon résultat :
http://www.vbfrance.com/codes/FROSTDESKTOP-2007-ECRANS-VIRTUELS-LINUX_43281.aspx

Commentaire de seareal le 08/06/2011 13:41:42

Bonjour,

Très belle source, par contre ça ne fonctionne que si Explorer a déjà été lancé (sous Windows 7) :
Si on remplace le Shell par celui-ci au démarrage, la barre des tâches ne se réactualise pas quand de nouvelles applications sont démarrées. Quelqu'un aurait une solution ? Autre que de laisser Explorer se lancer puis que Frostshell le ferme juste après :p

 Ajouter un commentaire


Discussions en rapport avec ce code source dans le forum

windows explorer [ par khelifaoui ] salut, comment relancer l'explorateure de windows (windows explorer) automatiquement; drag-n-drop windows shell namespace extension [ par khelifaoui ] salut tout le monde, j'ai cree une extension de l'explorateure de windows il apparait comme un disque dure dans le poste de travaille (comme gmaildriv Création d'une Barre des Tâches Personnalisée [ par BaBelZ ] Bonjour à tous et à toutes :), je viens quêter aides et informations dans votre confrérie afin de pouvoir, si possible de votre part, me dépêtrer du Menu contextuel explorer windows [ par jashugan ] Bonjour, J'ai une question concernant le menu contextuel dans l'explorer windows. J'ai reussi à ajouter une entrée dans ce menu pour le type de fich Lancer Windows Explorer [ par gretro ] Bonjour, je suis en train de créer une application qui indexe quelques fichiers dans une base de données avec leur chemin d'accès complet. Seulement, AccessViolationException [ par saminizar ] Bonjour, Je suis sous Framework .NET 3.5, j'ai une excpetion de type AccessViolationException qui se produit d'une façon arbitraire à chaque fois que Ajouter le modèle service windows [ par nadibb ] Bonjour, Je veux créer un service windows, le problème c'est quand je clique sur nouveau projet je ne trouve pas ce modèle . Je ne sais pas qu'est c Ajouter un bouton à l'explorateur Windows [ par deadbird ] Hello people ;) J'aurai besoin d'ajouter un bouton dans la barre d'outils de l'explorateur windows de W7 et d'y associer un exécutable en C# qui serai Thème Windows [ par scortex84 ] Bonjour, Est-il possible en C# 2.0 de "forcer" l'exécution d'une application dans le thème XP si le thème "classique" est sélectionné sur le poste de Dossiers / Fichiers cachés [ par rclsilver02 ] Bonjour, Voilà, je suis à la recherche, d'une technique sur Win XP (et supérieur) pour cacher dossiers et fichiers. Quand je dis cacher, c'est pas co


Nos sponsors


Sondage...

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 : 1,544 sec (3)

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