Comment créer une boite de dialogue d'info en .exe ?

Comment créer une boite de dialogue d'info en .exe ? - Divers - Programmation

Marsh Posté le 30-03-2003 à 16:34:03    

Savez vous comment créer FACILEMENT un seul fichier exécutable faisant afficher une simple boîte de dialogue d'information avec un unique bouton OK, et permettant d'afficher un petit texte d'explication du genre...  
 
"Attention !  
 
Vous pouvez maintenant aussi désinstaller le runtime Paradox 10.  
Si vous êtes sûr qu'aucun autre logiciel ne l'utilise, confirmez sa désinstallation dans l'écran suivant.  
Si par contre vous n'êtes pas sûr qu'un autre logiciel n'en ait besoin pour fonctionner, ne confirmez pas la désinstallation et répondez "non" dans l'écran suivant."  
 
Une idée sans partir dans du VB, C++, etc. ?  
Merci d'avance :jap:

Reply

Marsh Posté le 30-03-2003 à 16:34:03   

Reply

Marsh Posté le 30-03-2003 à 16:36:58    

Comment veux tu faire sans passer par un quelconque langage ?  :heink:


---------------
J'ai un string dans l'array (Paris Hilton)
Reply

Marsh Posté le 30-03-2003 à 16:47:46    

Harkonnen a écrit :

Comment veux tu faire sans passer par un quelconque langage ?  :heink:  


avec un click&play like pour boites de dialogues  [:sinclaire]  
je sais pas si ca existe par contre

Reply

Marsh Posté le 30-03-2003 à 16:52:35    

lorill a écrit :


avec un click&play like pour boites de dialogues  [:sinclaire]  
je sais pas si ca existe par contre


enfin bon, une MessageBox y'a rien de plus simple !
tiens, en voici une en assembleur ! tu la compiles, et t'auras besoin d'aucun autre fichier pour la faire marcher !


.386  
.model flat,stdcall  
option casemap:none  
include \masm32\include\windows.inc  
include \masm32\include\kernel32.inc  
includelib \masm32\lib\kernel32.lib  
include \masm32\include\user32.inc  
includelib \masm32\lib\user32.lib  
 
.data  
MsgBoxCaption  db "Attention",0  
MsgBoxText     db "Vous pouvez maintenant aussi désinstaller le runtime Paradox 10.",13,10,"Si vous êtes sûr qu'aucun autre logiciel ne l'utilise, confirmez sa désinstallation dans l'écran suivant.",13,10,"Si par contre vous n'êtes pas sûr qu'un autre logiciel n'en ait besoin pour fonctionner, ne confirmez pas la désinstallation et répondez 'non' dans l'écran suivant.",0  
 
.code  
start:  
invoke MessageBox, NULL, addr MsgBoxText, addr MsgBoxCaption, MB_OK or MB_ICONWARNING  
invoke ExitProcess, NULL  
end start  


 
edit:

Citation :


version 1.01 : ajout du MB_ICONWARNING


 
http://harko.free.fr/soft/box.exe (2.5 Ko)


Message édité par Harkonnen le 30-03-2003 à 17:27:29

---------------
J'ai un string dans l'array (Paris Hilton)
Reply

Marsh Posté le 30-03-2003 à 17:11:54    

la même chose en Delphi :
 


program Truc;
 
uses
  Windows;
 
begin
  MessageBox(0, PChar('Vous pouvez maintenant aussi désinstaller le runtime Paradox 10.'
    + #13#10 + 'Si vous êtes sûr qu''aucun autre logiciel ne l''utilise, confirmez sa désinstallation'
    + ' dans l''écran suivant.' + #13#10 + 'Si par contre vous n''êtes pas sûr qu''un autre logiciel'
    + ' n''en ait besoin pour fonctionner, ne confirmez pas la désinstallation et répondez'
    + ' "non" dans l''écran suivant.'), PChar('Attention'), MB_OK or MB_ICONWARNING);
end.
 


 
www.antp.be/temp/Project1.exe (8.5 KB)


Message édité par antp le 30-03-2003 à 17:14:00

---------------
mes programmes ·· les voitures dans les films ·· apprenez à écrire
Reply

Marsh Posté le 30-03-2003 à 17:17:48    


2560 octets pour moi, t'es grillé à mort :kaola:


---------------
J'ai un string dans l'array (Paris Hilton)
Reply

Marsh Posté le 30-03-2003 à 17:19:41    

