FindWindow et ShowWindow [Résolu]

aluccard 22 Messages postés mercredi 30 mai 2007Date d'inscription 11 octobre 2007 Dernière intervention - 30 mai 2007 à 11:04 - Dernière réponse : Renfield 17307 Messages postés mercredi 2 janvier 2002Date d'inscription 18 janvier 2017 Dernière intervention
- 30 mai 2007 à 13:22
bonjour

j'ai un petit soucis sur l'utilisation des functions "FindWindow" "ShowWindow"

pour le FindWindow, j 'ai mit

Dim hdle,
hdle = FindWindow(vbNullString, "~")
~ est le nom de mon application ouverte que je vois dans ma barre des taches (lorsque je lance Cygwin)

pour le ShowWindow, j'ai mit

ShowWindow(hdle, 5)
a
savoir que le SW_SHOW ne peut pas fonctionner du fait qu'on attend un
long (j'ai jamais comprit pourquoi je vois souvent SW_SHOW , SW_HIDE,
SW_ .......alors que c'est un variable non déclaré)

en débuggage, j'ai ce message sur la ligne ShowWindow(hdle, 5)

"A
call to PInvoke function 'Conductor!Conductor.Conductor::ShowWindow'
has unbalanced the stack. This is likely because the managed PInvoke
signature does not match the unmanaged target signature. Check that the
calling convention and parameters of the PInvoke signature match the
target unmanaged signature."

1) que signifie ce message?
2)
comment vérifier qu'on a le bon handle de l'application désirée? (je
récupère un handle mais même en mettant une application inexistance du
genre hdle = FindWindow(vbNullString, "BACHIBOUZOUK"), je récupere
aussi un handle)
3) mon objectif est de passer d"une application a
un autre afin d'utiliser le clavier pour entrer des commandes sous
Cygwin, .... donc je voudrais un peu plus de détaille sur ces 2
fonctions

merci

ps : je suis sous VB Express Edition 2005, Win XP
Afficher la suite 

4 réponses

Répondre au sujet
drikce06 2247 Messages postés lundi 29 mai 2006Date d'inscription 29 mai 2008 Dernière intervention - 30 mai 2007 à 11:10
+3
Utile
Salut où sont les types des variables, VB.Net les long à remplacer par des integer et voilà.

hdle = Int(FindWindow(vbNullString, "~"))

 Drikce 06 (Nouveau !!! Forum Exclusivement Office Et VBA By Mortalino)

Si la réponse vous convient: Réponse acceptée < body>
Cette réponse vous a-t-elle aidé ?  
Commenter la réponse de drikce06
Renfield 17307 Messages postés mercredi 2 janvier 2002Date d'inscription 18 janvier 2017 Dernière intervention - 30 mai 2007 à 11:11
+3
Utile
Dim hdle As ??????

(Integer)



Pour la énième fois, les déclarations d'APIs sont à adapter pour B2005...
Long => Integer
Cette réponse vous a-t-elle aidé ?  
Commenter la réponse de Renfield
cavo789 168 Messages postés vendredi 9 janvier 2004Date d'inscription 28 juillet 2009 Dernière intervention - 30 mai 2007 à 13:13
0
Utile
>a savoir que le SW_SHOW ne peut pas fonctionner du fait qu'on attend un
long (j'ai jamais comprit pourquoi je vois
> souvent SW_SHOW , SW_HIDE,
SW_ .......alors que c'est un variable non déclaré)

Il suffit de déclarer la constante avant de pouvoir l'utiliser.    Au final, cela revient au même sauf que c'est bien plus facile à lire.

Const SW_SHOW = 5

Christophe
Commenter la réponse de cavo789
Renfield 17307 Messages postés mercredi 2 janvier 2002Date d'inscription 18 janvier 2017 Dernière intervention - 30 mai 2007 à 13:22
0
Utile
il s'agit surtout de bien faire la déclaration de l'API, si on y laisse Long, tu peux avoir déclaré toutes les constantes que tu veux, le cast se ferait...

et crack !
Commenter la réponse de Renfield

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.