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 : Comment detecter si il y a une app en directx [ Multimédia / DirectX ] (olid)

lundi 27 novembre 2006 à 12:30:45 | Comment detecter si il y a une app en directx

olid

Membre Club
C'est pour le projet Y!M Plus, j'ai un screenmate avec un mode super-top-most. Evidemment, j'ai pris quelques dispositions pour ne pas cacher des menu popup, les tooltips, et les applications maximisées ou en plein ecran.

Malheureusement, les API de Windows (IsZoomed et GetWindowRect) ne semblent pas marcher pour des handles associés à une fenetre en mode DirectX

Existe t'il un moyen de savoir si il y a une application en mode DirectX en cours d'execution ? ou de savoir si un handle correspond a une application en mode DirectX


Le code source de Y!M Plus est disponible sur SourceForge ;o)

Olivier D. alias ze kat  =(°o°)=
[ Lien ]

lundi 27 novembre 2006 à 12:58:32 | Re : Comment detecter si il y a une app en directx

jmfmarques

Membre Club
Tout celà me parait fort clair !
Et si tu recommençais en t'exprimant en langage normal et sans références à des méthodes ou des outils comme "un screenmate", un mode "mode super-top-most",  etc... ni même à "le projet Y!M Plus" (dont je ne suis pas censé avoir entendu parler)
En bref : une chose bien comprise s'exprime beaucoup plus clairement (et beaucoup plus simplement)... en tout état de cause : sans jargon ni nécessité d'être un "initié" (histoire de voir si tu sais exactement de quoi tu parles et, si tel est le cas, de pemettre à ceux qui "ne sont pas dans ton secret", de te suivre sans avoir à chercher partout ce que tu as voulu exprimer mais n'as pas exprimé.

Je te suggère donc de bien vouloir recommencer, en exprimant ton problème par rapport à VB6 et sans tout cet étalage de références qui conduisqent la plupart à aller chercher de quoi tu parles...

Merci (en tout cas de la part du "vieux").de ml'effort élémentaire qu'il te sera possible de faire dans ce sens sur ce forum.

lundi 27 novembre 2006 à 14:38:09 | Re : Comment detecter si il y a une app en directx

MadM@tt

Membre Club
jmfmarques >> ne piques pas la mouche comme ça , je trouve cela assez compréhensible son problème (meme si j'ai toujours pas compris screenmate et je ne sais pas ce qu'est y!m plus,peut etre yahoo messenger plus).

Enfin sinon je n'ai pas de réponse à ta question, en effet c'est bizarre qu'une fenetre en mode directx ne supporte pas ces 2 api, la réponse m'interesse en tout cas.

Peux tu préciser pourquoi tu penses que "cela ne semble pas marcher ?" (qu'obtiens-tu après l'appel de ces api).

Ciaò
- MadMatt -
Vb System Library<


mardi 28 novembre 2006 à 12:26:20 | Re : Comment detecter si il y a une app en directx

olid

Membre Club

L'API "isZoomed" renvoie toujours FALSE pour le handle d'un objet DirectX, par contre GetWindowRect est correct... Mais n'oubliez pas qu'une application en DirectX change souvent la résolution d'écran. Fort heureusement, l'objet Screen contient la nouvelle résolution :o)

Toutefois, j'ai remarqué que, dans un Timer - rapide -, l'objet Screen renvoie occasionnellement des valeurs incorrectes, même si la résolution ne change pas !!! :o.

Du coup, pour détecter si il n'y a pas d'applis maximisées ou en plein écran, il faut inverser le problème comme ci-dessous :

        If (foreappCLASS = "Progman") Then
            ' On ignore Progman
        ElseIf (IsZoomed(foreappHWND)) Then
            ' On ignore les app maximisées
        ElseIf ((foreappRect.Left <= 0) And (foreappRect.Top <= 0) And (foreappRect.Right >= (Screen.Width / Screen.TwipsPerPixelX)) And (foreappRect.Bottom >= (Screen.Height / Screen.TwipsPerPixelY))) Then
            ' On ignore les app plus grande que l'écran
        Else
            YMate.ShowYMate Menu_YMateToujoursVisible.Checked
        End If

