FORUMS PROFESSIONNELS
WINDEV
,
WEBDEV
et
WINDEV Mobile
Accueil
|
Messages récents
|
Connexion
|
Déconnexion
|
Français
Accueil
→
WINDEV 2024
→
Connaitre la fenêtre active d'une autre application
Connaitre la fenêtre active d'une autre application
Débuté par Michel, 21 avr. 2009 18:04 - 4 réponses
Connectez-vous…
Michel
#1
Posté le 21 avril 2009 - 18:04
Bonjour,
Je dois développer une application externe qui peut être intégrée dans Sage Gescom l 100.
Je voudrais a partir de cette application Windev connaitre le handle de la fenêtre sage pour la fermer, mettre a jour les données pouis envoyer un double clic a l'écran top most du moment.
Comment faire.
1) pour récupérer le handel ou le nom de la fenêtre SAGE.
2) pour la fermer.
3) envoyer le double clic
Merci
Signaler
0
0
Michel
#2
Posté le 21 avril 2009 - 19:42
Voici le code que j'utilise
// code dans un bouton
nFichier est un entier = fOuvre("C:\HandleFenêtre.txt", foCréation)
SI nFichier=-1 ALORS
Erreur("Problème fichier")
FinProgramme()
FIN
// On lance l'énumération
AppelDLL32("User32", "EnumWindows", &EnumFenêtre, nFichier)
// On ferme le fichier
fFerme(nFichier)
// code de la procedure "call back"
PROCEDURE EnumFenêtre(nHwnd est un entier, nFichier est un entier)
// On écrit dans le fichier
fEcritLigne(nFichier, nHwnd)
RetourFonction est un entier // Type C :INT
hWnd est un entier // Type C :HWND
lpString est une chaîne // Type C :LPSTR, c'est l'adresse d'une chaîne, il est
aussi possible de spécifier directement une chaîne
nMaxCount est un entier = 255 // Type C :int
str est une chaîne
RetourFonction=AppelDLL32("USER32","GetWindowTextA",nHwnd,lpString,nMaxCount)
fEcritLigne(nFichier, lpString)
RENVOYER Vrai
Le but est de récupérer les noms des fenêtres dont celles de sage (ou autre appli) pour pourvoir fermer fermer celle qui m'intéresse. Dans ce code, j'essaie de voir comment sont coder les noms de fenêtre.
Signaler
0
0
Philippe
#3
Posté le 03 décembre 2012 - 15:15
Bonjour,
J'ai la même problématique, as tu trouvé une solution ?
Signaler
0
0
Kévin Gleizes
#4
Posté le 20 mai 2019 - 11:03
Bonjour,
Si c'est juste pour fermer une application dont vous connaissez le nom de l'executable (ex: monappli.exe)
vous pouvez utiliser la commande dos 'TASKKILL', regardez la syntaxe avec 'TASKKILL /?'.
Cela pourrait donner :
LanceAppliAssociée("TASKKILL /IM monappli.exe /F")
N.B : Cette fonction va fermer TOUTES les applications avec ce nom (attention donc si vous ne voulez en fermer qu'une seule !).
Signaler
0
0
Marret
#5
Membre enregistré
69 messages
Popularité : +4 (4 votes)
Posté le 21 mai 2019 - 15:19
Bonjour,
Il est également possible de fermer l'autre application en envoyant un message Windows avec les touches ALT+F4 pour commander la fermeture de la fenêtre principale de l'autre application.
Voir Postmessage, SendMessage.
Bon développement
Signaler
0
0
→ Revenir à WINDEV 2024
WINDEV 2024
WEBDEV 2024
WINDEV Mobile 2024
WINDEV (précédentes versions)
WEBDEV (précédentes versions)
WINDEV Mobile (précédentes versions)
Etats & Requêtes
Hors-sujet
Outils
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