Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

MULTI DESKTOPS


Information sur la source

Catégorie :Système Classé sous : desktop, popup, capture, bitmap, multi Niveau : Initié Date de création : 15/08/2006 Date de mise à jour : 26/08/2006 12:32:10 Vu / téléchargé: 3 511 / 436

Note :
9 / 10 - par 3 personnes
9,00 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10

Commentaire sur cette source (16)
Ajouter un commentaire et/ou une note

Description

Cliquez pour voir la capture en taille normale
Une application multi-desktops qui peut aider les débutants et offrir un retour aux sources aux experts habitués aux ateliers de développements sophistiqués.
Avec 50 kilos de code source CPP (88 générés), ne faisant appel qu’aux APIs NT on peut s’offrir à moindre frais 8 bureaux avec leurs menus personnalisables et une fonctionnalité de capture d’écran. Les explications d’usage sont dans le fichier d’aide, les commentaires intéressants, du moins je l’espère, sont dans le code source de la classe CAM6Bureau.
J’oubliais :
- Un fichier de logs est généré pour garder une trace de mes coquilles si problème il y a.
- la classe  AMMenu n’est pas toute neuve, peu commentée, peu soignée et n’a rien d’un template mais elle est  bien trop pratique pour que je m’en sépare.
- les classes CLog2File et CAM6FileException représentent le stricte minimum pour la gestion des logs et des exceptions, peut faire mieux c’est sur.

 

Fichier Zip

Pour les "Membres Club", vous pouvez télécharger directement un fichier contenu dans le zip sans télécharger le zip en entier !

Télécharger le zip

Historique

15 août 2006 21:07:19 :
maj zip fourniture de l'exécutable extension .ex_
17 août 2006 18:19:29 :
Ajout d'une fonctionnalité DragAndDrop Révision des commentaires en source, pour une meilleure compréhension et la mise en évidence des mécanismes particuliers du multi-threading avec mise en oeuvre de WinProc en classe
17 août 2006 19:39:50 :
Précision sur le mode opératoire: Tous les fichiers du répertoire Deliverables doivent être copiés avec l'exécutable AM6Bureau.ex_ Révision de l'aide pour appariement avec les changements de fonctionnalités de la version 2.0.0.2
26 août 2006 12:32:10 :
Version 2.1.0.0 correction de fonctionnalités pour tenir compte de vos suggestions dont la fermeture de l'interface utilisateur avec celle des bureaux. A ce propos la fermeture de l'interface utilisateur en appariement avec celle des bureaux suppose que le programme invoqué soit permanent. Autrement dit il n'est pas possible d'utiliser userinit.exe comme suggéré dans la version 2.0, ce programme est à remplacer dans le fichier de configuration par explorer.exe ou l'application que vous souhaiteriez dédier à un bureau. Comme déja mentionné le code de ce multi-desktops est avant tout un modeste exemple, il ne s'agit pas d'une application concurrente avec les produits que vous connaissez tous.

Commentaires et avis

signaler à un administrateur
Commentaire de Stormy le 17/08/2006 18:29:13

Très intéressante source. Merci à toi :)
Par contre, j'ai du mal à comprendre l'usage de l'application car il m'est impossible de profiter de Explorer en passant sur un second bureau. J'ai seulement le fond d'écran mais aucun accès à d'autres programmes ou répertoires, fichiers, etc. comment ça marche exactement?
++

signaler à un administrateur
Commentaire de AndreJAO le 17/08/2006 18:36:24

Tu n'as vraisemblablement pas copier les fichiers de paramètres dans le répertoire de l'application:
AM6Bureau.ini
Optionnel AM6Bureau(n).ini
Je crois avoir correctement renseigné le fichier am6Bureauhlp, j'essaie de ne pas oublier F1 dans mes essais.

Cordialement

signaler à un administrateur
Commentaire de jmhC le 18/08/2006 13:52:48

Il existe déjà des utilitaires de ce type. Mais aussi abouti et performant, ce n'est pas le cas.

Merci pour le partage.

