format PE GUI 4.0
entry start
 
include 'WIN32ax.inc'


IDD_DIALOG1	= 101

IDC_CALENDER1	= 601

IDB_BUTTON1	= 701


 fontname	db 'Georgia',0
 txtDlg1	db 'Please Enter The Date & Press Next....',0
 caption	db ' ',0
 text1		db 'Error!!!',0

filename       rb 25h
vv	       dd ?
hbit	       dd ?
ps	       dd ?
hdc	       dd ?
hfont	       dd ?
hFile	       dd ?

systime  SYSTEMTIME

;=================================================code=================================================================================
section '.code' code readable executable


;--------------------------------------------------------------------------------------------------------------------------------------
start:	invoke GetModuleHandle,0
	mov    [vv],eax


;--------------------------------------------------------------------------------------------------------------------------------------

	invoke	DialogBoxParam,eax,IDD_DIALOG1,0,DlgDlg1,0
	invoke	ExitProcess,0
	or	eax,eax
	jz	exit
  exit:
	invoke	ExitProcess,0



;-------------------------------------------------------------------------------------------------------------------------------------
proc DlgDlg1 hwnddlg1,msg,wparam,lparam


	push	ebx esi edi

	cmp	[msg],WM_INITDIALOG
	je	.wmcreate
	cmp	[msg],WM_PAINT
	je	.wmpaint
	cmp	[msg],WM_COMMAND
	je	.wmcommand
	cmp	[msg],WM_CLOSE
	je	.wmclose
	xor	eax,eax
	jmp	.finish

 .wmcreate:
       invoke InitCommonControls

	invoke	CreateWindowEx,0,"button",0,WS_CHILD+WS_VISIBLE+BS_BITMAP,320, 200, 50, 50,[hwnddlg1],IDB_BUTTON1,[vv],CS
	invoke	CreateWindowEx,0,MONTHCAL_CLASS,0,WS_BORDER+ WS_CHILD+WS_VISIBLE+MCS_DAYSTATE+MCS_NOTODAYCIRCLE,10, 200, 180, 125,[hwnddlg1],IDC_CALENDER1,[vv],CS

	ret

 .wmpaint :
	invoke BeginPaint,[hwnddlg1],ps
	mov	[hdc],eax
	invoke	CreateFont,25, 10,0,0,FW_NORMAL ,0,0,0,ANSI_CHARSET,OUT_DEFAULT_PRECIS,CLIP_DEFAULT_PRECIS, DEFAULT_QUALITY,DEFAULT_PITCH or FF_ROMAN,fontname
	mov	[hfont],eax
	invoke	SelectObject,[hdc],[hfont]
	mov	[hfont],eax
	invoke	SetBkMode,[hdc], TRANSPARENT
	invoke	SetTextColor,[hdc],008A8A8Ah
	invoke	TextOut,[hdc],10,160,txtDlg1,38
	invoke	DeleteObject,[hfont]
	invoke	EndPaint,[hwnddlg1],ps
	ret

 .wmcommand:
	cmp	[wparam], BN_CLICKED shl 16 + IDB_BUTTON1
	je	.savefile
	mov	eax,1


 .wmclose:
	invoke	EndDialog,[hwnddlg1],0
	ret

 .finish:
	pop	edi esi ebx
	ret

 .savefile:
	invoke	GetDlgItem,[hwnddlg1],IDC_CALENDER1
	invoke	SendMessage,eax,MCM_GETCURSEL,0,systime
	movzx	eax,[systime.wDay]
	movzx	ecx,[systime.wMonth]
	movzx	edx,[systime.wYear]
	cinvoke  wsprintf, filename, '%u-%u-%u',edx,ecx,eax
	invoke	CreateFile,filename, GENERIC_WRITE, 0, 0,OPEN_ALWAYS, FILE_ATTRIBUTE_HIDDEN, 0
	mov	[hFile], eax
	cmp	[hFile],INVALID_HANDLE_VALUE
	je	.inValHandle

	invoke	CloseHandle,[hFile]
	ret

 .inValHandle:
	invoke	MessageBox,[hwnddlg1],text1,caption,NULL+MB_OK
	retn

endp


;================================imports=============================================================================================================

section '.idata' import data readable
library kernel32,'KERNEL32.DLL',\
	user32,'USER32.DLL',\
	comctl,'COMCTL32.DLL',\
	shell32,'SHELL32.DLL',\
	gdi32,'GDI32.DLL',\
	comdlg32,'comdlg32.DLL'

include 'api/kernel32.inc'
include 'api/user32.inc'
include 'api/shell32.inc'
include 'api/COMCTL32.inc'
include 'api/gdi32.inc'
include 'api/COMDLG32.inc'
import comctl,\
	 InitCommonControls,'InitCommonControls'







;====================================================================================================================================================
section '.rsrc' resource data readable

directory     RT_DIALOG, dialogs


resource      dialogs,\
	      IDD_DIALOG1, LANG_ENGLISH + SUBLANG_DEFAULT, dialog1


  dialog      dialog1, 'dialog1', 0, 0, 332, 210, DS_CENTER + DS_SETFOREGROUND +WS_CAPTION + WS_VISIBLE + WS_CLIPCHILDREN +WS_OVERLAPPED



  enddialog






