Detecter ouverture fenetre script editor

[Résolu]
Signaler
Messages postés
435
Date d'inscription
jeudi 27 avril 2006
Statut
Membre
Dernière intervention
17 octobre 2008
-
Messages postés
435
Date d'inscription
jeudi 27 avril 2006
Statut
Membre
Dernière intervention
17 octobre 2008
-
Bonjour,
j'aimerai savoir si à votre connaissance:
-est il possible de detecter l'ouverture du script editor de MIRC ?
-est il possible d'ouvrir et fermer cette fenetre via une commande mirc ?
merci de vos lumieres :)

ISoKa

22 réponses

Messages postés
1287
Date d'inscription
mercredi 21 avril 2004
Statut
Membre
Dernière intervention
21 février 2009

je ne pense pas qu'il soit possible de détecter l'ouverture non ... à confirmer par contre :)

pour l'ouvrir :
alias sendkey {
  set -l %name sendkeys $+ $ticks
  .comopen %name WScript.Shell
  .comclose %name $com(%name,SendKeys,3,bstr,$1-)
}

tu taperas donc /sendkey %R

Sources :
http://script.quakenet.org/wiki/How_to_press_a_key_using_an_alias (code)
http://msdn2.microsoft.com/en-us/library/8c6yea83.aspx (l'histoire de alt)

pour fermer :
trouve toi une combinaison de touches qui la ferme, et traduis ça en /sendkey
j'ai essayé alt + f, puis X
le alt + f ne passe pas :(
Messages postés
2466
Date d'inscription
vendredi 23 juillet 2004
Statut
Membre
Dernière intervention
1 août 2010
1
$cwnd(isWindowVisible,$cwnd(findWindowEx,mIRC_ScriptsEditor)) retourne $true/$false selon si la fenêtre est ouverte ou non.
alias cwnd {
  if ($isid) {
    var %res = $dll($scriptdircwnd.dll,$1,$2-)
    if ($prop != $null) return $gettok(%res,$prop,32)
    return %res
  }
  dll " $+ $scriptdircwnd.dll" $1-
}

Fait gaffe au repertoire $scriptidir, change le repertoire si tu veux mettre la dll autre part que dans le dossier ou sera présent ce code

Merci a Am0SnipeR pour avoir trouvé le fameux mIRC_ScriptsEditor
C'est une des rares dll que je trouve utile avec Dcx :)
Messages postés
435
Date d'inscription
jeudi 27 avril 2006
Statut
Membre
Dernière intervention
17 octobre 2008

merci arkanis pour le send key je connaissai pas ca :) mais c'est vrai ke j'aimerai bien kan mm detecter l'ouverture ou du moin pouvoir savoir si c'est ouvert.  en tout cas merci beaucoup :)

ISoKa
Messages postés
1287
Date d'inscription
mercredi 21 avril 2004
Statut
Membre
Dernière intervention
21 février 2009

je viens d'y penser ... y'a pas des DLL qui peuvent modifier l'apparence de cette fenêtre ?
si oui, alors tu devrais pouvoir savoir si elle est ouverte

t'aurais le nom ou le .hwnd qui te permettrait d'avoir cette information :)

par contre je connais pas ces DLLs :(
Messages postés
435
Date d'inscription
jeudi 27 avril 2006
Statut
Membre
Dernière intervention
17 octobre 2008

perso les dll non plus je connai po trop encore. tu connairai un site ou je pourrai trouver une doc sur des dll suceptible de m'aider à detecter si cette fenetre est ouverte ?

ISoKa
Messages postés
435
Date d'inscription
jeudi 27 avril 2006
Statut
Membre
Dernière intervention
17 octobre 2008

tu connait
rais :)

ISoKa
Messages postés
2466
Date d'inscription
vendredi 23 juillet 2004
Statut
Membre
Dernière intervention
1 août 2010
1
Il y a une dll qui permet de faire beaucoup de chose sur mirc, en réalité elle gère l'api et donc toutes les fenetres ouverte, il y a surement moyen de savoir si la fenetre du script editor est ouverte mais la dll n'est vraiment pas des plus simple : cwnd
Je vais essayer de voir...
Messages postés
435
Date d'inscription
jeudi 27 avril 2006
Statut
Membre
Dernière intervention
17 octobre 2008

Merci c'est sympa :)

ISoKa
Messages postés
435
Date d'inscription
jeudi 27 avril 2006
Statut
Membre
Dernière intervention
17 octobre 2008

Super, vraiment nickel ca :) merci <333

ISoKa
Messages postés
435
Date d'inscription
jeudi 27 avril 2006
Statut
Membre
Dernière intervention
17 octobre 2008

Arf je vien de tester là, j'ai collé l'alias dans un remote et j'ai tester de faire :
/echo -a
$cwnd(isWindowVisible,$cwnd(findWindowEx,mIRC_ScriptsEditor))
et que la fenetre soit ouverte ou fermée ca me renvoi tjs $false. tu aurais une idée du pourquoi ?