Je vais peut-être m'en servir, car je le trouve pratique.

Bravo.

signaler à un administrateur
Commentaire de jmhC le 18/08/2006 20:22:06

Une remarque : A chaque création de bureau, explorer.exe est lancé. Mais quand on ferme le bureau, l'exe reste. Donc surcharge de la mémoire. Il y a t-il un moyen de fermer l'exe?

signaler à un administrateur
Commentaire de malkommalkom le 25/08/2006 00:57:46

Désolé g vraiment la fleme de marquer tu fait ctrl+alt+suppr ..
allé  tcho é bravo pour le programme

signaler à un administrateur
Commentaire de jmhC le 25/08/2006 06:51:49

Merci pour l'information de toute fraicheur !

signaler à un administrateur
Commentaire de AndreJAO le 25/08/2006 16:20:38

Question : Il y a t-il un moyen de fermer l'exe ?
Certainement plusieurs en voici un
1) Modifier la méthode CAM6Bureau::StartApp pour conserver le Handle du process:
  if(CreateProcess (NULL,   // image name
                  (char*)szExec, // command line
                  NULL,   // process security attributes
                  NULL,   // thread security attributes
                  TRUE,   // inherit handles                 CREATE_DEFAULT_ERROR_MODE|CREATE_SEPARATE_WOW_VDM,
                  NULL,   // environment block
                  szDir,   // current directory
                  &sui,   // STARTUPINFO
                  &pi))   // PROCESS_INFORMATION
   {
   //Préservé pour clore le GUI avec le bureau
   //CloseHandle(pi.hProcess);
   CloseHandle(pi.hThread);
   }
   else
   pi.hProcess=NULL;//pi.dwProcessId=0;
   return pi.hProcess;//pi.dwProcessId;
2) Implémenter la méthode pour fermer le process tel que:
/*!Méthode pour Fermer l'interface utilisateur
le pgm désigné comme tel en fichiser de paramère*/
void CAM6Bureau::CloseGUI()
{
   if(this->m_hProcess)
   {
DWORD dwExitCode=0;
if(::GetExitCodeProcess(this->m_hProcess,&dwExitCode))
   if(dwExitCode==STILL_ACTIVE)
::TerminateProcess(this->m_hProcess,1);
   this->m_hProcess=NULL;
   }
}
3) Invoqer la méthode de fermeture de process en destructeur et sous WinProc sur WM_CLOSE

signaler à un administrateur
Commentaire de jmhC le 25/08/2006 21:23:12

Pourriez-vous me donner plus de détails pour le point 3, SVP?
Merci.

signaler à un administrateur
Commentaire de AndreJAO le 26/08/2006 11:47:14

Pour faire simple je me propose de faire une mise à jour des sources dans la journée version 2.1.0.0.
Merci pour l'intérêt que vous portez à ce code, qui n'est qu'un exemple vite fait, un peu trop me semble t'il.

signaler à un administrateur
Commentaire de jmhC le 26/08/2006 14:45:36

Merci pour votre mise à jour.

J'ai fait un essai. Il s'avére que la situation est la même. Quand je ferme l'application sur le bureau 1, les explore.exe restent actifs, ainsi que les applications lancées sur chaque bureau.

Je m'en contenterais.
Merci quand même.

signaler à un administrateur
Commentaire de AndreJAO le 26/08/2006 16:22:53

Totalement impossible, sorry

signaler à un administrateur
Commentaire de AndreJAO le 27/08/2006 14:15:38

Les explorer restent actifs !
Certainement pas s'ils ont été invoqués en tant qu'interface utilisateur avec la spécification
[Bureau 2]
GUI=explorer.exe
[Bureau 3]
GUI=explorer.exe
[Bureau 4]
GUI=explorer.exe
[Bureau 5]
GGUI=explorer.exe
[Bureau 7]
GUI=explorer.exe
[Bureau 6]
GUI=explorer.exe
[Bureau 8]
GUI=explorer.exe
Les applications restent actives après fermeture des bureaux !
Certainement, rien est écrit pour fermer les applications après fermeture des bureaux.
La bonne question: Peut on le faire ?
Certainement mais quel beau morceau de code, à nous de jouer ...
je m'abstiendrai en connaissance de cause et en raison du peu d'intérêt fonctionnel de l'enjeu.

