alphamax666
Messages postés4Date d'inscriptionvendredi 14 mars 2003StatutMembreDernière intervention27 août 2005
-
21 août 2005 à 11:15
alphamax666
Messages postés4Date d'inscriptionvendredi 14 mars 2003StatutMembreDernière intervention27 août 2005
-
27 août 2005 à 16:26
Bonjour a tous, je suis un programmeur C# et ASp.NET (C# aussi ^^) sinon, je vous expose mon problème :
Il y a un ans, Krosoft à été assigné par la cour européenne a
"dévoiler" le principe d'intégration de son shell. Il n'en a rien fait
a ma connaissance.
But du post : réunir des informations sur l'intégration/remplacement du shell EXPLORER
Alors voila les sujet de recherches :
1) Listage des icones dans le system tray --> j'ai aucune info
dessus, et j'arrive pas a en avoir a part lire les sources des shells
sur sourceforge :s
2) Trouver et inscrire la taille de la barre des taches --> aucune info
3) Lister les fenetres réduites (surement dans le registre ? nan ?) --> aucune info
4) Lister les icones sur le desktop --> j'ai pas cherché mais ca devrai aller.
Voila mes différents problèmes.
Ca serai cool de me donner 2-3 coups de pouces car je trouve rien.
Tilois
Messages postés721Date d'inscriptiondimanche 10 juin 2001StatutMembreDernière intervention27 mars 20117 21 août 2005 à 19:18
tu comptes serieusement programmer un shell en c# ? je ne pense pas
que cela soit une très bonne idée. Un a cause des performances et
d'autre part a cause du fait que cela soit un langage managée .. après,
c'est une qestion de point de vue!
alphamax666
Messages postés4Date d'inscriptionvendredi 14 mars 2003StatutMembreDernière intervention27 août 2005 22 août 2005 à 07:46
Au contraire, peut etre meme en 3D, c vrai que le C# te prendra en
mémoire 10Mo pour un hello wolrd mais il en fera autant pour un proxy
qui gerera 30connect a la minute. je sais de koi je parle.
De plus, je compte le faire le + complet possible. Mp3- video - image, il gerera tout, peut etre meme window manager. (*reve*)
Avec le C#, avec peu tu fait bcp. (et au pire je passe au C++ lol)
sebmafate
Messages postés4936Date d'inscriptionlundi 17 février 2003StatutMembreDernière intervention14 février 201437 22 août 2005 à 08:48
euh... les performances du C# ne sont pas si médiocre que ça.
en référence, je peux citer la réécriture de Quake en C#... qui est 5% moins rapide que la version C++.
Tilois
Messages postés721Date d'inscriptiondimanche 10 juin 2001StatutMembreDernière intervention27 mars 20117 22 août 2005 à 10:00
Performances, OK. Mais utilisationn de la mémoire, c'est vraiment pas terrible, et comme je l'ai deja dit c'est un langage managé. Un shelle qui prendra au bas mot (vu les fonctions a y mettre) 80Mo de RAM, c'est pas viable! Je sais bien que les machines actuellement possèdent de psu en plus de mémoire, mais quand meme un shell se doit de ne pas suconsommer de la mémoire pour en laisser aux autres programmes de 'travail'. Enfin, après tout cela ne reste que mon avis.
Vous n’avez pas trouvé la réponse que vous recherchez ?
Tilois
Messages postés721Date d'inscriptiondimanche 10 juin 2001StatutMembreDernière intervention27 mars 20117 22 août 2005 à 10:02
Pour toutes les fonctions dont tu as parlé dans ta description il va falloir que tu passes par les API windows. Par exemple, pour ce qui est de ta fonction de trouver les fenetres qui sont réduites, il va falloir tout d'abord que tu liste les fenetres du système (avec l'api enumwindow) et ensuite que pour chaque fenetre trouvées, tu regarde si oui ou non elle est réduite.
Tilois
Messages postés721Date d'inscriptiondimanche 10 juin 2001StatutMembreDernière intervention27 mars 20117 22 août 2005 à 11:34
Franchement, je connaissais pas. Merci pour l'astuce. cependant, je
continue a rester persuader que C# n'est pas un langage propice au
developpement d'un shell. Le shell étant un élément critique pour
l'utilisation d'un OS, je ne pense pas que les capacités du langage
soit suffisante. Encore merci sebmafate
Tilois
Messages postés721Date d'inscriptiondimanche 10 juin 2001StatutMembreDernière intervention27 mars 20117 22 août 2005 à 11:40
Tout a fait d'accord, le C# est un très bon langage (je l'utilise tout
les jours au boulot). c'est un langage que je trouve meme riches aux
niveaux deses fonctionnalités. Mais c'est et cela restera un langage
managé, ce qui n'est pas ce qu'on fait de mieux pour un shell.
Lutinore
Messages postés3246Date d'inscriptionlundi 25 avril 2005StatutMembreDernière intervention27 octobre 201241 23 août 2005 à 00:17
Si j'ai compris qlq'chose à la chose, il faut utiliser cette classe MemoryHelper quand la forme perd le focus ou quand on la masque c'est bien ca ? Est-ce utile aussi lorsque la forme est minimisée ?
alphamax666
Messages postés4Date d'inscriptionvendredi 14 mars 2003StatutMembreDernière intervention27 août 2005 26 août 2005 à 19:54
Ok merci pour vos réponses, en ce qui concerne mon post, ca a Trollé dur ...
J'ai quelques éléments de réponses, style rechercher du coté des API et memory helper aussi en astuce
Voila comment ca marchera, le but de mon shelle est la rapidité je vous
parle pas de place en mémoire... M'en fout royal a vrai dire... Si ca
fait 80Mo en mémoire voire 100, ca prendra 10% de ma rame, alors c le
cadet de mes soucis. Je veux un truc qui pulse, qui soit tout le temps
en mémoire.
2 ou 3 fonctions a implémenter :
la premiere : "Dodo shell" le shell se décharge de l'ordi et il reste k'un bouton "Wake Up" pour lancer des progs gourmands.
2) je déchargerai en mémoire chaque parti de mon shell (ex explorateur,
ou visualisateur d'image, ou zipeur) si l'utilisateur les demandes pas.
Mais seulement si ca joue pas sur la rapidité.
Enfin, merci a tous d'avoir répondu et continuez :
Shell Windows, api et
1) Listage des icones dans le system tray --> j'ai aucune info
dessus, et j'arrive pas a en avoir a part lire les sources des shells
sur sourceforge :s
2) Trouver et inscrire la taille de la barre des taches --> aucune info
3) Lister les fenetres réduites (surement dans le registre ? nan ?) --> aucune info
Tilois
Messages postés721Date d'inscriptiondimanche 10 juin 2001StatutMembreDernière intervention27 mars 20117 26 août 2005 à 20:01
La barre des tâches est une fenetre comme les autres. Donc il suffit de
faire une énumération et de trouver son nom .. un truc du genre
systray. comme c'est une fenetre, tu pourra ensuite récupérer un tas
d'info sur elle, entre autre sa taille. ce qui dans le cas présent
t'interesse. Pour le listage des fenetres, il te faudra voir du coté de
l'api enumwindow (qui au passage, utilise un callback)
Ensuite pour lister les fenetres réduites, quand tu auras ta liste il
te suffira d'utiliser l'api IsIconic qui indique si une fenetre est
réduite. Pas de registre ici ..