Trouver les bonton en face avant avec la user32.dll

bonjour,
J'ai un petit souci, je cherche a détecter et récupérer (dans une fenêtre qui s'ouvre lors de l'exécution de mon vi principal) le nom des boutons présent sur cette "face avant".
un exemple vaut mieux que les paroles.
disont que j'ai mon vi qui appel des exe classique l'un après l'autre. je dois effectuer 2 clic par fenetre avant de fermer celle ci et de passer a la suivante. voyez vous ce que je veux dire, c'est un peu compliquer a expliquer.
mais grosso modo c'est comme si la fenetre suivant s'ouvrait, il faudrait mettre dans la zone texte un titre, puis cliquer sur enregister, sans que l'utilisateur ne s'en occupe.
on m'avait parlé de la user32.dll avec les get et les send mais que prendre dans cette grosse lib et quel paramètre.??
si quelqu'un a une idée
cordialement

Bonjour,
Je vous invite tout d'abord a télécharger le logiciel WinSpy++, celui-ci pourra vous donner la référence vers la commande d'une fenêtre que vous souhaitez piloter.
Le problème viendra ensuite de savoir si l'executable créé avec LabVIEW utilise bien les contrôles Windows de base ou s'il s'agit d'un contrôle custom. S'il s'agit de ce dernier cas vous ne pourrez pas trouver les boutons en face-avant et je crois que c'est le cas pour LabVIEW (je ne m'en souviens pas).
Par contre pour un autre logiciel (la calculatrice Windows par exemple) il est très facile de trouver les boutons constituant son interface, il faut alors utiliser FindWindow ou FindWindowEx.
Je vous invite à regarder cet exemple que j'avais réaliser il y'a quelques années pour piloter la calculatrice de Windows avec LabVIEW : Pilotage Calculatrice Windows .
Aussi pour avoir plus de renseignement je vous invite à lire le post du forum concernant ce sujet : Integrate an executable on LabVIEW .
Maintenant si vous avez les fichiers sources (VIs) de l'executable que vous souhaitez piloter avec LabVIEW, vous pouvez utiliser la classe VI Server pour piloter / récupérer des infos sur cette face-avant, ce qui est plus propre et plus fiable.
Cordialement,
Da Helmut

