Enumération et action sur une fenêtre windows

Résolu
laraldie Messages postés 15 Date d'inscription lundi 16 juillet 2001 Statut Membre Dernière intervention 15 décembre 2019 - 16 avril 2006 à 19:35
laraldie Messages postés 15 Date d'inscription lundi 16 juillet 2001 Statut Membre Dernière intervention 15 décembre 2019 - 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.

6 réponses

Lutinore Messages postés 3246 Date d'inscription lundi 25 avril 2005 Statut Membre Dernière intervention 27 octobre 2012 41
16 avril 2006 à 22:22
Salut, essaye avec les fonctions Win32 FindWindow et SendMessage.
3
cs_Bidou Messages postés 5487 Date d'inscription dimanche 4 août 2002 Statut Membre Dernière intervention 20 juin 2013 61
17 avril 2006 à 15:38
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
3
laraldie Messages postés 15 Date d'inscription lundi 16 juillet 2001 Statut Membre Dernière intervention 15 décembre 2019
17 avril 2006 à 07:39
Merci, je regarde ça et te dis si j'y arrive.

Merci
0
laraldie Messages postés 15 Date d'inscription lundi 16 juillet 2001 Statut Membre Dernière intervention 15 décembre 2019
17 avril 2006 à 14:44
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 ?
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_Bidou Messages postés 5487 Date d'inscription dimanche 4 août 2002 Statut Membre Dernière intervention 20 juin 2013 61
17 avril 2006 à 15:35
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
0
laraldie Messages postés 15 Date d'inscription lundi 16 juillet 2001 Statut Membre Dernière intervention 15 décembre 2019
17 avril 2006 à 16:04
Merci beaucoup à tous les deux :)

Avec toutes ces indications, je devrais y arriver :)
0
Rejoignez-nous