[WDx] Comment récupérer le titre d'une fenêtre en second plan
Bonjour,

A partir d'une application Windev ( en 1er plan ) je désire récupérer le titre d'une fenêtre NON-WINDEV ( ou windev ) qui se trouve au second plan.

Pour celà j'utilise les fonctions suivantes :
ResActive est un entier
ResTitreFen est une chaîne
ResActive = SysFenActive ()
ResTitreFen = SysFenTitre(ResActive)
Info(ResTitreFen)

Je ne parviens qu'à récupérer le titre de la fenêtre de l'application Windev et pas celui de l'application cachée au second plan.

Ou est mon erreur ?
Que dois-je faire pour récupérer le titre d'une fenêtre d'une autre application Non windev qui est active mais n'a pas le focus ?

Merci d'avance

Cordialement

Contribution le : 30/04/2005 09:37
Créer un fichier PDF de la contribution Imprimer


Re: [WDx] Comment récupérer le titre d'une fenêtre en second plan
DSI WDF
Inscrit:
15/03/2005 14:22
Post(s): 238
Sans le handle, ce n'est pas possible (de ce que je connais).

L'autre fenetre est elle lancé à partir de WD ou non?

Dans quel but est ce?

Contribution le : 30/04/2005 15:20
Créer un fichier PDF de la contribution Imprimer


Re: [WDx] Comment récupérer le titre d'une fenêtre en second plan
Bonjour,

Selon l'aide en ligne de Windev, SysFenActive permet de récupérer le handle d'une fenêtre non-windev.
Donc j'ai bien un handle récupéré mais c'est celui de mon application qui est alors en 1er plan et non celui de la fenêre de second plan.

Mon but est de faire la capture de l'image d'une fenêtre appartenant à une autre application puis de retourner dans mon application windev, y récupérer le titre de la fenêtre que je viens de capturer pour qu'il soit le nom de l'image capturée que je désire alors sauver dans un fichier image.

Cordialement


Contribution le : 30/04/2005 16:11
Créer un fichier PDF de la contribution Imprimer


Re: [WDx] Comment récupérer le titre d'une fenêtre en second plan
Bonjour,

J'ai pu récupérer sur le site de Cyrille Beaussier le code suivant que j'ai adapté et qui me permet de récupérer la liste des fenêtres présentes en arrière de mon application.
Dans ce code la dernière fenêtre ayant eu le focus ( donc celle que je viens de capturer est toujours la 1ère de la liste à condition que j'élimine 2 noms de fenêtres, "M" et "DEFAULT IME"
Pensez-vous que cette solution est suffisante ou dois-je prendre une autre précaution ?

Cordialement


Lg, Ok sont des entiers
hWnd est un entier
lpString est une chaîne fixe sur 255
WNomLu est une chaîne
hWnd = AppelDLL32("User32", "GetWindow", Handle(), 2)
ListeSupprimeTout(Liste1)
WFenetreCapturee = ""
TANTQUE hWnd <> Handle()
Multitache()
Lg = AppelDLL32("User32", "GetWindowTextLengthA", hWnd)
Ok = AppelDLL32("User32", "GetWindowTextA", hWnd, &lpString, Lg + 1)
SI Ok ALORS
WNomLu = Gauche(lpString,Lg)
SI PAS Majuscule(WNomLu) = "M" ET PAS Majuscule(WNomLu) = "DEFAULT IME" ALORS
ListeAjoute(Liste1,WNomLu)
ListeSelectPlus(Liste1,1)
WFenetreCapturee = Liste1[Liste1]
SORTIR
FIN
FIN
hWnd = AppelDLL32("User32", "GetWindow", hWnd, 2)
SI hWnd = 0 ALORS
SORTIR
FIN
FIN
Info(WFenetreCapturee)

Contribution le : 01/05/2005 19:19
Créer un fichier PDF de la contribution Imprimer



 Haut   Précédent   Suivant




Enregistrer votre réponse
CompteNom   Mot de passe   Authentification
Message:


Vous ne pouvez pas débuter de nouveaux sujets.
Vous pouvez voir les sujets.
Vous ne pouvez pas répondre aux contributions.
Vous ne pouvez pas éditer vos contributions.
Vous ne pouvez pas effacez vos contributions.
Vous ne pouvez pas ajouter de nouveaux sondages.
Vous ne pouvez pas voter en sondage.
Vous ne pouvez pas attacher des fichiers à vos contributions.
Vous ne pouvez pas poster sans approbation.

[Recherche avancée]


Connexion
Menu
Chercher WDForge
Chercher Web
Partenaires
Visualiser tous les Partenaires...
WinDev, WebDev, WinDev Mobile et HyperFile sont des marques déposées par PCSoft. |  Voter |  Legal |  Contact |   XOOPS 2.0.13.2