DLG.asm
;COMPILATION STYLE ;tasm /ml dlg ;brcc32 -32 dlg.rc ==CREATE THE RESOURCE (.RES) FILE ;tlink32 -Tpe -c -aa dlg,,,import32,,dlg.res .386 .model flat, stdcall include windows.inc include resource.inc includelib import32.lib extrn SetFocus:PROC extrn InternetOpenUrlA:PROC ;========== extrn ExitProcess:PROC extrn VirtualFree:PROC extrn FindFirstFileA:PROC extrn FindNextFileA:PROC extrn FindClose:PROC extrn InternetOpenA:PROC ;============== extrn GetModuleFileNameA:PROC extrn ReadFile:PROC extrn WriteFile:PROC extrn CreateFileA:PROC ;extrn bind:PROC ;=============== extrn CloseHandle:PROC extrn MessageBoxA:PROC extrn InternetReadFile:PROC ;================= extrn GetFileSize:PROC extrn VirtualAlloc:PROC extrn DeviceIoControl:PROC extrn GetFileAttributesA:PROC ;extrn WSAStartup:PROC ;================ extrn GetTempFileNameA:PROC extrn CreateProcessA:PROC extrn GetVersion:PROC extrn WinExec:PROC extrn GetCommandLineA:PROC extrn InternetQueryDataAvailable:PROC ;=========== extrn GetStdHandle:PROC extrn WriteConsoleA:PROC extrn WriteFile:proc extrn GetModuleHandleA:PROC extrn DefWindowProcA:PROC ;extrn socket:PROC ;============= extrn ExitProcess:PROC extrn LoadIconA:PROC extrn LoadCursorA:PROC extrn DialogBoxParamA:PROC extrn EndDialog:PROC ;extrn recv:PROC ;============== extrn WinExec:PROC extrn LoadLibraryA:PROC ;extrn htons:PROC ;================= extrn GetProcAddress:PROC extrn RegCreateKeyExA:PROC ;extrn listen:PROC ;================= extrn RegSetValueExA:PROC extrn RegCloseKey:PROC extrn GetWindowsDirectoryA:PROC ;extrn accept:PROC ;================= extrn FindWindowA:PROC extrn CopyFileA:PROC extrn MoveFileA:PROC ;extrn send:PROC ;================ extrn DeleteFileA:PROC extrn closesocket:PROC extrn ShellExecuteA:PROC extrn mciSendStringA:PROC ;extrn WSAAsyncSelect:PROC ;============== extrn GetDlgItemTextA:PROC extrn GetDlgItem:PROC extrn GetDlgItemText:PROC MB_ICONINFORMATION equ 00000040h MAX_USER_NAME = 20 .data szAppName db 'DLG APP', 0 szHello db 'Hello! ' szUser db MAX_USER_NAME dup (0) .code start: call GetModuleHandleA, 0 call DialogBoxParamA, eax, IDD_DIALOG, 0,offset DlgProc, 0 cmp eax, IDOK jne exit call MessageBoxA, 0, offset szHello, offset szAppName, MB_OK exit: call ExitProcess, 0 DlgProc proc _hDlg:dword, _uMsg:dword, _wParam:dword, _lParam:dword mov eax, [_uMsg] cmp eax, WM_INITDIALOG je init cmp eax, WM_COMMAND jne ret_false mov eax,[_wParam] cmp eax, IDCANCEL je cancel cmp eax, IDOK jne ret_false call GetDlgItemTextA, _hDlg, IDR_NAME, offset szUser, MAX_USER_NAME mov eax, IDOK ;call EndDialog, IDOK, _hDlg cancel: call EndDialog, _hDlg ,eax init: call GetDlgItem, _hDlg , IDR_NAME call SetFocus, eax jmp ret_false ret_false: xor eax, eax ret endp end start
DLG.RC
#include "resource.h" IDD_DIALOG DIALOGEX 0, 0, 187, 95 STYLE DS_MODALFRAME | DS_3DLOOK | WS_POPUP | WS_CAPTION | WS_SYSMENU EXSTYLE WS_EX_CLIENTEDGE CAPTION "Dialog" FONT 8, "MS Sans Serif" BEGIN DEFPUSHBUTTON "OK",IDOK,134,76,50,14 PUSHBUTTON "CANCEL",IDCANCEL,73,76,50,14 LTEXT "TEXT",IDC_STATIC,4,36,52,8 EDITTEXT IDR_NAME,72,32,112,14,ES_AUTOHSCROLL END
resource.h
#define IDD_DIALOG 101 #define IDR_NAME 1000 #define IDC_STATIC 1001
resource.inc
IDD_DIALOG = 101 IDR_NAME = 1000 IDC_STATIC = 1001
i cant remember exactly where i grabbed bits and pieces of this, .ru domains and a Radix tut site.. just modded it up to run on tasm32
Edited by JMC31337, 16 June 2010 - 03:36 PM.
resource.inc


Sign In
Create Account


Back to top