Harkonnen a écrit :


2560 octets pour moi, t'es grillé à mort :kaola:

bon, les mioches, c'est fini oui ? [:dawa]

Reply

Marsh Posté le 30-03-2003 à 17:19:55    

Oui mais moi je l'ai donné en .exe [:absynthe]
Et t'as copié sur moi pour le MB_ICONWARNING :p
 
Puis si j'avais pas inclus Windows.pas mais juste recopié les quelques constantes/fonctions ça aurait peut-être fait quelques Ko de moins :D
Idem en désactivant qques trucs dans les options de compil.
Enfin on peut pas descendre en-dessous de 4 Ko avec Delphi de toute façon.


Message édité par antp le 30-03-2003 à 17:20:38

---------------
mes programmes ·· les voitures dans les films ·· apprenez à écrire
Reply

Marsh Posté le 30-03-2003 à 17:21:48    

antp a écrit :

Oui mais moi je l'ai donné en .exe [:absynthe]


ben je l'aurais bien fait, mais un coup d'ad-aware m'a rendu mon client ftp inutilisable [:sinclaire]
 
edit: done :d


Message édité par Harkonnen le 30-03-2003 à 17:26:56

---------------
J'ai un string dans l'array (Paris Hilton)
Reply

Marsh Posté le 30-03-2003 à 17:32:30    

lorill a écrit :

bon, les mioches, c'est fini oui ? [:dawa]


 
je propose qu'on les modère [:meganne]


---------------
Informaticien.be - Lancez des défis à vos amis
Reply

Marsh Posté le 30-03-2003 à 17:32:30   

Reply

Marsh Posté le 30-03-2003 à 18:33:44    

Ça me rapelle le concours du plus petit PNG, avec HotShot et je sais plus qui d'autre :D


---------------
mes programmes ·· les voitures dans les films ·· apprenez à écrire
Reply

Marsh Posté le 30-03-2003 à 18:47:44    

chuis sur qu'en virant les macros de MASM (invoke et autres), je peux faire encore plus léger... [:meganne]


---------------
J'ai un string dans l'array (Paris Hilton)
Reply

Marsh Posté le 30-03-2003 à 18:48:38    

Harkonnen a écrit :


Comment veux tu faire sans passer par un quelconque langage ? :heink:  
enfin bon, une MessageBox y'a rien de plus simple !
tiens, en voici une en assembleur ! tu la compiles, et t'auras besoin d'aucun autre fichier pour la faire marcher


Merci à antp et toi pour vos réponses :jap:  
 
En fait je posais la question de savoir s'il existait pas un petit utilitaire (comme il en existe pour à peu près tout) capable de fabriquer ce genre de chose à partir d'un interface à base de menus et de boite de dialogue, ou d'un language de script simple (minimaliste).
 
Mais si ça existe pas ton prog me va bien sauf que tu me conseilles quoi comme soft le plus simple possible pour le compiler ?
 
antp> Delphi je connais mais c'est le genre de soft (très bien) mais trop gros que je voulais éviter d'installer :jap:

Reply

Marsh Posté le 30-03-2003 à 19:00:29    

-ET- a écrit :

Mais si ça existe pas ton prog me va bien sauf que tu me conseilles quoi comme soft le plus simple possible pour le compiler ?


ben je t'ai fourni le lien vers l'exe dans ma 1ere réponse, et antp a fait pareil (quel copieur !)


---------------
J'ai un string dans l'array (Paris Hilton)
Reply

Marsh Posté le 30-03-2003 à 19:01:33    

[:yaisse2] 2556 octets !!
 


.486  
.model flat,stdcall  
option casemap:none  
include \masm32\include\windows.inc  
include \masm32\include\kernel32.inc  
includelib \masm32\lib\kernel32.lib  
include \masm32\include\user32.inc  
includelib \masm32\lib\user32.lib  
 
.data  
MsgBoxCaption  db "Attention",0  
MsgBoxText     db "Vous pouvez maintenant aussi désinstaller le runtime Paradox 10.",13,10,"Si vous êtes sûr qu'aucun autre logiciel ne l'utilise, confirmez sa désinstallation dans l'écran suivant.",13,10,"Si par contre vous n'êtes pas sûr qu'un autre logiciel n'en ait besoin pour fonctionner, ne confirmez pas la désinstallation et répondez 'non' dans l'écran suivant.",0  
 
