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

  FORUM HardWare.fr
  Programmation
  HTML/CSS

  Javascript pour récupérer le HWND d'une fenêtre Windows

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Javascript pour récupérer le HWND d'une fenêtre Windows

n°1896564
miagiste-t​urc
Posté le 18-06-2009 à 11:50:21  profilanswer
 

Bonjour,
 
Voici mon problème. Je souhaiterais à partir d'une page web pouvoir gérer les fenêtres Windows ouvertes par l'utilisateur (ouvrir, fermer les fenêtres). Je souhaite donc passer par les fonctions EnumWindows, GetWindow et CloseWindow de la librairie USER32.DLL.
 
Evidemment cela n'est pas possible directement en Javascript car le navigateur n'a pas accès aux fonctions Windows de la librairie USER32.DLL. Je pense donc utiliser un Activex.
 
L'activex WScript.Shell permet de pouvoir utiliser la fonction RUN et lancer des fonctionnalités Windows.
 
Ainsi, par exemple le code suivant fonctionne à partir d'une page web (testé):
 
var WShell = new ActiveXObject("WScript.Shell" );
WShell.Run("rundll32.exe user32.dll,LockWorkStation" );
 
J'arrive donc à accéder à la procédure LockWorkStation de la librairie user32.
 
Par contre, pour utiliser des fonctions retournant des valeurs, tel que EnumWindows, là je bloque.
 
En effet, la ligne de code suivante
var = WShell.Run("rundll32.exe user32.dll,EnumWindows" );
 
ne retourne pas la valeur de la fonction EnumWindows contenue dans la librairie user32, mais retourne 0 ou 1 (la valeur du WShell.run!
 
Comment donc récupérer la valeur de la fonction EnumWindows afin de récupérer les handler (HWND) des fenêtres actives, pour pouvoir effectuer ensuite un CloseWindow sur une fenêtre spécifique?
 
En gros, j'aimerais faire la chose suivante à partir de Javascript:
 
var listeFenetres = monActiveX.listeDesFenetresWindows.
monActiveX.CloseWindow(listeFenetres[2]);
 
Merci d'avance pour toutes vos réponses!

mood
Publicité
Posté le 18-06-2009 à 11:50:21  profilanswer
 

n°1897615
miagiste-t​urc
Posté le 22-06-2009 à 11:50:16  profilanswer
 

Aucune piste?

n°1897631
flo850
moi je
Posté le 22-06-2009 à 12:17:41  profilanswer
 

en javascript tu peux fermer des fenetres que tu as ouvert via javascript


---------------

n°1897642
bul_3
Posté le 22-06-2009 à 12:44:49  profilanswer
 


bonjour,
 
>>j'aimerais faire la chose suivante
...et tu décris un activeX.
 
il te reste à l'écrire cet activeX !
 
si tu veux une ch'tiote explication basique :
lis : http://marcel-bultez.chez-alice.fr [...] JS_DLL.htm
 
c'est un exemple d'activeX écrit avec VB, mais
tu feras la même chose avec n'importe quel langage.
 
@+

n°1897652
Harkonnen
Modérateur
Un modo pour les bannir tous
Posté le 22-06-2009 à 13:25:50  profilanswer
 

Juste une précision sur EnumWindows : cette fonction ne fonctionne que si on lui transmet un pointeur de fonction callback en paramètre, laquelle fonction devra traiter les handles qu'EnumWindows lui transmet.
Donc je ne sais pas trop ce que tu essaies de faire quand tu dis que tu veux "récupérer la valeur de la fonction EnumWindows", vu que EnumWindows ne renvoie qu'un booléen pour dire si elle a abouti ou non.

 

edit: laisse tomber, j'ai lu de travers. mais l'avis ci-dessous reste valable

 

Enfin, mais c'est un avis personnel, un site qui se permet de fermer des fenêtres que j'ai ouvertes moi même (donc en dehors de tout popup de pub), je le bannis de toute visite ultérieure et j'envoie un courrier à l'anthrax à son auteur

Message cité 1 fois
Message édité par Harkonnen le 22-06-2009 à 13:34:36

---------------
J'ai un string dans l'array (Paris Hilton)
n°1897777
miagiste-t​urc
Posté le 22-06-2009 à 17:48:56  profilanswer
 

flo850 a écrit :

en javascript tu peux fermer des fenetres que tu as ouvert via javascript


 
Oui en effet, mais la ce ne sont pas des fenêtres IE lancées en javascript mais toutes sortes d'applications Windows.
 

bul_3 a écrit :


bonjour,
 
>>j'aimerais faire la chose suivante
...et tu décris un activeX.
 
il te reste à l'écrire cet activeX !
 
si tu veux une ch'tiote explication basique :
lis : http://marcel-bultez.chez-alice.fr [...] JS_DLL.htm
 
c'est un exemple d'activeX écrit avec VB, mais
tu feras la même chose avec n'importe quel langage.
 
@+


 
Merci!
 

Harkonnen a écrit :

Juste une précision sur EnumWindows : cette fonction ne fonctionne que si on lui transmet un pointeur de fonction callback en paramètre, laquelle fonction devra traiter les handles qu'EnumWindows lui transmet.
Donc je ne sais pas trop ce que tu essaies de faire quand tu dis que tu veux "récupérer la valeur de la fonction EnumWindows", vu que EnumWindows ne renvoie qu'un booléen pour dire si elle a abouti ou non.
 
edit: laisse tomber, j'ai lu de travers. mais l'avis ci-dessous reste valable
 
Enfin, mais c'est un avis personnel, un site qui se permet de fermer des fenêtres que j'ai ouvertes moi même (donc en dehors de tout popup de pub), je le bannis de toute visite ultérieure et j'envoie un courrier à l'anthrax à son auteur


 
Oui en effet, EnumWindows ne s'utilise pas tout à fait comme dans mon exemple, c'était un exemple grossier pour dire que je veux connaitre la liste des fenêtres des applications Windows ouvertes.
 
Pour en venir au fait que le système que je veux mettre en place s'apparente à un hack je suis tout à fait d'accord avec toi. Seulement il ne s'agit pas d'un site web ouvert, c'est une application intranet. En fait pour résumer, via l'application web, l'utilisateur peut lancer des instances de connexion Citrix. Le but est de n'avoir, pour diverses raisons, qu'une seule fenêtre Citrix à la fois d'ouverte. Donc lorsque l'utilisateur se connecte à ma page, je veux vérifier qu'il n'y a pas de Citrix ouvert, si c'est le cas, je veux fermer celle déjà ouverte. C'est pour cela que j'essaye de voir toutes les applis Windows qui tourne, et fermer celle que je veux....


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  HTML/CSS

  Javascript pour récupérer le HWND d'une fenêtre Windows

 

Sujets relatifs
[VBS][RESOLU][SCRIPT]Script de suppression de fichiers temporaires[Résolu] MySQL : LEFT JOIN et GROUP BY - récupérer la dernière valeur
[VBS] Récuperer contenu fichier texte dans une variable:Modifier un PDF avec Javascript
Fermer fenetre sous Word[ksh] Récupérer un morceau d'une chaine de caractère
PHP ou Javascript ? pour cette gallerie photos[resolu] clique sur le bouton et une autre fenêtre s'ouvre
Récupérer valeur entre balise XMLError Javascript:"Object Required"- 5 lignes de code [RESOLU]
Plus de sujets relatifs à : Javascript pour récupérer le HWND d'une fenêtre Windows


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