Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1025 connectés 

  FORUM HardWare.fr
  Programmation
  Shell/Batch

  [Résolu][Batch] handle de la fenêtre active

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[Résolu][Batch] handle de la fenêtre active

n°1758348
vengil
Posté le 11-07-2008 à 12:27:45  profilanswer
 

Bonjours,
 
Petite question de débutant pour batch:
 
Je voudrais savoir qu'elle est la commande qui permet de renvoyer le handle de la fenêtre active sous variable. (sans connaitre le nom de la fenêtre)
Si elle n'est pas d'origine dans systèm32, où la télécharger ?
 
Merci :)


Message édité par vengil le 19-10-2008 à 23:37:17
mood
Publicité
Posté le 11-07-2008 à 12:27:45  profilanswer
 

n°1758375
Profil sup​primé
Posté le 11-07-2008 à 13:40:46  answer
 

%~dp0%

n°1758458
vengil
Posté le 11-07-2008 à 14:47:26  profilanswer
 

j'ai fait "echo %~dp0%" alors que notepad était au premier plan.
Je trouve "C:\Documents and Settings\****\Bureau", alors que j'attends le handle du notepad ouvert.
 
J'ai surement oublié quelque chose de fondamentale ^^'

n°1758467
Profil sup​primé
Posté le 11-07-2008 à 14:51:21  answer
 

pardon je croyais que tu parlais du script actif.

n°1758555
blastkille​r
Posté le 11-07-2008 à 16:18:05  profilanswer
 

On ne peut pas connaitre la fenetre active en batch, sauf si c'est le batch qui la lancé, mais dans ce cas là on la connait...
Après je ne sais pas trop de quoi tu parles en disant "handle", mais je ne pense pas qu'on peut récuperer ça en batch, le PID on peut par contre.

n°1758662
vengil
Posté le 11-07-2008 à 20:10:53  profilanswer
 

Heu... je vois pas trop ce que c'est que le PID ^^'
 
Je cherche le numéraux qui peut identifier une fenêtre.
Je sait qu'on peut le retrouver si on connait une partit du nom de celle-ci (déjà fait). Mais là: on ne connait pas son nom, elle est seulement au premier plan.

n°1758761
Profil sup​primé
Posté le 12-07-2008 à 12:35:21  answer
 

vengil a écrit :

Heu... je vois pas trop ce que c'est que le PID ^^'
 
Je cherche le numéro qui peut identifier une fenêtre.
Je sais qu'on peut le retrouver si on connait une partie du nom de celle-ci (déjà fait). Mais là : on ne connait pas son nom, elle est seulement au premier plan.


 
De mémoire le PID c'est le code qui a été attribué à un processus.
En batch tu peux avoir un tableau des processus et de leur PID avec la fonction tasklist.
Quand tu parles du 'numéro qui peut identifier une fenêtre', tu dois parler du PID sans le savoir.

n°1758764
blastkille​r
Posté le 12-07-2008 à 13:13:26  profilanswer
 

En sachant seulement qu'elle est au premier plan, en batch on ne peut pas récuperer le PID.
En connaissant le nom du processus on peut.

n°1758766
vengil
Posté le 12-07-2008 à 13:33:00  profilanswer
 

J'ai fait quelques tests: Le PID est spécifique d'un programme, alors que le handle est spécifique d'une fenêtre donnée.
En clair, si j'ouvre deux fenêtres firefox: je trouve un PID pour le processus "firefox.exe", et je trouve aussi un numéro différant pour chacune des fenêtres firefox ouvertes. Ceci permet d'agir seulement sur la fenêtre voulu, et non sur le processus entier.
Tous ceci est possible par batch si on connait une partie du nom de la fenêtre.
 
Windows doit bien stocker quelque par l'information qui stipule que telle fenêtre est active et que telle autre est en arrière plan. Il me semble que cette tâche devrait être possible par batch...


Message édité par vengil le 12-07-2008 à 18:13:59
n°1758850
blastkille​r
Posté le 12-07-2008 à 20:41:22  profilanswer
 

En batch, d'après ce que je sais, c'est a dire beaucoup je pense, c'est impossible de savoir quelle fenetre est active.
En vbs peut etre ?
Je rapelle que le batch n'est pas un language de programmation... On peut coder des bons trucs mais sa va pas trop loin non plus.
Essaye de chercher du coté d'AutoIt qui rajoute certaine fonction au batch, mais sinon je pense que le vbs te sera plus approprié peut etre ?

mood
Publicité
Posté le 12-07-2008 à 20:41:22  profilanswer
 

n°1759153
vengil
Posté le 14-07-2008 à 10:05:54  profilanswer
 

Bon, je vais chercher de ce côté là.
Merci.


Message édité par vengil le 14-07-2008 à 10:06:42
n°1802195
vengil
Posté le 19-10-2008 à 23:31:10  profilanswer
 

blastkiller a écrit :

En batch, d'après ce que je sais, c'est a dire beaucoup je pense, c'est impossible de savoir quelle fenetre est active.


 
Et si !
 
Voila que trois mois après ce poste je trouve la réponse par hasard : NirCmd
Avec cette commande d'à peine 30 ko, on peut faire un nombre impressionnant de choses. Notamment: changer le titre de la fenêtre au premier plan. Une fois changé, le handle est très facilement trouvable.
Mais les fonctionnalité ne s'arrête pas là: On peut aussi fermer une fenêtre bien précise sans fermer tous le processus ! Se qui fini de résoudre un autre de mes post.
 
Je donne le lien du forum qui m'a permit de trouver: http://astase.com/forums/
 
J'espère que ça aidera du monde ;)


Message édité par vengil le 19-10-2008 à 23:31:46

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  Shell/Batch

  [Résolu][Batch] handle de la fenêtre active

 

Sujets relatifs
[résolu]Jointure externe et GROUP BYcompiler les exemples directX [résolu]
[Xlib] Problème de focus de fenêtre[resolu] Ajax et XML. Mon script ne fonctionne pas.
[Résolu] lightbox et Flash[Resolu] Recuperer l'index d'un noeud dans sont parent (DOM).
Fenêtre superposable translucide. Voir exemple.[AS3-résolu] Créer une classe
[Résolu] SQL liste meilleur score pour 1 joueur[Résolu] Comment "pré-stocker" des réponses à des boutons d'un .exe ?
Plus de sujets relatifs à : [Résolu][Batch] handle de la fenêtre active


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR