begin process at 2010 02 10 10:05:59
  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é :5 587 / 223

Auteur : Elxior

Ecrire un message privé
Commentaire sur cette source (24)
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 avec une capture Source .NET (Dotnet) GESTION DES LANGUES, COUNTRIES, CHAÎNES DE CARACTÈRE SIMPLE par gourky
Source avec Zip Source avec une capture Source .NET (Dotnet) EXPLORER LA MFT D'UNE PARTITION NTFS par Willi
Source avec Zip Source avec une capture Source .NET (Dotnet) WRAPPER COMPLET SUR L'API DE BIOMÉTRIE DE WINDOWS 7 par Willi
Source avec Zip Source .NET (Dotnet) UTILISER L'ASSISTANT DE GRAVURE DE WINDOWS par Willi
Source avec Zip Source avec une capture Source .NET (Dotnet) EASYDESKXP par neo2k2

 Sources en rapport avec celle ci

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
Source avec Zip Source .NET (Dotnet) EXTRACTION DES MINIATURES DES FICHIERS (COMME DANS L'EXPLORA... par ShareVB

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.

 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 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, 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 Compiler sur windows un code c# pour linux [ par babaOrhumette ] Bonjour, J'ai créé dernièrement un petit programme en c# qui fonctionne bien sur windows. J'aimerai en faire profiter à des amis linuxiens (ubuntu), treeview et listeview en C# [ par petertoy1 ] Bonjour à tous. Je me forme au C#, et j'essaye les classes treeview et listview comme dans l'explorer de Windows XP. Je récupére (apparemment correct imprimer un windows form dynamique sans capture d'écran [ par houcem001 ] Salut. j'ai un windows form de taille dynamique("DEVIS") contenant le nom de la societe, le code tva et d'autre variable en haut de la page puis une explorateur windows [ par petertoy1 ] Bonjour, Je cherche à conserver la position des items d'une listview, lorsque cette position a été modifiée par drag and drop. L'explorateur Windows s


Nos sponsors


Sondage...

Comparez les prix


HTC Magic

Entre 429€ et 429€

CalendriCode

Février 2010
LMMJVSD
1234567
891011121314
15161718192021
22232425262728

Consulter la suite du CalendriCode

 
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 : 0,702 sec (4)

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