Similar Messages

  • Minimiser la face avant avec une commande

    Bonjour,
    Je souhaiterais pouvoir contrôler l'affichage de ma face avant grâce à un bouton directement sur cette dernière. Ainsi lorsque le bouton prend la valeur vraie la face avant se minimise dans la barre des tâches.
    Le problème que je rencontre est que dès que le programme s'exécute, la face avant est minimisée. J'ai l'impression que la propriété du Vi qui gère la minimisation de la fenêtre ne prend pas en compte la structure condition et je ne comprends pas pourquoi... :smileysad:
    Merci d'avance
    Résolu !
    Accéder à la solution.

    Va dans les propritétés du VI (ctrl + i) et dans la section "Windows Run-Time Position", et vérifie l'option sélectionnée.
    When my feet touch the ground each morning the devil thinks "bloody hell... He's up again!"

  • Face-avant : "conteneur" ou fênetre, à ascenceur défilant pour face-avant surchargée

    Bonjour,
    J'ai une face avant avec 4 onglets, chaque onglets contient des commandes et des indicateurs portant sur des données différentes. Je dois faire tenir mes onglet sur la taille d'un écran. Cependant, j'ai des onglets dont le contenu dépasse largement la taille de mon écran.
    J'aimerais savoir s'il serait possible à l'intérieur de mon onglet surchargé, de mettre une fenetre ou un "conteneur" secondaire avec un ascenceur, de telle manière à pouvoir explorer tout le contenu de mon onglet sans toucher à sa taille.
    Merci d'avance.
    Cordialement,
    Luc.

    Bonjour LucD,
    Merci d'avoir posté sur le forum National Instruments.
    Il est possible d'utiliser les face-avants secondaires pour implémenter ce que tu souhaite. En effet, les face-avants secondaires (SubPanel) permettent de faire apparaitre la face-avant d'un autre VI dans un VI principal. Si la FA du sous-VI est plus grande que le conteneur de la FA secondaire tu devrais voir apparaitre les barres de défilement. Je te joints un exemple simple en LabVIEW 2009.
    Benjamin R.
    R&D Software Development Manager
    http://www.fluigent.com/
    Pièces jointes :
    Tabl&SubPanel.zip ‏25 KB

  • Affichage de l'horodatage dans une belle montre sur la face avant

    Bonjour,
    Tout est dans le titre
    je veux voir le temps (Heure, minute) et la date (anné, mois, jour) sur la face avant
    avec un très bel affichage dans la face avant.
    exp: Une jolie montre tout en voyant les aiguilles tourner
    Alors Comment?
    Ne me dites pas que c'est impossible,
    Solved!
    Go to Solution.

    Translation:
    Displaying the beautiful timestamps in a show on the front
    Hello, 
    Everything is in the title
    I want to see time (hour, minute) and date (year, month, day) on the front
    with a beautiful display in the front.
    exp: A nice watch while seeing needles turn 
    So What?
    Do not tell me that it is impossible
    Take a look at the community nugget that tst created some time ago. 
    http://forums.ni.com/ni/board/message?board.id=170&view=by_date_ascending&message.id=231915#M231915

  • Face avant multi langue avec labview 8.5

    Bonjour,
    J'ai une application LABVIEW 8.5 a transformer pour être utilisé en france et en pologne.
    La modification de tous les "sous titre" des composants de face avant se fera à chaque de démarrage des VI par initialisation des noeuds de propriété.
    Le texte a affiché sera selectionné dans un tableau selon la langue choisie en fichier .ini.
    Mon problème est d'écrire le texte en polonais. Il contient des caractères accentués que je n'arrive pas  a afficher correctement.
    Après recherche dans les forum j'ai vu:
        Les caractères accentué étranger sont écrit en UNICODE. (Y a t'il d'autre solution?)
        Les caratères unicode ne sont gérés qu'a partir de la version 8.6.
    Est que cela veut dire qu'il n'y a pas pu y avoir d'application labview ecrite en russie, pologne ou chine par exemple,  avant la sortie de LABVIEW8.6. C'est étrange? (ou alors uniquement écrite en anglais?)
    Avez vous d'autre idée pour afficher cette langue en face avant?
    En pièce jointe un mot en polonais. Ca s'affiche même dans un notepad, mais pas dans labview...
    merci pour votre aide.
    Pièces jointes :
    exemple txt polonais.txt ‏1 KB

    Bonjour
    J'ai eu le même problème il y a un an pour un projet en pologne (strictement le même).
    Le polonais sur PC se décline en 3 versions.
    L'une est la langue réel avec les caractères cyrilliques, et une autre est une version 'latin' avec uniquement les caractères ascii.
    Le gens en pologne avait l'habitude de ce problème et le traducteur n'a eu de soucis par rapport aux caractères spécifiques à la langue.
    Sinon coté méthode de traduction, il n'existe pas beaucoup de possibilité.
    La plus simple est la traduction vi les noeuds de propriété.
    Elle a l'avantage de permettre de changer de langue en cour d'exécution, ce qui peut simplifier le déboguage.
    En discutant avec d'autre partenaire NI, la plus part utilise cette solution, car les xml de traduction générer par LV sont trop sensible et la moindre évolution du vi risque de rendre le fichier inutilisable.
    Salutation matinale
    Eric C.
    Ingénieur d'Application / Développeur LabVIEW Certifié (CLD)
    Application Engineer / LabVIEW Certified Developer (CLD)

  • [TestStand] Popup avec une face avant de VI

    Bonjour, 
    A un moment dans ma séquence TestStand je veut faire afficher un popup donnant des informations sur le test et qui se ferme à un autre moment du test.
    pour ce faire j'utilise 3 vi :
    - le premier sert juste pour la face avant, il y à en entrée les champs qui vont etres affichés et en sortie une réference pour ce vi
    - le second et celui appelé par la séquence, il contient les mêmes champs en entrée, il appel le premier VI et avec un noeud de proprieté cablé sur la sortie du sous VI je pilote la face avant. En sortie de ce VI je retourne la réference du premier VI à ma séquence.
    - le troisième VI et aussi appelé par la séquence il utilise la réference du premier VI et ferme la face avant et le VI.
    Mon probleme et que malgre le fait que je mette le champ FA.AuPremierPlan à Vrai la face avant ne passe pas au premier plan sous TestStand.
    Si je ne travail que sous Labview la face avant passe bien au premeir plan.
    Dans l'aide Labview il est indiqué "Cette propriété s'applique uniquement dans l'instance d'application du VI appelant"  ...
    Si quelqu'un peut me dépanner. 

    Je rajoute en pieces jointes un petit bout de séquence et les vi appelés si il y en a qui peuvent regarder.
    Jean-François.
    Pièces jointes :
    popup.zip ‏38 KB

  • Déplacer les objet de la face avant sur un executable

    Bonjours,
    Vouila, j'aurais aimé savoir si il était possible de pourvoir bouger les objets de la face avant d'un exectubale avec la souris par l'utilisateur.
    Cordialement
    Sébastien Kuenlin

    via la "property : position" :
    Position of the top left corner of the bounding rectangle of the object on the front panel window in terms of left and top coordinates.
    A+
    Luc Desruelle | Voir mon profil | LabVIEW Code & blog
    Co-auteur livre LabVIEW : Programmation et applications
    CLA : Certified LabVIEW Architect / Certifié Architecte LabVIEW
    CLD : Certified LabVIEW Developer / Certifié Développeur LabVIEW
    Pièces jointes :
    move.vi ‏11 KB

  • Passage de paramètres avec une face avant secondaire

    Bonjour,
    j'ai plusieurs produits à tester qui ont une partie commune à 75% et l'autre partie spécifique. J'ai une fenêtre de test standard et je souhaiterais à travers une face avant secondaire avoir la partie spécifique qui s'affiche lorsque la référence est choisit.
    Jusque là j'ai réussi à afficher ce que je souhaite suivant la référence, mais j'ai un problème pour passer les paramètres du VI principal au VI de la face avant secondaire et inversement.
    Quelqu'un pourrait il m'expliquer comment faire pour passer des paramètres avec l'utilisation d'une face avant secondaire ?
    D'avance merci.
    Jérôme B.

    Rebonjour,
    Avec les noeuds de methode "valeur de commande", j'ai défini le passage de mes paramètres, mais ceux ci ne sont pas passés ou je n'arrive toujours pas à les récuperer... Peux-t-on passer des tableaux ou faut-il obligatoirement les passer en unitaire ?
    Slts
    Jérôme B.

  • Creer interface avec lien vers d'autres VI s'ouvrant dans une autre face avant

    Je crée un TP pour des élèves et je souhaiterais créer une face avant permettant aux élèves d'accéder à tous les VI dont ils auront besoin, un par étape, comme créer une icone qui nous mène comme un lien hypertexte à une autre face avant. Comment puis-je faire?
    De même, est-il possible de configurer le VI pour qu'il s'ouvre en mode Execution sans s'exécuter, pour que les élèves puissent utiliser le VI sans le modifier?
    Merci d'avance

    Bonjour,
    alors pour aller au plus simple :
    Il suffit d'aller dans les propriété du VI pour chaque sous vis, et dans la catégorie "windows appearance", sélectioner "Custom" puis sélectionner les options suivantes pour chaque sous-vis :
    "Show front panel when called"
    Cela aura pour effet de dégriser l'option suivante :
    "close afterward if originaly closed"
    à cocher également
    Cette opération est à effectuer pour chaque sous-vis dont la face avant devra être vue.
    Ensuite pour éviter des modifications des sous-vis, le plus simple sera de décocher la case "show abort button" ce qui aura pour effet d'obliger à fermer le sous-vi par un bouton "stop" placé sur la face avant, et donc, avec la case "close afterward if originaly closed" cochée, le sous vi sera ferm
    é et l'accès au source ne pourra s'effectuer qu'à partir du vi principal arrêté.
    Mais le plus simple à mon avis, est d'aller dans la catégorie "security" dans les propriété du VI et de sélectionner "password locked".
    Voilà, j'espère avoir répondu correctement à la question, bonne chance!
    Best regards,
    G Liagre

  • Où se trouve les copier/coller avant de transférer ds autre application.Merci d'avance

    Où se trouve les copier/coller avant de les transférer dans une autre application.merci d'avance

    English
    It is indeed possible to generate mxml with PHP, as mxml is
    xml hence pure text file.
    To run mxml, it is first needed to compile it : i don't think
    it is a good solution to recompile a source each time a page is
    loaded ...
    The only way to generate objects dynamically in Flex is to
    use ActionScript.
    French
    C'est possible de générer du mxml via PHP en effet,
    car mxml est du xml et donc un simple fichier texte.
    Ensuite il faut recompiler le source mxml pour pouvoir
    l'exécuter : je ne pense pas que ce soit une bonne solution de
    recompiler un source à chaque rechargement de page ...
    La seule solution pour créer des objects dynamiquement
    dans Flex, c'est ActionScript.

  • Aucune donnée dans les graphes lors d'une impression de la face avant après exécution

    En utilisant la fonction d'impression de la face avant après exécution disponible dans les propriétés du VI, les objets de la face avant sortent correctement mais les graphes sont vides de toutes les données, alors qu'elles sont bien présentent à l'écran. Par ailleurs les autres champs de commande, et autres indicateurs sont correctement reproduits. Quelqu'un a t -il une idée. D'avance merci.

    Si vous postez dans la section de langue française ici, alors vous pouvez obtenir une réponse plus rapide.
    Si vous pouviez nous donner soit une copie de votre vi si possible, ou une image de la vi alors il serait de régler le problème beaucoup plus facile.
    Cependant, il semble que vous avez tout simplement obtenu le flux de données ou des connexions mal quelque part qui devrait être une solution facile.

  • Affichage de l'ecran d'un appareil sur ma face avant

    Bonjour a tous,
    Je me pose la question de savoir si il serait possible de récupérer l'affichage d'un appareil quelconque et de le retranscrire directement sur ma face avant de VI?
    Prenons un exemple: je dispose d'un oscilloscope avec une base PC, je n'ai pas toujours l'utilité d'avoir l'ecran devant moi car je lui demande de faire des mesures automatique, je n'ai besoin de regarder l'ecran qu'en cas de soucis... serait il possible de récupérer son affichage sur ma face avant? un peu comme on peu le faire avec un logiciel style "Teamviewer" ou autre...*
    Le but serait de pouvoir "mettre en retrait" tout ces appareils tout gardant un oeil sue ce qui se passe à partir de mon interface labview.
    Si quelqu'un pense que c'est faisable ou l'a deja fait, Merci d'avance de votre réponse.
    Résolu !
    Accéder à la solution.

    Si ton appareil dispose d'une sortie VGA, j'imagine qu'elle clone l'affichage sur cette sortie.
    Il va ensuite falloir convertir la sortie VGA en quleque chose d'exploitable comme ceci :
    Ensuite  il faut transfromer le signal RGB vers un convertisseur USB reconnu dans NI vision.
    Le dazzle fonctionne très bien dans labview.
    Ensuite tu récupères l'image dans un indicateur IMAQdx dans labview (après une acquisition continue).
    Pour l'OCR, c'est la reconnaissance de caractère, comme pour un scanner qui lit les lignes d'un document A4, par exemple.
    D'ailleurs je viens sans m'en rendre compte de trouver un moyen de lire des informations d'un autre programme qui ne peux pas interagir avec labveiw directement. Il suffit de mettre le logiciel sur le cablage/dazzle comme si c'était un autre écran, et de le regarder avec labview, et d'en retiré les informations via OCR ! Bon c'est peu être un peu compliqué quand même...

  • Publier sur le web la face avant d'un executable

    Bonjour,
    Tous d'abord merci pour toute l'aide que vous pouvez m'apporter.
    Voilà, tous est dans le titre, J'ai un programme que je vais installer sur un pc (avec un installer) et je voudrais le controler occasionnellement via un autre pc sous le même réseaux en utilisant le navigateur web
    J'ai bien suivit les tutos que l'on peut trouver sur le web,  activer le web service, publier la face avant de mon VI etc...
    Le soucis c'est que je peut l'ouvrir avec IE uniquement sur le pc ou j'ai développer mon application. Comment faire pour pouvoir l'ouvrir d'un autre pc? Quand j'essaie de mettre l'url dans le navigateur de mon autre PC, rien ne ce passe!!
    Si quelqu'un peu m'expliquer comment s'y prendre, cela m'enlèverai un grosse épine du pied.
    Merci encore pour votre aide.

    Hello,
    je ne sais pas si la KB que tu as trouvé est la suivante : How Can I Use Remote Front Panels With LabVIEW Executables?
    mais c'est celle qui m'a permis d'y arriver, aprés pas mal de tatonnements, elle mérite donc d'être diffusée ici
    Ca fonctionne avec la plupart des navigateurs (FF, chrome, IE, opera, netscage...)
    Les plugins sont normallement inclus dans le runtime, mais il peut y avoir des conflits de version, lire ceci :
    http://digital.ni.com/public.nsf/allkb/151BE12C055F57CE86257043006CB4B3
    bon courage

  • Dimensionnement d'affichage face avant

    Bonjour,
    Je suis étudiant en BTS électrotechnique et je travaille en collaboration pour une entreprise de fabrication de semi-remorques: ASCA.
    J'utilise Labview 8.2, et j'aimerai savoir si il était possible de redimmensionner la face avant de mes VI's pour obtenir une vue d'ensemble des  différents objets y étant intégrés et ce quelque soit la résolution de l'écran (car une partie de la face avant se trouve en dehors de l'écran).
    Merci d'avance pour vos réponses.

    Bonjour,
    Si votre question est de savoir s'il est possible de "zoomer" afin d'afficher tous les éléments de la face avant.
    La fonction "zoom" n'est pas encore disponible dans LabVIEW, par contre vous pouvez utiliser des commandes type "tabulation" afin d'avoir différents onglets avec les différents commandes et indicateurs.
    Nous conseillons de créer sa face avant en fonction de la résolution de son écran.
    Cordialement,
    Christophe S.
    FSE East of France І Certified LabVIEW Associate Developer І National Instruments France

  • Dessin face avant

    Bonjour,
    Je réalise un programme ou je mesure des débits, pressions, et vitesses sur une soufflerie.
    J'aimerai faire un dessin de ma soufflerie sur la face avant de mon VI pour pouvoir visionner mes mesures en temps réel avec des indicateurs, mais je n'arrive pas à trouver comment faire les dessins.
    J'ai commencer à essayer de dessinner ma soufflerie avec la palette "décoration" mais c'est pas super pour dessiner des tuyaux en métal.
    Si quelqu'un sait comment faire des dessins d'une autre façon bhin ça serai cool de m'aider
    Je met en pièce jointe une capture d'écran de mon dessin actuel (qui est très moche ^^ )
    Merci d'avance pour votre aide
    Pièces jointes :
    face avant.png ‏37 KB

    salut pour faire une face-avant rapidement, mais avec un rendu sympa, tu peux aussi utiliser simplement power point, et ensuite enregistrer comme image. Par-dessus tu mettras les indicateurs et contrôles natifs LabVIEW.
    Perso j’ai une version Power Point 2013, et tu peux rapidement faire une image qui ressemble à une petite soufflerie avec des tuyaux. Quelque chose de simple mais efficace. GIMP est très bien, mais plus évolué.
    Luc Desruelle | Voir mon profil | LabVIEW Code & blog
    Co-auteur livre LabVIEW : Programmation et applications
    CLA : Certified LabVIEW Architect / Certifié Architecte LabVIEW
    CLD : Certified LabVIEW Developer / Certifié Développeur LabVIEW

