Equivalent appactivate en C#

jmaiolini Messages postés 2 Date d'inscription mardi 11 février 2003 Statut Membre Dernière intervention 31 mai 2007 - 31 mai 2007 à 09:50
Lutinore Messages postés 3246 Date d'inscription lundi 25 avril 2005 Statut Membre Dernière intervention 27 octobre 2012 - 1 juin 2007 à 03:26
bonjour,

je voudrais trouver une solution pour utiliser appactivate (en vb) sans utiliser Microsoft.VisualBasic.Interaction.AppActivate()

est-ce que quelqu'un l'a déjà fait ?
je pense qu'il doit y avoir une solution en utilisant les API mais je n'ai pas encore trouvé

merci d'avance pour votre réponse

3 réponses

cs_Bidou Messages postés 5487 Date d'inscription dimanche 4 août 2002 Statut Membre Dernière intervention 20 juin 2013 60
31 mai 2007 à 10:23
Salut,
As-tu regardé l'API SetForegroundWindow ?
Le truc c'est que ça ne fonctionne pas si la fenêtre est en minimizée...

<hr />
-Blog-
0
jmaiolini Messages postés 2 Date d'inscription mardi 11 février 2003 Statut Membre Dernière intervention 31 mai 2007
31 mai 2007 à 10:34
en effet c'est une bonne solution
mais comme tu le dis ca ne marche pas si la fenetre est en minimizée

je vais encore cherchée, il doit y avoir une solution

merci pour ton aide
0
Lutinore Messages postés 3246 Date d'inscription lundi 25 avril 2005 Statut Membre Dernière intervention 27 octobre 2012 42
1 juin 2007 à 03:26
Salut,

private const int SW_SHOWNORMAL = 1;


[ DllImport( "user32.dll" ) ] // Ou SetWindowPos
private static extern bool ShowWindow( IntPtr hWnd, int nCmdShow );


[ DllImport( "user32.dll" ) ]
private static extern bool SetForegroundWindow( IntPtr hWnd );


private void ActivateWindow( IntPtr hWnd )
{
    ShowWindow( hWnd, SW_SHOWNORMAL );
    System.Threading.Thread.Sleep( 250 );
    SetForegroundWindow( hWnd );
}
0