MULTI DESKTOPS

cs_Stormy Messages postés 255 Date d'inscription samedi 20 avril 2002 Statut Membre Dernière intervention 16 janvier 2007 - 17 août 2006 à 18:29
AndreJAO Messages postés 24 Date d'inscription samedi 15 mai 2004 Statut Membre Dernière intervention 2 septembre 2007 - 3 sept. 2006 à 20:35
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/39136-multi-desktops

AndreJAO Messages postés 24 Date d'inscription samedi 15 mai 2004 Statut Membre Dernière intervention 2 septembre 2007
3 sept. 2006 à 20:35
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é
skone007 Messages postés 166 Date d'inscription mercredi 24 avril 2002 Statut Membre Dernière intervention 23 juin 2009
30 août 2006 à 16:15
Merci pour cette source ...
cs_jmhC Messages postés 108 Date d'inscription vendredi 24 janvier 2003 Statut Membre Dernière intervention 10 août 2007
27 août 2006 à 21:12
Aprés ce test, cela fonctionne.
Donc RAS.
cs_jmhC Messages postés 108 Date d'inscription vendredi 24 janvier 2003 Statut Membre Dernière intervention 10 août 2007
27 août 2006 à 15:31
Je vais faire ce test.
Merci.
AndreJAO Messages postés 24 Date d'inscription samedi 15 mai 2004 Statut Membre Dernière intervention 2 septembre 2007
27 août 2006 à 14:15
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.
AndreJAO Messages postés 24 Date d'inscription samedi 15 mai 2004 Statut Membre Dernière intervention 2 septembre 2007
26 août 2006 à 16:22
Totalement impossible, sorry
cs_jmhC Messages postés 108 Date d'inscription vendredi 24 janvier 2003 Statut Membre Dernière intervention 10 août 2007
26 août 2006 à 14:45
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.
AndreJAO Messages postés 24 Date d'inscription samedi 15 mai 2004 Statut Membre Dernière intervention 2 septembre 2007
26 août 2006 à 11:47
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.
cs_jmhC Messages postés 108 Date d'inscription vendredi 24 janvier 2003 Statut Membre Dernière intervention 10 août 2007
25 août 2006 à 21:23
Pourriez-vous me donner plus de détails pour le point 3, SVP?
Merci.
AndreJAO Messages postés 24 Date d'inscription samedi 15 mai 2004 Statut Membre Dernière intervention 2 septembre 2007
25 août 2006 à 16:20
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
cs_jmhC Messages postés 108 Date d'inscription vendredi 24 janvier 2003 Statut Membre Dernière intervention 10 août 2007
25 août 2006 à 06:51
Merci pour l'information de toute fraicheur !
malkommalkom Messages postés 36 Date d'inscription mercredi 1 novembre 2000 Statut Membre Dernière intervention 7 novembre 2010
25 août 2006 à 00:57
Désolé g vraiment la fleme de marquer tu fait ctrl+alt+suppr ..
allé tcho é bravo pour le programme
cs_jmhC Messages postés 108 Date d'inscription vendredi 24 janvier 2003 Statut Membre Dernière intervention 10 août 2007
18 août 2006 à 20:22
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?
cs_jmhC Messages postés 108 Date d'inscription vendredi 24 janvier 2003 Statut Membre Dernière intervention 10 août 2007
18 août 2006 à 13:52
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.
AndreJAO Messages postés 24 Date d'inscription samedi 15 mai 2004 Statut Membre Dernière intervention 2 septembre 2007
17 août 2006 à 18:36
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
cs_Stormy Messages postés 255 Date d'inscription samedi 20 avril 2002 Statut Membre Dernière intervention 16 janvier 2007
17 août 2006 à 18:29
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?
++
Rejoignez-nous