Maybe you are looking for

  • Solaris 10u6 fails to boot after installation on HP Proliant DL380 G4

    Hello, I have used Solaris 10u5 without issues on the HP DL380 G4. However, when I tried to install update 6 (new installation), it fails to reboot. I starts to boot, then aborts and reboots the system. I added the arguments -av to help get more info

  • Service apple mobile device failed to start, Verify privileges. What?

    After being prompted to upgrade my iTunes software, I clicked ok. The upgrade failed to complete the installation with "service apple mobile device failed to start, Verify privileges to start system services". notice. I am given the option to Abort,

  • Copy text out of multiple word documents

    Hi Guys, Just wondering if it is at all possible to copy ALL the text from multiple word documents and place it into one. So basically bringing 6+ documents into 1. I've done some google searches and have come a cross this: New-Object -comobject Word

  • External Data Providers

    Hi! I have a document where I need to compare figures with two external Data Providers. One external provider gives me Target figures for a Sales Period in Total per Store. The other gives me % per week, in the Sales Period, for how much we want to h

  • Is there a way to load a movie file created using FlattenMovie() function ?

    Is there a way to load a movie file created using FlattenMovie() function ? I tried with NewMovieFromFile() , everything went well but the movie video track somehow had been corrupted. The thing is I could nicely convert the original Movie data struc