From: yeoh <ye...@ye...> - 2003-10-10 01:23:56
|
Hi, Here's another very simple example program in Nasm (Nagoa). It plays a wav file. :-) Best Regards, Yeoh -- ; ============================================================================= ; Program name: Bell ; Author: Yeoh HS ; Date: 19 September 2003 ; Compiler: NASM ; Purpose: To play wav file ; Also demonstrate how to include icon and version info in program. ; ; To build this program: ; gorc /nw /r %1.rc ; nasmw -id:/nasmw/inc/ -fobj %1.asm ; alink -oPE %1.obj d:\nasmw\lib\nagoa.obj d:\nasmw\lib\Win32.lib %1.res ; ; ============================================================================= %include 'nagoa.inc' [segment code USE32] ..start: call GetModuleHandleA, NULL CONST hInst , dd 0 mov [hInst], eax call DialogBoxParamA, [hInst],DIALOG_ID, 0,DialogProc, 0 call ExitProcess, [hInst] ; ============ [ MAIN DIALOLOG PROC ] =====================: proc DialogProc,hdlg,msg,wParam,lParam cmp dword [msg],WM_INITDIALOG je wm_initdialog cmp dword [msg],WM_COMMAND je near wm_command cmp dword [msg],WM_CLOSE je near wm_close return FALSE ;---------------------------------------------------------------- ; First, load the icon ; Then call PlaySound Win32 API function to play Ding.wav ; wm_initdialog: call LoadIcon, [hInst], IDI_ICON call PlaySound, Ding, NULL, SND_SYNC call PlaySound, Ding, NULL, SND_SYNC call PlaySound, Ding, NULL, SND_SYNC call ExitProcess,0 return TRUE wm_command: ; return TRUE wm_close: call ExitProcess,0 return FALSE endproc ; ============== [ MAIN DIALOGPROC END ] =============== : [segment data USE32] DIALOG_ID equ 1000 IDI_ICON equ 1 Ding db "Ding.wav",0 ;------------------------------------------------------------------------------ Bell.rc #define IDI_ICON 1 IDI_ICON ICON DISCARDABLE "bell.ico" //----------------------------------------------------------------------------- 1000 DIALOG 10, 10, 300, 310 STYLE DS_CENTER| WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU | WS_MINIMIZEBOX CAPTION "bell" FONT 8, "Helv" BEGIN ; END //----------------------------------------------------------------------------- 1 VERSIONINFO FILEVERSION 0,1,1,1 PRODUCTVERSION 0,1,1,1 FILETYPE VFT_APP { BLOCK "StringFileInfo" { BLOCK "040904E4" { VALUE "CompanyName", "Yeoh HS" VALUE "FileVersion", "1.0.0" VALUE "FileDescription", "Play Ding.wav three times" VALUE "InternalName", "Bell" VALUE "LegalCopyright", "Copyright (C) 2003 by Yeoh HS" VALUE "LegalTrademarks", "" VALUE "OriginalFilename", "Bell.exe" VALUE "ProductName", "Bell" VALUE "ProductVersion", "1.0.0" } } } //============================================================================= |