.code  
start:
    push    30h
    push    offset MsgBoxCaption
    push    offset MsgBoxText
    push    0
    call    MessageBox
    push    0
    call    ExitProcess  
end start


---------------
J'ai un string dans l'array (Paris Hilton)
Reply

Marsh Posté le 30-03-2003 à 19:09:27    

Harkonnen a écrit :


ben je t'ai fourni le lien vers l'exe dans ma 1ere réponse, et antp a fait pareil (quel copieur !)


Ben vi mais tu te doutes bien que c'était un exemple et qu'il va falloir que je paufine le texte + que je fasse la même chose avec un texte en anglais :sarcastic:  
 
Voilà pourquoi :)

Reply

Marsh Posté le 30-03-2003 à 19:15:10    

-ET- a écrit :


Ben vi mais tu te doutes bien que c'était un exemple et qu'il va falloir que je paufine le texte + que je fasse la même chose avec un texte en anglais :sarcastic:  
 
Voilà pourquoi :)  


ben c'est de l'assembleur, donc il faut l'assembler avec Masm 32 [:sinclaire]
mais si tu veux pas de VB ou de C++, l'assembleur est encore plus chaud !
le mieux, c'est que tu m'envoies ton texte en MP, je l'inclus à ma box et je te renvoie les exécutables !


Message édité par Harkonnen le 30-03-2003 à 19:16:23

---------------
J'ai un string dans l'array (Paris Hilton)
Reply

Marsh Posté le 30-03-2003 à 19:33:23    

Harkonnen a écrit :


ben c'est de l'assembleur, donc il faut l'assembler avec Masm 32 [:sinclaire]
mais si tu veux pas de VB ou de C++, l'assembleur est encore plus chaud !


Sauf que MASM32 V8 semble être un freeware de 20Mo un fois installé et pas un monstre payant de 300Mo comme d'autres programmes dont je n'ai pas l'utilité si tu vois ce que je veux dire... :D  

Reply

Marsh Posté le 30-03-2003 à 19:41:02    

Harkonnen a écrit :

et antp a fait pareil (quel copieur !)


 
:heink: [:antp]


---------------
mes programmes ·· les voitures dans les films ·· apprenez à écrire
Reply

Marsh Posté le 30-03-2003 à 19:42:16    

-ET- a écrit :


Sauf que MASM32 V8 semble être un freeware de 20Mo un fois installé et pas un monstre payant de 300Mo comme d'autres programmes dont je n'ai pas l'utilité si tu vois ce que je veux dire... :D  
 


 
Sinon pour compiler du code Delphi simple du genre de ce que j'ai utilisé icim y a ça :
http://www.bloodshed.net/devpascal.html
:D


---------------
mes programmes ·· les voitures dans les films ·· apprenez à écrire
Reply

Marsh Posté le 30-03-2003 à 19:44:32    

Harkonnen a écrit :


et antp a fait pareil (quel copieur !)


Je viens de DL le sien, et devinez quoi ? :D  
Le résultat est le même à 100% ! :lol:  
Pas un yota de différence :)  
 
Merci à tous les 2 c'est exactement ce dont j'ai besoin :jap:  
 
Mais donc...
Harkonnen j'ai DL et installé la V8.
Et ensuite... je copie ton code où et je lance quelle commande pour le sauvegarder, et le compiler.
Merci d'avance :jap:


Message édité par -ET- le 30-03-2003 à 19:50:40
Reply

Marsh Posté le 30-03-2003 à 19:48:14    

antp a écrit :


Sinon pour compiler du code Delphi simple du genre de ce que j'ai utilisé icim y a ça :
http://www.bloodshed.net/devpascal.html
:D


Je regarde... merci ;)

Reply

Marsh Posté le 30-03-2003 à 19:54:37    

-ET- a écrit :


Je regarde... merci ;)  


Argggg t'as pas de chance... j'ai abandonné leur serveur ne me permettait que de le DL (8Mo) qu'à 3ko/s :ouch:  :(  
 
J'en avais pour 1h :sarcastic:
L'autre il a fallu 20s.


Message édité par -ET- le 30-03-2003 à 19:55:49
Reply

Marsh Posté le 30-03-2003 à 20:04:30    

Harkonnen a écrit :

[:yaisse2] 2556 octets !!


[:cupra] je suis sûr qu'on peut faire moins, g un pote qui a un sample, je vais le lui demander


---------------
Whichever format the fan may want to listen is fine with us – vinyl, wax cylinders, shellac, 8-track, iPod, cloud storage, cranial implants – just as long as it’s loud and rockin' (Billy Gibbons, ZZ Top)
Reply

