FORUMS PROFESSIONNELS
WINDEV
,
WEBDEV
et
WINDEV Mobile
Accueil
|
Messages récents
|
Connexion
|
Déconnexion
|
Français
Accueil
→
WINDEV 2024
→
PB avec Winword
PB avec Winword
Débuté par jsa, 14 oct. 2005 01:23 - 2 réponses
Connectez-vous…
jsa
#1
Posté le 14 octobre 2005 - 01:23
Slt, je reviens encore avec mes PB de Handle...voici mon problème
J'ouvre winword avec LanceAppliAssocié et je récupère handle. Mais pour winword, il s'git du Handle de la fenetre "mère". Lorsque deux instance de winword sont lancées, il faut fermer les deux fenetre pour que la fonction HandleValide indique que winword est fermé. Ceci est du au fait qu'il faut récupérer le handle de la fenetre contenant le texte et non la fenetre principale.
Avec l'API : AppelDLL32("user32", "WindowFromPoint", pt:x, pt:y) on récupère tous le handle de la fenetre à la position de la souris.
D'ou mon idée, puisque je ne trouve pas d'autres moyens efficaces, de déplacer la souris sur la fenetre lancée et de temporiser avec Multitache, le temps que le fichier word s'ouvre et ainsi récupérer le handle.
Tout cela me parait bien compliqué et je ne maitrise pas du tout les API. Alors y-a-t-il une vrai solution ?
Merci.
Djebel
Signaler
0
0
guest
#2
Posté le 16 octobre 2005 - 01:07
Bonjour,
J'aurais bien une autre solution à te proposer mais ca dépend de ce que tu veux faire exactement.
En fait, il y a un exemple livré avec Windev 9 (Pilotage de word) qui passe par la couche OLE Automation. Il utilise une classe que tu peux facilement réutiliser...
En espérant t'avoir aidé (sinon il nous faudrait un peu plus de précision sur ce que tu veux faire)
Marc
Signaler
0
0
jsa
#3
Posté le 16 octobre 2005 - 14:53
Merci Marc pour ton aide, mais voici ce que je cherche à faire:
Je souhaite récupérer le temps passé par des users sur Word et Excel. Pour cela, je lance les applis grace à LanceAppliAssocié à partir d'un menu. Je récupère le handle des applis lancé et un timer vérifie régulièrement si le handle est toujours valise (SysHandleValide). Le problème que je constate:
- Au lieu de récupérer le Handle de la zone client de Winword, je récupère celui de la fenetre. Ce qui a pour conséquences que s'il y 2 instances ouvertes de Word ou Excel, il faut que les deux instances soient fermées pour que SysHandleValid renvoie "faux".
Il y a une API qui permet de récupérer le Handle des fenetres client. Il s'agir de "WindowFromPoint" de la bibliothèque User32, mais elle le fait à partir de la position de la souris. Ce qui ne me convient pas, à moins de déplacer la souris aux coordonnées de la zone client. Ce que je n'arrive pas à faire correctement.
j'espère que ces explication sont cette fois un peu plus claires.
Djebel
Signaler
0
0
→ Revenir à WINDEV 2024
WINDEV 2024
WINDEV 2024
WEBDEV 2024
WEBDEV 2024
WINDEV Mobile 2024
WINDEV Mobile 2024
WINDEV (précédentes versions)
WINDEV (précédentes versions)
WEBDEV (précédentes versions)
WEBDEV (précédentes versions)
WINDEV Mobile (précédentes versions)
WINDEV Mobile (précédentes versions)
Etats & Requêtes
Etats & Requêtes
Hors-sujet
Hors-sujet
Outils
Outils
WINDEV 26
WINDEV 2024
WINDEV 2024
WINDEV 25
WEBDEV 2024
WEBDEV 2024
WINDEV Mobile 2024
WINDEV (précédentes versions)
Français
English
Español
Portuguesa
Fermer cette fenêtre
Type de recherche
Uniquement les sujets
Tous les messages
Période de recherche
Date indifférente
Moins d'une heure
Moins de 24 heures
Moins d'une semaine
Moins d'un mois
Moins d'un an
Annuler
Aperçu de votre message
Ajouter une image
Importer une image depuis une URL
Envoyer une image depuis un fichier de votre disque
Déposez ici un fichier ou cliquez sur "Parcourir..."
ou
Annuler
0%
WLangage
SQL
XML, HTML
JAVA, Javascript
Texte