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 !

Sujet : Processus [ Archives / Systeme ] (sebseb42)

lundi 4 avril 2005 à 16:38:13 | Processus

sebseb42

Bonjour a tous,

Desoler si je pose une question deja poser et deja repondu, mais ce que je cherche n'est pas facile a "trouver" avec l'outil de recherche du forum.

J'aurais besoin de lister tout les processus qui tourne sur la machine, mais en obtenir des information plus detailler que ce que donne la classe System.Diagnostic.Process

J'ai besoin de savoir pour chaque processus, si c'est un process de tache de fond, s'il tourne en SysTray ou en barre des taches.... Windows le fait donc c'est faisable, le probleme c'est que je n'ai pas trouver grand chose d'utile sur le net, j'ai tenter d'utiliser l'API Win32 mais en vain, je pense de toute facon que l'API Win32 est le seul moyen de parvenir a obtenir ce resultat.

Si quelqu'un a une idee, merci d'avance :)




lundi 4 avril 2005 à 17:16:11 | Re : Processus

Alain Proviste

Administrateur CodeS-SourceS

Salut,
avec Coq nous avions travaillé ensemble sur une routine qui permettait de tester les conditions pour qu'une fenetre sois affichée dans la taskbar ( ou apparaisse dans le alt-tab, c'est les mêmes critères )
c'est donc au niveau des styles de la fenetre que les critères s'inscrivent, je m'explique :
en gros en passant des heures sur spy++,  on est arrivé à certaines conditions, que je retranscri ici ( dsl c du vb.net :( )

http://www.vbfrance.com/code.aspx?ID=30543

cette classe permet aussi de recup de les icones des fenetres en question ( de n'importe quelle fenetre d'ailleurs )

voilà j'espère que ca peut t'aider.
pour le systray je n'avais pas eu le temps de me pencher sur le sujet mais ca m'interesse !


lundi 4 avril 2005 à 17:28:35 | Re : Processus

sebseb42

merci beaucoup, je vais jeter un coup d'oeil (t'inquiete pas pour le VB, je gere :p) et peut-etre que ca me donnera une piste pour avancer d'avantage et trouver quelque chose pour le systray.

Merci d'avance :)




 


lundi 4 avril 2005 à 18:52:17 | Re : Processus

sebseb42

Excuse moi s'il te plais, j'ai longtemps coder en VB4, 5 et 6 mais je ne connais pas les nouvelles syntaxes de VB.NET

Peut-tu s'il te plait m'expliquer ceci :

Return ((wStyles And enWindowStyles.WS_EX_APPWINDOW) = enWindowStyles.WS_EX_APPWINDOW) OrElse _
                             ((wStyles And enWindowStyles.WS_POPUP) = enWindowStyles.WS_POPUP)

je n'ai pas compris le OrElse
Merci d'avance

PS : Sinon j'ai fini de la "porter" en C# mais ca fonctionne tres mal, je pense que tout est du a cette ligne


lundi 4 avril 2005 à 19:05:10 | Re : Processus

coq

Administrateur CodeS-SourceS
En C# tu remplaces le OrElse par || (et le AndAlso par &&) :-)




Cocoricoooooooo !!!!
coq
MVP Visual C#

lundi 4 avril 2005 à 19:05:41 | Re : Processus

Alain Proviste

Administrateur CodeS-SourceS

orelse permet de ne pas evaluer la deuxieme partie de l'expression si la première est déjà vraie et c le même principe pour andalso :

y a les analogies avec c# ici :

[ Lien ]


lundi 4 avril 2005 à 19:13:31 | Re : Processus

Alain Proviste

Administrateur CodeS-SourceS
par contre si ca marche toujours pas ce soir dis le moi et je retravaillerais dessus.

lundi 4 avril 2005 à 20:00:08 | Re : Processus

sebseb42

Ouais c'est bien ce que je pensais, mais ton algo semble renvoyer toujours false :S a moins que je ne m'y prenne mal

