Accueil > Forum > > > > Ancien code - CreateWindowEx ne fonctionne pas
Ancien code - CreateWindowEx ne fonctionne pas
dimanche 26 octobre 2003 à 02:44:28 |
Ancien code - CreateWindowEx ne fonctionne pas

TehWan
|
Je ne comprends vraiment pas pourquoi CreateWindowEx ne fonctionne pas. Je code en ancien code avec MASM32. J'ai même essayé la nouvelle syntaxe (invoke) et cela ne fonctionne pas plus. Peut-être que le code va vous en dire plus... .386 .model flat, stdcall option casemap:none
include \masm32\include\windows.inc include \masm32\include\kernel32.inc include \masm32\include\user32.inc include \masm32\include\gdi32.inc
includelib \masm32\lib\kernel32.lib includelib \masm32\lib\user32.lib includelib \masm32\lib\gdi32.lib
.data? msg MSG <?> wc WNDCLASS <?>
.data hWnd dword 0 hInstance dword 0
hWin dword 0 uMsg dword 0 lParam dword 0 wParam dword 0
szDisplayName byte "Wolf Rules", 0 szClassName byte "Wolf", 0
.code start: ;WinMain push 0 call GetModuleHandle mov hInstance, eax
mov wc.style, CS_HREDRAW or CS_VREDRAW lea eax, WndProc mov wc.lpfnWndProc, eax mov wc.cbClsExtra, 0 mov wc.cbWndExtra, 0 mov wc.lpszMenuName, 0 lea eax, szClassName mov wc.lpszClassName, eax push hInstance pop wc.hInstance
push 0 call CreateSolidBrush mov wc.hbrBackground, eax
push IDI_APPLICATION push 0 call LoadIcon mov wc.hIcon, eax
push IDC_ARROW push 0 call LoadCursor mov wc.hCursor, eax
lea eax, wc push eax call RegisterClass
push 0 push hInstance push 0 push 0 push 600 push 800 push 0 push 0 push WS_OVERLAPPED or WS_VISIBLE lea eax, szDisplayName push eax lea eax, szClassName push eax push WS_EX_WINDOWEDGE call CreateWindowEx mov hWnd, eax
push SW_SHOW push hWnd call ShowWindow
push hWnd call UpdateWindow
StartLoop: push 0 push 0 push 0 lea eax, msg push eax call GetMessage
cmp eax, 0 je ExitLoop
lea eax, msg push eax call TranslateMessage
lea eax, msg push eax call DispatchMessage
jmp StartLoop
ExitLoop: mov eax, msg.wParam ret ;WinMain End
WndProc: mov eax, [esp+4] mov hWnd, eax
mov eax, [esp+8] mov uMsg, eax
mov eax, [esp+12] mov wParam, eax
mov eax, [esp+16] mov lParam, eax
cmp uMsg, WM_CREATE je _CREATE
cmp uMsg, WM_DESTROY je _DESTROY
cmp uMsg, WM_COMMAND je _COMMAND
jmp _END
_CREATE: push hWin pop hWnd jmp _END
_DESTROY: push 0 call PostQuitMessage jmp _END
_COMMAND: mov eax, wParam jmp _END
_END: push lParam push wParam push uMsg push hWin call DefWindowProc ret ;WndProc End
end start
|
Avec des compares (cmp) et des jumps (je et jmp), j'ai pu déterminer ce qui ne fonctionnait pas. Pourtant, CreateWindowEx fonctionnait plus tôt. Pourriez-vous me dire ce qui ne fonctionne pas dans mon code? Merci. -- Wolf -- NB: Je ne veux pas être méchant mais les débutants qui vont me dire que je n'ai pas de procédure ou que c'est à cause du déroulement linéaire feraient mieux de retourner étudier les bases du assembly.
|
|
dimanche 26 octobre 2003 à 05:28:47 |
Re : Ancien code - CreateWindowEx ne fonctionne pas