ISoKa
Messages postés
2466
Date d'inscription
vendredi 23 juillet 2004
Statut
Membre
Dernière intervention
1 août 2010
1
Bon j'pensais pas savoir d'ou ça venais mais j'ai trouvé, chez moi le MSE est en "on top" et quand j'enleve cette option, la cmd retourne bien $false, en réalité il faudrait utilise isWindow tout court, mais cela retourne $true tout le temps, comme si la fenetre n'étais jamais fermé mais seulement masqué.Hum apparament (je fais les test au fur et a mesure que j'écris le post), l'option "desktop" pour le mettre sur le bureau joue aussi, j'essaye de voir :)
Messages postés
435
Date d'inscription
jeudi 27 avril 2006
Statut
Membre
Dernière intervention
17 octobre 2008

ué je comprenai po trop non plus. dommage gt tt content qu'on me donne la soluce :'(

ISoKa
Messages postés
2466
Date d'inscription
vendredi 23 juillet 2004
Statut
Membre
Dernière intervention
1 août 2010
1
Bon en fait ce que je t'ai donné étais completement faux, mIRC_ScriptEditor ne fonctionne pas.
Messages postés
2466
Date d'inscription
vendredi 23 juillet 2004
Statut
Membre
Dernière intervention
1 août 2010
1
Bon² après quelque recherche et moulte essai, c'est bon (cette fois !), en fait il me fallait le nom de la class qui représente le mse, et il se trouve que c'est #32770, alors que pour la toolbar par exemple, c'est mIRC_Toolbar, donc pas facile a trouvé ! :

alias mse return $iif($cwnd(findWindow,#32770),1,0)
Utilisation : $mse : retourne 1 ou 0 selon le cas
J'ai testé avec les cas on top/desktop et tout, aucun soucis ;)

ps : il y a moyen de récupéré PRATIQUEMENT TOUT ce que tu veux sur cette fenetre (et sur nimporte quel autre fenetre de mirc (ou autre que mirc ;)), donc si tu veux savoir autre chose, n'hesite pas!

Ga!
Messages postés
2466
Date d'inscription
vendredi 23 juillet 2004
Statut
Membre
Dernière intervention
1 août 2010
1
Juste pour dire que il y a moyen de récupéré, mais aussi de FAIRE tout et nimporte quoi avec les fenetres
Messages postés
435
Date d'inscription
jeudi 27 avril 2006
Statut
Membre
Dernière intervention
17 octobre 2008

merci encore pour avoir chercher, mais quand je test que la fenetre soit ouverte ou fermée ca me renvoi toujours 1 alors j'ai matté pour testé et $cwnd(findWindow,#32770) renvoi en permanence 66664 je comprend pas trop en faite, t'as une idée ?

ISoKa
Messages postés
2466
Date d'inscription
vendredi 23 juillet 2004
Statut
Membre
Dernière intervention
1 août 2010
1
Euh, $cwnd(findWindow,#32770) retourne en fait le handle de la fenetre, donc si elle n'est pas ouverte ça doit toujours retourné 0

//Echo -a $cwnd(findWindow,#32770)

Essaye ça avec la fenetre ouverte, puis fermé, tu n'obtient pas 0 quand elle fermé ?
Quel version de mirc utilises-tu ? sur un mirc vierge 6.21 tu obtients la même chose ?
Faudrait que je te fasse faire des tests mais faudrait que tu viennes sur irc
Messages postés
435
Date d'inscription
jeudi 27 avril 2006
Statut
Membre
Dernière intervention
17 octobre 2008

j'etai sur la 6.1 et je vien de passer à la 6.21 mais le resultat est toujours le meme, même quand la fenetre est fermée ca me renvoie 66664. J'ai essayé sur un mirc vierge 6.21 et toujours idem 66664. Ou est ce que tu es touchable sur IRC et à qu'elles heures ? (j'suis dans les DOM c'est pour ca que je demande les heures :) )

ISoKa
Messages postés
2466
Date d'inscription
vendredi 23 juillet 2004
Statut
Membre
Dernière intervention
1 août 2010
1
irc.Epiknet.net >  #scripts, plutot le soir ou la nuit (heure francaise) mais passe des que tu peux on verra bien,  (j'espere que tu n'as pas Vista)

ps : j'aime bien l'expression "touchable" :') ça viens d'ou ?
Messages postés
2466
Date d'inscription
vendredi 23 juillet 2004
Statut
Membre
Dernière intervention
1 août 2010
1
Bon étant donné que j'ai pas plus d'information sur ce qu'il se passe avec la dll, tu peux utilisé un deuxieme alias :

alias ismse noop $cwnd(listing,listing_) | return %ismse | unset %ismse
alias listing_ if (*mIRC Scripts Editor* iswm $1-) set %ismse 1

J'ai pas regardé niveau evenement mais j'ai pas trop le temps pour ça dsl.