NB: je doute que çà marche avec un ordi en multi-ecran.


Autrechose, si je faisais le test comme ci-dessous en remplaçant les divisions par des multiplications (beaucoup plus rapide), j'ai parfois des bugs :o(

((foreappRect.Bottom * Screen.TwipsPerPixelY) >= Screen.Height)


J'ai cru devenir dingue, mais maintenant çà marche, et les petits compagnons coquins de Y!MPlus n'empeche plus de jouer :o))

Dico pour les newbies:

ScreenMate=Personnage accroché à l'ecran ou au curseur de la souris
TopMost=Objet qui s'affiche toujours par dessus les autres fenêtres, même quand il n'a pas le focus.
Y!M Plus=Plugin non officiel pour Yahoo! Messenger, anciennement appelé Yahoo! Plus (à lépoque du Labo de VBFrance) puis Y! Messenger Plus (avant la migration sur SourceForge).

Le mode SuperTopMost créé dans Y!M Plus permet d'etre toujours par dessus les autres fenêtres, et aussi par dessus tous les autres objets en TopMost... Un bordel sans nom pour la mise au point :o|

Olivier D. alias ze kat  =(°o°)=
[ Lien ]




Cette discussion est classé dans : application, app, directx, detecter, mode


Répondre à ce message

Sujets en rapport avec ce message

détecter lancement d'une app [ par cyberatom ] Bonjour à tous,J'aimerais, dans le cadre d'une application de sécurisation,détecter quand l'utilisateur lance une application pour vérifiersi cette ap Erreur Ouverture d'excel [ par stage ] j'ai sa dans mon code :Dim app_exc As Excel.ApplicationSet app_exc = CreateObject("Excel.application")Set app_exc = GetObject("C:\Mes documents\modele Multiutilisateur unique [ par dtobee ] Bonjour, j'ai une application Vb se connectant à une BD ACCESS qui est multiutilisateur.Dans mon application, j'ai un mode visualisation ou toutes les Detecter "upload" [ par yoyo1 ] Bonjour,Je souhaiterai effectuer la chose suivante mais comme je nai aucune idée par où commencer je demande de l'aide...Je souhaiterais detecter s'il Process EXCEL trop lent [ par dardarmotus ] dardarmotus Salut tout le mondeVoila mon probleme:Je recherche des donnees dans une feuille excel.Via VB.NET:Je lance l'application excel, j'ouvre mon automation excel [ par biebiere ] salutje developpe une appli access qui ouver un fichier excel, le modidfie et l'affiche:Dim excel_app As Excel.ApplicationDim worbk As Excel.Workbook aide moi [ par AISSIA2004 ] j'ai deux probleme 1: j'ai l'ecrit sur word2: l'autre le probleme comment faire lier application access"gestion infomation.mdb cad j'ai fait appler c detecter le mot sous la souris de n'importe qu'elle application [ par CtHuLhU50 ] Bonjour,Je cherche a faire comme la source http://www.vbfrance.com/code.aspx?ID=20813, recuperer le mot sous la souris de n'importe qu'elle applicatio detecter le mot sous la souris de n'importe qu'elle application [ par CtHuLhU50 ] Bonjour,Je cherche a faire comme la source http://www.vbfrance.com/code.aspx?ID=20813, recuperer le mot sous la souris de n'importe qu'elle applicatio Remplacer des éléments avec excel en VB [ par Sebastien12 ] Bonjour,Je voudrais ouvrir excel avec un fichier jusque la pas de problème mais ensuite je voudrais remplacer certaines valeurs mais je bute ici.Comme


Nos sponsors

Sondage...

CalendriCode

Téléchargements



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel BAÏSE, 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,156 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é.