Marsh Posté le 30-03-2003 à 20:34:23    

-ET- a écrit :

Harkonnen j'ai DL et installé la V8.
Et ensuite... je copie ton code où et je lance quelle commande pour le sauvegarder, et le compiler.
Merci d'avance :jap:


Ouvre QEditor.exe, créé un nouveau fichier et sauvegarde le IMPERATIVEMENT dans le répertoire ou tu as installé Masm 32. Mettons que tu le sauvegardes sous le nom Box.asm
 
Puis va dans le menu Project>Build All.
 
Une fois ceci fait, dans le répertoire ou tu as sauvegardé Box.asm, tu dois avoir un fichier Box.exe
 
:hello:


Message édité par Harkonnen le 30-03-2003 à 20:35:57

---------------
J'ai un string dans l'array (Paris Hilton)
Reply

Marsh Posté le 30-03-2003 à 20:35:19    

-ET- a écrit :


Je viens de DL le sien, et devinez quoi ? :D  
Le résultat est le même à 100% ! :lol:  
Pas un yota de différence :)


Si, 6 Ko de différence ! C'est énorme :o


---------------
J'ai un string dans l'array (Paris Hilton)
Reply

Marsh Posté le 30-03-2003 à 20:56:14    

Harkonnen a écrit :


Ouvre QEditor.exe, créé un nouveau fichier et sauvegarde le IMPERATIVEMENT dans le répertoire ou tu as installé Masm 32. Mettons que tu le sauvegardes sous le nom Box.asm


Arf... en fait j'avais déjà fait ça mais l'erreur c'est que quand tu sauvegardes c'est à toi de taper l'extension .ASM et c'est ça qui me donnait une erreur :sarcastic:  
 
Bon, maintenant ça marche.
Merci pour tout :jap:  
 
 :hello:

Reply

Marsh Posté le 31-03-2003 à 09:43:16    

1536 octets [:yaisse3]
 

Code :
  1. ; #########################################################################
  2.       .486
  3.       .model flat, stdcall
  4.       option casemap :none   ; case sensitive
  5. ; #########################################################################
  6.       include \masm32\include\windows.inc
  7.       include \masm32\include\user32.inc
  8.       include \masm32\include\kernel32.inc
  9.       includelib \masm32\lib\user32.lib
  10.       includelib \masm32\lib\kernel32.lib
  11. ; #########################################################################
  12.     .code
  13. start:
  14.     jmp @F
  15.       szDlgTitle    db "Minimum MASM",0
  16.       szMsg         db "  --- Assembler Pure and Simple ---  ",0
  17.     @@:
  18.     push MB_OK
  19.     push offset szDlgTitle
  20.     push offset szMsg
  21.     push 0
  22.     call MessageBox
  23.     push 0
  24.     call ExitProcess
  25.     ; --------------------------------------------------------
  26.     ; The following are the same function calls using MASM
  27.     ; "invoke" syntax. It is clearer code, it is type checked
  28.     ; against a function prototype and it is less error prone.
  29.     ; --------------------------------------------------------
  30.     ; invoke MessageBox,0,ADDR szMsg,ADDR szDlgTitle,MB_OK
  31.     ; invoke ExitProcess,0
  32. end start


 
edit: ok ya pas d'icône et le message est plus court :whistle:


Message édité par drasche le 31-03-2003 à 09:46:56

---------------
Whichever format the fan may want to listen is fine with us – vinyl, wax cylinders, shellac, 8-track, iPod, cloud storage, cranial implants – just as long as it’s loud and rockin' (Billy Gibbons, ZZ Top)
Reply

Marsh Posté le 31-03-2003 à 09:46:33    

drasche a écrit :

1536 octets [:yaisse3]


ouais, mais t'as moins de data  [:sinclaire]

Reply

Marsh Posté le 31-03-2003 à 09:50:37    

et ne Tcl/Tk(par exemple), y a moyen de faire plus leger non ?
ou en WSH ?


Message édité par bobuse le 31-03-2003 à 09:51:01

---------------
get amaroK plugin
Reply

Marsh Posté le 31-03-2003 à 10:08:05    

bobuse a écrit :

et ne Tcl/Tk(par exemple), y a moyen de faire plus leger non ?


