Enumération et action sur une fenêtre windows [Résolu]

Messages postés
13
Date d'inscription
lundi 16 juillet 2001
Statut
Membre
Dernière intervention
23 mars 2007
- - Dernière réponse : laraldie
Messages postés
13
Date d'inscription
lundi 16 juillet 2001
Statut
Membre
Dernière intervention
23 mars 2007
- 17 avril 2006 à 16:04
Bonsoir,
Mon problème est simple mais pas facile à expliquer.
En interaction avec une autre application (un gestionnaire de base de données qui récupère les données présentes dans le presse papier pour les analyser et les classer) qui tourne en tâche de fond, une fenêtre Windows peut s'ouvrir en fonction des actions de mon programme (dupliquât dans la base de données, ...).
Cette fenêtre demande la confirmation d'une action par "oui" ou "non".

Ce que je voudrais, c'est vérifier si une fenêtre s'est ouverte, et dans ce cas, répondre "non" à la demande.

Il doit exister des classes de contrôle des fenêtres de Windows, mais je ne les connais pas et ne sais pas les utiliser.

Merci d'avance.
Afficher la suite 

6 réponses

Meilleure réponse
Messages postés
3246
Date d'inscription
lundi 25 avril 2005
Statut
Modérateur
Dernière intervention
27 octobre 2012
28
3
Merci
Salut, essaye avec les fonctions Win32 FindWindow et SendMessage.

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 194 internautes nous ont dit merci ce mois-ci

Commenter la réponse de Lutinore
Messages postés
5507
Date d'inscription
dimanche 4 août 2002
Statut
Modérateur
Dernière intervention
20 juin 2013
41
3
Merci
using System.Runtime.InteropServices;

public
class
Win32
{

// public const int WM_SYSCOMMAND = 0x0112;
// public const int SC_CLOSE = 0xF060;


[
DllImport(
"user32.dll")]

public
static
extern
int FindWindow(
string lpClassName,
string lpWindowName);
[
DllImport(
"user32.dll")]

public
static
extern
int SendMessage(
int hWnd,
uint Msg,
int wParam,
int lParam);
}


<HR>

[Pub] http://www.csharpfr.com/auteurdetail.aspx?ID=13319 [\Pub]
C# forever /infomsg/auteurdetail.aspx?ID=13319/infomsg/auteurdetail.aspx?ID=13319/infomsg/auteurdetail.aspx?ID=13319/infomsg/auteurdetail.aspx?ID=13319/infomsg/auteurdetail.aspx?ID=13319

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 194 internautes nous ont dit merci ce mois-ci

Commenter la réponse de cs_Bidou
Messages postés
13
Date d'inscription
lundi 16 juillet 2001
Statut
Membre
Dernière intervention
23 mars 2007
0
Merci
Merci, je regarde ça et te dis si j'y arrive.

Merci
Commenter la réponse de laraldie
Messages postés
13
Date d'inscription
lundi 16 juillet 2001
Statut
Membre
Dernière intervention
23 mars 2007
0
Merci
Désolé, mais malgré plusieurs essais, et la documentation MSDN, je n'arrive pas à trouver la classe à utiliser ("using") en C# pour avoir accès à ces deux fonctions qui ont l'air de répondre à mon besoin.

Pourriez vous m'aider ?
Commenter la réponse de laraldie
Messages postés
5507
Date d'inscription
dimanche 4 août 2002
Statut
Modérateur
Dernière intervention
20 juin 2013
41
0
Merci
Salut, tu peux faire comme ceci :

public class Win32<?XML:NAMESPACE PREFIX = O />


{




// public const int WM_SYSCOMMAND = 0x0112;


// public const int SC_CLOSE = 0xF060;


[DllImport("user32.dll")]


public static extern int FindWindow(string lpClassName, string lpWindowName);


[DllImport("user32.dll")]


public static extern int SendMessage(int hWnd, uint Msg, int wParam, int lParam);




}


<HR>

[Pub] http://www.csharpfr.com/auteurdetail.aspx?ID=13319 [\Pub]
C# forever /infomsg/auteurdetail.aspx?ID=13319/infomsg/auteurdetail.aspx?ID=13319/infomsg/auteurdetail.aspx?ID=13319/infomsg/auteurdetail.aspx?ID=13319
Commenter la réponse de cs_Bidou
Messages postés
13
Date d'inscription
lundi 16 juillet 2001
Statut
Membre
Dernière intervention
23 mars 2007
0
Merci
Merci beaucoup à tous les deux :)

Avec toutes ces indications, je devrais y arriver :)
Commenter la réponse de laraldie