begin process at 2008 07 06 02:28:54
1 205 441 membres
21 nouveaux aujourd'hui
14 119 membres club

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 037 / 394

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

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.
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

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.
  • 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

Pub



Appels d'offres

Plugin Dialer outlook
Budget : 2 000€
Travail graphique- ill...
Budget : 1 000€
creation de marque et ...
Budget : 1 000€

CalendriCode

Juillet 2008
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

VS Express FR Gratuit !

VS Express en français et 100% gratuit !

Téléchargements

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

Boutique

Boutique de goodies CodeS-SourceS