pas si tu fais un exe, parce qu'il faudra inclure une bonne partie de l'interpreteur et des libs. c'est pour ca que je me suis retenu de faire une version python. En source, ca aurait fait ptet 500 octets, mais en binaire, plusieurs Mo.  [:sinclaire]

Reply

Marsh Posté le 31-03-2003 à 10:19:24    

drasche a écrit :

1536 octets [:yaisse3]


tu te moques du monde ou quoi ? la règle du jeu est de conserver le message original hein !! [:mareek]
et puis, icone ou pas la taille est la même [:sinclaire]
 
par contre, si on fait ça, on arrive à combien ? (j'ai pas masm au boulot)
 


.486    
.model flat,stdcall    
option casemap:none    
include \masm32\include\windows.inc    
include \masm32\include\kernel32.inc    
includelib \masm32\lib\kernel32.lib    
include \masm32\include\user32.inc    
includelib \masm32\lib\user32.lib    
 
.data    
MsgBoxCaption  db "Attention",0    
MsgBoxText     db "Vous pouvez maintenant aussi désinstaller le runtime Paradox 10.",13,10,"Si vous êtes sûr qu'aucun autre logiciel ne l'utilise, confirmez sa désinstallation dans l'écran suivant.",13,10,"Si par contre vous n'êtes pas sûr qu'un autre logiciel n'en ait besoin pour fonctionner, ne confirmez pas la désinstallation et répondez 'non' dans l'écran suivant.",0    
 
.code    
start:  
   push    30h  
   push    offset MsgBoxCaption  
   push    offset MsgBoxText  
   push    0  
   call    MessageBox  
   call    ExitProcess    
end start  


 
ceci fonctionnera si [esp] = 0 au retour de MessageBox, sinon je décline toute responsabilité :whistle:

Reply

Marsh Posté le 31-03-2003 à 10:21:19    

bobuse a écrit :

et ne Tcl/Tk(par exemple), y a moyen de faire plus leger non ?
ou en WSH ?


on parle pas de la taille du source hein, mais de l'exe final ! et la, aucun langage ne rivalisera avec l'assembleur

Reply

Marsh Posté le 31-03-2003 à 10:28:54    

Harkonnen a écrit :


on parle pas de la taille du source hein, mais de l'exe final ! et la, aucun langage ne rivalisera avec l'assembleur  


 
c con, pour le coup t'as plus de texte que de code, hummmm une fine compression  du texte ? :D

Reply

Marsh Posté le 31-03-2003 à 10:40:20    

Harkonnen a écrit :


ceci fonctionnera si [esp] = 0 au retour de MessageBox, sinon je décline toute responsabilité :whistle:


bon dans ce cas je vais d'abord en parler au HelpDesk :whistle:


---------------
Whichever format the fan may want to listen is fine with us – vinyl, wax cylinders, shellac, 8-track, iPod, cloud storage, cranial implants – just as long as it’s loud and rockin' (Billy Gibbons, ZZ Top)
Reply

Marsh Posté le 31-03-2003 à 10:41:30    

harko> ça donne 2560 octets et ça fonctionne.


---------------
Whichever format the fan may want to listen is fine with us – vinyl, wax cylinders, shellac, 8-track, iPod, cloud storage, cranial implants – just as long as it’s loud and rockin' (Billy Gibbons, ZZ Top)
Reply

Marsh Posté le 31-03-2003 à 10:42:37    

drasche a écrit :

harko> ça donne 2560 octets et ça fonctionne.


 
etrange, le push en moins aurait du supprimer deux octets...

Reply

Marsh Posté le 31-03-2003 à 10:50:51    

ça m'étonne qu'on puisse pas faire plus petit quand même :D
 
En Brainfuck je parie que ça prendra moins de place [:banzai]


Message édité par antp le 31-03-2003 à 10:51:28
Reply

Marsh Posté le 31-03-2003 à 10:54:56    

pour revenir dans le sujet, y'a xdialog qui est prévu exactement pour ce genre de choses, mais sous win j'ai de gros doutes [:sinclaire]

Reply

Marsh Posté le 31-03-2003 à 10:55:23    

antp a écrit :

En Brainfuck je parie que ça prendra moins de place [:banzai]


vazy code le voir qu'on rigole [:banzai]


---------------
Whichever format the fan may want to listen is fine with us – vinyl, wax cylinders, shellac, 8-track, iPod, cloud storage, cranial implants – just as long as it’s loud and rockin' (Billy Gibbons, ZZ Top)
Reply

Marsh Posté le    

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed