Création de boite de dialogue

Signaler
Messages postés
202
Date d'inscription
mardi 17 mai 2005
Statut
Membre
Dernière intervention
29 septembre 2008
-
Messages postés
202
Date d'inscription
mardi 17 mai 2005
Statut
Membre
Dernière intervention
29 septembre 2008
-
Bonjour,



J'aimerais savoir comment créer une boite de dialogue standard Win32
pour saisir un texte. Les exemples que j'ai pu trouver sur le Web
conduisent à la création et l'enregistrement d'une winclass. J'ai cru
comprendre qu'il existait des classes existantes genre edit, button
etc. Quelqu'un aurait-il un exemple simple à me proposer du genre
saisie de texte puis affichage dans une MessageBox ?



Merci



PS j'ai également vu que l'on pouvait utiliser un fichier de ressource mais je souhaite créer cette boite par du code asm.

8 réponses

Messages postés
21042
Date d'inscription
jeudi 23 janvier 2003
Statut
Modérateur
Dernière intervention
21 août 2019
24
push 0
push offset szTitre
push offset szMessage
push 0
call MessageBox

Boite de dialog modale se charge avec DialogBoxParam, non modale avec CreateDialog.
Regarder MSDN pour détails.

Explications compètes avec exemple (en C):
http://brunews.free.fr/brunews/download/CP5.zip
http://brunews.free.fr/brunews/download/CP5Sources.zip

ciao...
BruNews, MVP VC++
Messages postés
558
Date d'inscription
jeudi 28 novembre 2002
Statut
Membre
Dernière intervention
25 octobre 2020
2
Salut,


Pour créer une boite par code asm,voir masm32 (passe par mon site).


Masm32 contient des macros pour la création de boites en dynamique ainsi qu'un exemple tout fait (inputbox).
Ce n'est pas le choix de la simplicité.
ToutEnmasm
Messages postés
202
Date d'inscription
mardi 17 mai 2005
Statut
Membre
Dernière intervention
29 septembre 2008
2
Merci de votre réactivité. Malheureusement je suis débutant en programmation windows et je ne connais pas le C.

Ce dont je rève (on rève de ce qu'on peut!), c'est un exemple très
simple en pur asm pour saisir un texte (sans macro dépendante d'un
compilateur/Linkeur ou d'une librairie spécifique).

J'utilise Nasm et Alink et comprends un petit peu la syntaxe Masm (invoke par exemple).

Merci de votre aide
Messages postés
21042
Date d'inscription
jeudi 23 janvier 2003
Statut
Modérateur
Dernière intervention
21 août 2019
24
ben faudrait savoir le C, toute l'API est documentée en C, serait tout de même plus pratique pour toi.

ciao...
BruNews, MVP VC++
Messages postés
202
Date d'inscription
mardi 17 mai 2005
Statut
Membre
Dernière intervention
29 septembre 2008
2
Pour les paramètres à passer aux API en C, j'arrive à peu près à savoir
quoi injecter à la fonction (nombre de paramètres, ordre d'empilage),
je dispose également d'un fichier texte sur les API win32 et du fichier
Win32.hlp. Malheureusement les exemples d'utilisation manquent et
peut-être que mon niveau en anglais est sans doute insuffisant pour
saisir toutes les nuances de l'aide windows.

Dans le pire des cas je me vois dessassembler un exemple compilé pour
comprendre comment ça marche et pour en sortir la substantielle moelle
!!! (supprimer les instructions inutiles générées par le compilateur de
langage évolué).



Je ne renonce cependant pas et garde bon espoir.
Messages postés
558
Date d'inscription
jeudi 28 novembre 2002
Statut
Membre
Dernière intervention
25 octobre 2020
2
Salut,
Inutile d'en arriver a de telles extrémités
http://perso.wanadoo.fr/luce.yves/boites_1.htm
avec commentaires , exemples et tout ce qu'il faut en masm
ToutEnMasm
Messages postés
27
Date d'inscription
lundi 30 octobre 2000
Statut
Membre
Dernière intervention
20 janvier 2011

Avec ce que je vais te donner comme adresse, tu as tout à ta disposition pour apprendre a programmer. Avec des textes ecrit dans un francais correct, un vrai travail pédagogique et progressif, bref le must du mmust.
En fait cela représente ce qui est nécéssaire pour apprendre à programmer avec MASM (sachant que la syntaxe de NASM est proche et que le RAD que je te conseil par la suite supporte Nasm)

1) Les célèbres tutoriaux officiellements officieux de Iczelion traduit en francais par Morgatte (Iczetutes.exe) : http://www.movsd.com/icz.htm
2) Le site complet avec des ressource partout : une mine d'or pour l'ASM :
http://win32asm.cjb.net/
3) Le compilateur MASM32v8 :
http://www.masm32.com/
4) Un RAD (les goûts et les couleurs) pour developper plus vite. Permet de gere des projet, permet de creer des fenêtres comme avec un IDE de genre de VB. Très pratique et très puissant.
<!--StartFragment --> http://radasm.visualassembler.com/
Il en existe d'autre mais celui me parait bien pour commencer.
5) Un déogueur : pour retrouver plus rapidement ses erreurs lorsque le programme ce compile sans probleme mais contient une erreur. Permet d'inspecter un executable ligne par ligne et de voir les registre, la stack , le code afin de trouver l'erreur :
Ollydbg par exemple :)
++
Sky
(google)

SILKSCALP

LE SAVOIR EST UN POUVOIR
LE TRANSMETTRE EST UN DEVOIR
Skyfront ou silk ou sky
Messages postés
202
Date d'inscription
mardi 17 mai 2005
Statut
Membre
Dernière intervention
29 septembre 2008
2
Merci pour ces dernières infos, surtout pour les exemples des tutoriels
d'Iczelion (j'avais déjà récupéré quelques traductions de Morgate).
Avec les exemples (sources et exécutables) je devrais trouver mon
bonheur.

Au départ je pensais pouvoir faire des boites de dialogue sans fichiers
ressource, c'est sans doute possible mais très lourd pour le code (rien
à voir avec une bête MessageBox !!!).

Avec ResHacker je peux aisément modifier des ressources existantes.



Il ne me reste plus qu'à retranscrire les sources Masm en Nasm puis me
lancer dans les macros. Pour l'instant je n'en suis qu'à l'assembleur
pur et dur avec les push en pagaille mais ça viendra un jour.