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 

Votre réponse

4 réponses

Meilleure réponse
drikce06 2247 Messages postés lundi 29 mai 2006Date d'inscription 29 mai 2008 Dernière intervention - 30 mai 2007 à 11:10
3
Merci
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>

Merci drikce06 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 120 internautes ce mois-ci

Commenter la réponse de drikce06
Meilleure réponse
Renfield 17307 Messages postés mercredi 2 janvier 2002Date d'inscription 18 janvier 2017 Dernière intervention - 30 mai 2007 à 11:11
3
Merci
Dim hdle As ??????

(Integer)



Pour la énième fois, les déclarations d'APIs sont à adapter pour B2005...
Long => Integer

Merci Renfield 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 120 internautes ce mois-ci

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
Merci
>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
Merci
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.