signaler à un administrateur
Commentaire de jmhC le 27/08/2006 15:31:37

Je vais faire ce test.
Merci.

signaler à un administrateur
Commentaire de jmhC le 27/08/2006 21:12:39

Aprés ce test, cela fonctionne.
Donc RAS.

signaler à un administrateur
Commentaire de skone007 le 30/08/2006 16:15:07

Merci pour cette source ...

signaler à un administrateur
Commentaire de AndreJAO le 03/09/2006 20:35:38

Pour ne pas confondre Multi-Desktops et bureaux virtuels
Une application Multi-Desktops traitent effectivement l'aspect objet Desktop des OS Microsoft et par le fait utilise le multi threads
Une aplication bureaux virtuels fournit bien une fonctionnalité multi-desktops, plusieurs  bureaux d'un point de vue purement fonctionnel, mais n'utilise pas obliatoirement les objets Desktop.
Ceci dit je suis vraiment sous le charme de l'application de http://www.cppfrance.com/auteur/VECCHIO56/19734.aspx
c'est vraiment efficace et tellement plus léger qu'une application multi-desktops telle que je l'ai réalisé

Ajouter un commentaire

Discussions en rapport avec ce code source dans le forum

inserer un bitmap [ par zekoko ] voila,j'aimerais savoir comment inserer un bitmap(320*200)pour faire un fond et plus petit en guise de spriteet jaimerais aussi savoir comment rendre Besion d'aide pour Capture Video WDM en C++ [ par kodoma ] Je dois faire un programme en c++, ki permette de capturer une video à l'aide des drivers WDM et de pouvoir récupérer une seule image ki sera sauvegar (vc++) menu popup [ par madVinz ] $@lµT, je cherche un faire un menu ki saffiche a la position du curseur, mé sans fenetre, qd on lance le prog, le menu saffiche direct la ou é le curs Au bord du suicide à cause des GDI et d'une Listbox [ par mzhunix ] Bonjour à tous !J'ai un petit probleme concernant les gdi et l'affichage d'un bitmap sur une listbox. Le tous cree avec des api's et en langage C.En f Pb avec CBitmapButton [ par punx120 ] Salutj'ai un problème avec CBitmapButton, je veux créer un bouton avec un bitmap je fais comme ceci mais ça ne marhce pas (j'ai visual c++ 6.0): dans multi texturing [ par colonelfr ] Salut,Voila mon nouveau probleme :J'ai un terrain avec deux textures differentes (herbe clair et herbe foncé). Le mélange des deux n'est pas tres reus CComboBox + Bitmap [ par pelloq1 ] Bonjour,Est il possible de créer une ccombobox avec des images bitmaps au lieu des textes habituels.MErci de de votre aide et exemples.VS 6 bitmap et ressources [ par Xs ] salut !ben si le titre n'en dit pas assez : comment inserer des bitmap dans des ressources ? (sous VC++ 6)j'ai bien "dessiné" son emplacement, mais je rafraischissement [ par hotrod1 ] Salut, je fait se déplacer des fenetres (bitmap) sur ma boite de dialogue, mais quand ils se croisent ca ne rafraichit pas.Je cherche plusieurs trucs Bitmap VC++ [ par zobe ] Bjr, voila mon ptit problème :Je réalise une interface windows avec VC++ (sans MFC) et j'aurai voulu savoir comment on fait pour afficher/ cahcer un B


Nos sponsors

Sondage...

CalendriCode

Juillet 2009
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
2728293031  

Consulter la suite du CalendriCode

Téléchargements

Logiciels à télécharger sur le même thème :

Comparez les prix Nouvelle version

Photothèque Nouveau !



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
Temps d'éxécution de la page : 0,889 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.