Process[] ps = Process.GetProcesses();
foreach (Process p in ps)
{
    if (p.Id == 0)
        continue;
    clsHwndInfo cls = new clsHwndInfo(p.Handle);
    if (cls.ShownInTaskBar)
        listBox1.Items.Add("[" + p.ProcessName + "] -> " + cls.WindowText);
    else
        listBox1.Items.Add("[" + p.ProcessName + "]");
}

Le code va toujours dans le else


lundi 4 avril 2005 à 21:12:56 | Re : Processus

Alain Proviste

Administrateur CodeS-SourceS

ce sont pas les process qu'il faut tester mais les fenetres. Les fenetres mères car les childs ne sont jamais dans la taskbar.
j'ai publié une autre source sur vbfrance qui affiche les fenetres liées à un process tu n'as qu'à cliquer sur mon profil. ( c'est aussi du vb.net )
si c'est pas clair ou si tu t'en sors pas rappelle nous.


lundi 4 avril 2005 à 23:01:39 | Re : Processus

sebseb42

ok, j'ai donc iterer sur les fentres, mais la proprieter ShowInTaskBar continue a renvoyer tout le temps false.

Par contre j'ai essayer uniquement avec la prop Visible, et j'obtient toutes les fentres qui sont lister dans la barre des taches + certaines du systray, mais pour le moment je ne distingue toujours pas les fenetres de la taskbar et du systray





1 2

Cette discussion est classé dans : trouver, obtenir, processus, deja, tourne


Répondre à ce message

Sujets en rapport avec ce message

Obtenir des infos sur un logiciel en cours d'execution [ par torak ] Salut à tous!Je cherche en fait un moyen d'avoir des infos sur un logiciel qui s'exécute et avec lequel on a ouvert plusieurs documents.Prenons par ex Débutant paumé [ par Gaasmann ] Bonjour à tous,J'aimerais faire des applications windows en C#. J'ai appris le C# se qui me permet de faire des programmes sous dos( ou console), mais trouver le nom de mon serveur [ par creanova2000 ] bonjour;le probeme c'est que je veux recuperer le nom de mon serveur (windows NT ) apartir de la machine client et le sauvgarder dans une variablemerc Detaguer une page html et obtenir un simple texte [ par ttornade ] Bjr la liste,je convertir une page html en format txt. Mon objectif serait de "nétoyer" tout ce qui est script, option *.css ect. Par exple: HHHHfunct Boucle des messages de processus [ par bob94700 ] Bonjour, Je souhaiterais savoir s'il est possible de :- envoyer des messages (ou des séquences de touches) à un processus donné- détecter les messag Retrouvé le processus actif [ par bob94700 ] Bonjour, Je chercher à retrouver le programme actuellement actif (la fenètre qui a le focus). Pour cela, j'ai pu utiliser la fonction de l'API : Get Status de fichier [ par SharpMao ] Salut à tous,Est-ce que quelqu'un sait si il y a un moyen de savoir si un fichier est actuellement ouvert en écriture par un autre processus? Je m'exp (visual.net) obtenir 2 .exe a partir d'une solution [ par deneb53 ] Bonjour,Je travaille avec visual.net et j'ai besoin d'avoir en sortie de ma solution deux exe.Est-ce possible ? En fait je veux faire deux exe : un cl Acces Base de donnée acess [ par giorgio08 ] Re bonjour a tous , merci surtout a cocorico qui a deja repondu po mal a mes questions ( pour la derniere question j essayerai ce que tu m as dit mais c cho a trouver !! [ par T103 ] je cherche et je cherche et je ne trouve tjrs po komen on fe pour mettre des icones dans un menu derouolant.si kel kun le c , et bin c vraiment une ma


Nos sponsors

Sondage...

CalendriCode

Juillet 2009
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
2728293031  

Consulter la suite du CalendriCode

Téléchargements

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,749 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é.