TehWan
|
Je l'ai trouvé! Dans le WndProc, simplement changer mov hWnd, eax pour mov hWin, eax
-- Wolf --
|
|
Cette discussion est classée dans : mov, wc, push, call, eax
Répondre à ce message
Sujets en rapport avec ce message
BeginPaint code débutant [ par TRAX44 ]
Bonjour, le problème est tout simple je comprends absolument pas ce qui marche pas. Le "programme" est censé créer une fenêtre est afficher du texte e
mon programme bloque [ par rhumsek ]
slt j'ai améliore mon programme mais il provoque une erreure lorsdu calcul de la somme des entiers saisi (sommeentier)POURTANT il exécute bien les de
LecteurEstDvd asm inline [ par AlexMAN ]
Bonjour, Voila j'ai un ptit pb au nivo, je pense, de l'appel de la fonction DeviceIoControl, le code : //Fonction Cint __stdcall LecteurEstDvd(char *p
HELP ! :'( [ par TheHacker ]
Salut j'ai un probleme: voici mon code, il fonctionne correctement, activer le programme vous verres qu'a la fin i laffiche un MessageBox avec marqué
Problème de création de Dialog [ par bni ]
Bonjour,Suivant un tutoriel disponible sur le net, j'ai essayé de creer une boite de dialogue. Le seul problème, c'est qu'il n'y a qu'une console qui
Quels sont les parametres (nombre, taille...) [ par Renfield ]
Bonjour,on peut appeler RunDll32 pour executer des fonctions contenues dans des dll...j'aimerais m'affranchir de cette étape, mais j'ai pour cela beso
Une mémoire "read" [ par msteve ]
Bonsoir, Je suis débutant et j'ai recopié un programme test. Je parviens à l'assembler, puis à créer un .exe ; quend je lance l'exe j'obtiens la boîte
Assembleur et tableau + linux + bof [ par flocic ]
Bonjour, J'ai un petit pb de comprehension, j'ai un programme qui deborde au bout 44 octet à cause d'un depassement d ela taille du tableau. Mais ce
declaration externe + news Kmdkit [ par patatalo ]
salut, du nouveau pour les fondus de ring 0 sous NT: http://www.website.masmforum.com/tutorials/kmdtute/ ( kmd = kernel mode drivers ) avec masm32,
exception 13 lors du scan memoire haute [ par patatalo ]
salut, pourquoi ce code de detection de memoire en mode 32 bits sans paging me donne une exception 13 sur certaines cartes meres ( ASUS ) a l'adresse
Livres en rapport
|
Derniers Blogs
[MIX10] KEYNOTE DEUXIèME JOURNéE - INTERNET EXPLORER 9, HTML5, VISUAL STUDIO 2010, ODATA[MIX10] KEYNOTE DEUXIèME JOURNéE - INTERNET EXPLORER 9, HTML5, VISUAL STUDIO 2010, ODATA par cyril
Le deuxième keynote du mix fut très riche en contenu. Internet Explorer 9 Juste un après le lancement de Internet Explorer 8, Microsoft a dévoilé les nouveautés de Internet Explorer 9. Désormais, IE supportera HTML5, SVG et CSS3. L'élément ...
Cliquez pour lire la suite de l'article par cyril CERTIFICATIONS BETA .NET 4CERTIFICATIONS BETA .NET 4 par KooKiz
Les inscriptions pour les certifications beta .NET 4 ont commencé. L'inscription est offerte pour les examens suivants : - 71-511, TS: Windows Applications Development with Microsoft .NET Framework 4 - 71-515, TS: Web Applications Development with...
Cliquez pour lire la suite de l'article par KooKiz [MIX 2010] - MICROSOFT TRANSLATOR TECHNOLOGY PREVIEW V2[MIX 2010] - MICROSOFT TRANSLATOR TECHNOLOGY PREVIEW V2 par redo
J'imagine que la plupart d'entre vous connaissent bien et utilisent le service de traduction de Google, mais connaissez-vous celui de Microsoft . Microsoft Translator ? Effectivement, Microsoft nous annoncé le lancement version 2 de la Technologie Preview...
Cliquez pour lire la suite de l'article par redo LANCEMENT EN PREVIEW DE CYCLONE LORS DES TECHDAYS 2010!LANCEMENT EN PREVIEW DE CYCLONE LORS DES TECHDAYS 2010! par MPOWARE
Toutes les vidéos de ce lancement sont en ligne!
Partie I - Intro
http://www.youtube.com/watch?v=LkQzTQ8T6CA
Partie II - Démo 1
http://www.youtube.com/watch?v=drAhYQ7lqvo
Partie III - Démo 2
http://www.youtube.com/watch?v=c8KM_1Gqybc...
Cliquez pour lire la suite de l'article par MPOWARE
Forum
ASSEMBLEURASSEMBLEUR par solleil
Cliquez pour lire la suite par solleil RE : CSHARPRE : CSHARP par ghuysmans99
Cliquez pour lire la suite par ghuysmans99
Logiciels
Academy System (10.9.4.0)ACADEMY SYSTEM (10.9.4.0)Logiciel de gestion des établissements.
- élèves/étudiants (inscription, dossier, absence...)
-... Cliquez pour télécharger Academy System Xilisoft Convertisseur Vidéo Ultimate (5.1.39.0305)XILISOFT CONVERTISSEUR VIDéO ULTIMATE (5.1.39.0305)Xilisoft Convertisseur Vidéo Ultimate est un outil puissant de conversion vidéo, facile à utilise... Cliquez pour télécharger Xilisoft Convertisseur Vidéo Ultimate Xilisoft DVD Ripper Ultimate (5.0.64.0304)XILISOFT DVD RIPPER ULTIMATE (5.0.64.0304)Xilisoft DVD Ripper Ultimate est un logiciel excellent pour copier et convertir DVD vers presque ... Cliquez pour télécharger Xilisoft DVD Ripper Ultimate Rigs of Rods (63.3)RIGS OF RODS (63.3)c'est un jeu de multi-simulation camions,autobus voitures, avions, bateaux, hélicoptère avec défo... Cliquez pour télécharger Rigs of Rods
Comparez les prix

HTC Magic
Entre 429€ et 429€
|