-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathabout.inc
130 lines (102 loc) · 3.89 KB
/
about.inc
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
; いいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいい
AboutDlg proc hWin:QWORD,uMsg:QWORD,wParam:QWORD,lParam:QWORD
LOCAL hStatic :QWORD
LOCAL hButn :QWORD
LOCAL hText :QWORD
LOCAL osInf :QWORD
LOCAL wickd :QWORD
LOCAL buffer[1024]:BYTE
LOCAL pbuff :QWORD
LOCAL vbuffr[64]:BYTE
LOCAL vendor :QWORD
LOCAL cpubuf[128]:BYTE
LOCAL cpustr :QWORD
LOCAL mstat :QWORD
LOCAL astat :QWORD
LOCAL mse :MEMORYSTATUSEX
LOCAL syi :SYSTEM_INFOx
LOCAL lpp :QWORD
.switch uMsg
.case WM_INITDIALOG
mov hStatic, rv(GetDlgItem,hWin,101)
mov hButn, rv(GetDlgItem,hWin,102)
mov hText, rv(GetDlgItem,hWin,103)
mov osInf, rv(GetDlgItem,hWin,104)
mov wickd, rv(GetDlgItem,hWin,105)
; �����������������������������
.data
tmsg db @CatStr(<!"LookingFor >,%LFversion,< Copyright 2024!">),13,10
db "The MASM64 SDK All Rights Reserved.",13,10
db "A simple tool to search expressions in files.",13,10,13,10
db "The operating system reports...",0
tail db "A 64 bit Portable Executable Application by HSE",13,10
db "Wickedly Crafted In Microsoft Assembler <MASM>",0
.code
invoke SetWindowText, hWin," About LookingFor"
; �����������������������������
mov pbuff, ptr$(buffer)
mcat pbuff,ADDR tmsg
invoke SetWindowText,hText,pbuff
mov vendor, ptr$(vbuffr)
invoke Get_Vendor,vendor
mov cpustr, ptr$(cpubuf)
invoke get_cpu_id_string,pbuff
invoke szLtrim,pbuff,cpustr
mov mse.dwLength, SIZEOF MEMORYSTATUSEX ; initialise length
invoke GlobalMemoryStatusEx,ADDR mse ; call API
mov mstat, rv(intdiv,mse.ullTotalPhys,1024*1024)
mov astat, rv(intdiv,mse.ullAvailPhys,1024*1024)
mov pbuff, ptr$(buffer)
invoke GetSystemInfo,ADDR syi
xor rax, rax
mov eax, syi.dwNumberOfProcessors
mov lpp, rax
mcat pbuff,"Your processor is ",vendor,lf, \
cpustr,lf, \
str$(lpp)," logical processors present.",lf, \
"Physical memory ",str$(mstat)," megabytes.",lf, \
"Available memory ",str$(astat)," megabytes.",lf,lf
invoke SetWindowText,osInf,pbuff
invoke SetWindowText,wickd,ADDR tail
; -------------------------------------
; load the icon into the static control
; -------------------------------------
invoke SendMessage,hStatic,STM_SETIMAGE,IMAGE_ICON,hIcon
; ---------------------------
; set the icon for the dialog
; ---------------------------
invoke SendMessage,hWin,WM_SETICON,1,hIcon
mov rax, TRUE
ret
.case WM_CTLCOLORDLG
mov rax, hBrush
ret
.case WM_CTLCOLORBTN
mov rax, bBordr
ret
.case WM_CTLCOLORSTATIC ; static controls
rcall SetBkColor,wParam,00222222h
rcall SetTextColor,wParam,00FFFFFFh
mov rax, hBrush
ret
.case WM_CTLCOLOREDIT ; edit controls
rcall SetBkColor,wParam,00111111h
rcall SetTextColor,wParam,00FFFFFFh
mov rax, eColor
ret
.case WM_COMMAND
.switch wParam
.case 102 ; the OK button
jmp exit_dialog
.case IDCANCEL
mov EscapeLock, 1
jmp exit_dialog
.endsw
.case WM_CLOSE
exit_dialog:
invoke EndDialog,hWin,0 ; exit from system menu
.endsw
xor rax, rax
ret
AboutDlg endp
; いいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいい