forked from hiyohiyo/CrystalDiskInfo
-
Notifications
You must be signed in to change notification settings - Fork 0
/
DiskInfoDlg.h
589 lines (528 loc) · 18.1 KB
/
DiskInfoDlg.h
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
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
/*---------------------------------------------------------------------------*/
// Author : hiyohiyo
// Mail : [email protected]
// Web : https://crystalmark.info/
// License : The MIT License
/*---------------------------------------------------------------------------*/
#pragma once
#include "AtaSmart.h"
#include "AboutDlg.h"
#include "SettingDlg.h"
#include "HealthDlg.h"
#include "OptionDlg.h"
#include "FontSelectionDlg.h"
#include "SoundSettingDlg.h"
#include "GraphDlg.h"
#include "TemperatureDlg.h"
#include "EventLog.h"
#include "DialogFx.h"
#include "MainDialogFx.h"
#include "EditFx.h"
#include "ListCtrlFx.h"
#include "OsInfoFx.h"
#include <Dbt.h>
#define REGISTRY_PATH _T("software\\Crystal Dew World\\CrystalDiskInfo")
// Task Tray
enum
{
MY_EXIT = (WM_APP + 0x1100),
MY_SHOW_MAIN_DIALOG,
MY_SHOW_TEMPERATURE_ICON_ONLY,
MY_PLAY_ALERT_SOUND,
};
// CDiskInfoDlg dialog
class CDiskInfoDlg : public CMainDialogFx
{
// Construction
public:
CDiskInfoDlg(CWnd* pParent /*=NULL*/, BOOL flagStarupExit);
virtual ~CDiskInfoDlg();
CAtaSmart m_Ata;
// Dialog Data
enum { IDD = IDD_DISKINFO_DIALOG };
#ifdef SUISHO_SHIZUKU_SUPPORT
static const int SIZE_X = 1000;
static const int SIZE_SMART_X = 1000;
static const int SIZE_SMART_Y = 640;
static const int SIZE_MIN_Y = 500;
static const int SIZE_Y = 288;
static const int SIZE_MAX_Y = 1000;
static const int OFFSET_X = 328;
static const int IMAGE_ALPHA = 192;
static const int TEXT_ALPHA = 255;
static const int LIST_CTL_ALPHA = 192;
#else
static const int SIZE_X = 672;
static const int SIZE_SMART_X = 672;
static const int SIZE_SMART_Y = 640;
static const int SIZE_MIN_Y = 260;
static const int SIZE_Y = 260;
static const int SIZE_MAX_Y = 1000;
static const int OFFSET_X = 0;
#endif
public:
#ifdef SUISHO_SHIZUKU_SUPPORT
HMODULE m_hVoice;
#endif
// Timer
static const int TIMER_SET_POWER_ON_UNIT = 0x2001;
static const int TIMER_AUTO_REFRESH = 0x2002;
static const int TIMER_FORCE_REFRESH = 0x2003;
static const int TIMER_AUTO_DETECT = 0x2004;
static const int TIMER_UPDATE_TRAY_ICON = 0x2005;
// Setting
int SAVE_SMART_PERIOD; // sec
int ALARM_TEMPERATURE_PERIOD; // sec
// Icon
enum
{
ICON_GOOD = 0,
ICON_GOOD_GREEN,
ICON_CAUTION,
ICON_BAD,
ICON_UNKNOWN
};
HMENU m_hMenu;
void CreateMainMenu(DWORD index);
DWORD GetSelectDisk();
protected:
virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV support
// Implementation
protected:
HICON m_hIcon;
HICON m_hIconMini;
HICON m_hTempIcon[2][300];
UINT m_TempIconIndex[CAtaSmart::MAX_DISK];
UINT m_MainIconId;
CAboutDlg* m_AboutDlg;
CSettingDlg* m_SettingDlg;
CTemperatureDlg* m_TemperatureDlg;
CHealthDlg* m_HealthDlg;
COptionDlg* m_OptionDlg;
// CAlarmHistoryDlg* m_AlarmHistoryDlg;
CSoundSettingDlg* m_SoundSettingDlg;
CGraphDlg* m_GraphDlg;
CListCtrlFx m_List;
CImageList m_ImageList;
CButtonFx m_ButtonDisk[8];
CButtonFx m_CtrlButtonPreDisk;
CButtonFx m_CtrlButtonNextDisk;
CStaticFx m_CtrlLabelFirmware;
CStaticFx m_CtrlLabelSerialNumber;
CStaticFx m_CtrlLabelInterface;
CStaticFx m_CtrlLabelTransferMode;
CStaticFx m_CtrlLabelDriveMap;
CStaticFx m_CtrlLabelBufferSize;
CStaticFx m_CtrlLabelNvCacheSize;
CStaticFx m_CtrlLabelRotationRate;
CStaticFx m_CtrlLabelPowerOnCount;
CStaticFx m_CtrlLabelPowerOnHours;
CStaticFx m_CtrlLabelAtaAtapi;
CStaticFx m_CtrlLabelFeature;
CStaticFx m_CtrlLabelDiskStatus;
CStaticFx m_CtrlLabelTemperature;
CEditFx m_CtrlModel;
CEditFx m_CtrlFirmware;
CEditFx m_CtrlSerialNumber;
CEditFx m_CtrlInterface;
CEditFx m_CtrlTransferMode;
CEditFx m_CtrlDriveMap;
CEditFx m_CtrlBufferSize;
CEditFx m_CtrlNvCacheSize;
CEditFx m_CtrlRotationRate;
CEditFx m_CtrlPowerOnCount;
CEditFx m_CtrlPowerOnHours;
CEditFx m_CtrlAtaAtapi;
CEditFx m_CtrlFeature;
CButtonFx m_CtrlDiskStatus;
CButtonFx m_CtrlTemperature;
CButtonFx m_CtrlLife;
CButtonFx m_CtrlVoice;
CButtonFx m_CtrlCopyright;
HDEVNOTIFY m_hDevNotify;
CString m_SmartDir;
CString m_GadgetDir;
CString m_ExeDir;
CString m_AlertMailPath;
CString m_OpusDecPath;
CString m_AlertSoundPath;
#ifdef SUISHO_SHIZUKU_SUPPORT
CString m_VoicePath;
#endif
DWORD m_SelectDisk;
DWORD m_DriveMenuPage;
DWORD m_AutoRefreshStatus;
DWORD m_WaitTimeStatus;
DWORD m_AutoDetectionStatus;
DWORD m_RawValues;
BOOL m_NowDetectingUnitPowerOnHours;
CArray<DWORD, DWORD> m_GraphProcessId;
int m_SizeX;
int m_SizeY;
int m_PreTemp[CAtaSmart::MAX_DISK];
BOOL m_bTrayTemperatureIcon[CAtaSmart::MAX_DISK];
BOOL m_bAutoRefreshTarget[CAtaSmart::MAX_DISK];
BOOL m_bTrayMainIcon;
// Options
BOOL m_bStartupExit;
BOOL m_bHideSmartInfo;
BOOL m_bHideSerialNumber;
BOOL m_bAdvancedDiskSearch;
BOOL m_bWorkaroundHD204UI;
BOOL m_bWorkaroundIE8MODE;
BOOL m_bWorkaroundAdataSsd;
BOOL m_bWorkaroundIgnoreC4;
BOOL m_bEventLog;
BOOL m_bAlertMail;
BOOL m_bAtaPassThroughSmart;
// BOOL m_bUseEventCreate; // Use eventcreate.exe (XP Pro or later)
BOOL m_bFahrenheit;
BOOL m_bAutoAamApm;
BOOL m_bDumpIdentifyDevice;
BOOL m_bDumpSmartReadData;
BOOL m_bDumpSmartReadThreshold;
BOOL m_bShowTemperatureIconOnly;
BOOL m_bAsciiView;
BOOL m_bSmartEnglish;
BOOL m_bGadget;
BOOL m_bGreenMode;
BOOL m_bAlertSound;
BOOL m_bHideNoSmartDisk;
BOOL AddTemperatureIcon(DWORD index);
BOOL RemoveTemperatureIcon(DWORD index);
BOOL ModifyTemperatureIcon(DWORD index);
CString m_LiDisk[8];
CString m_Model;
CString m_ModelCapacity;
CString m_Firmware;
CString m_SerialNumber;
CString m_Capacity;
CString m_Temperature;
CString m_Life;
CString m_PowerOnHours;
CString m_PowerOnCount;
CString m_Feature;
CString m_BufferSize;
CString m_NvCacheSize;
CString m_RotationRate;
CString m_LbaSize;
CString m_DriveMap;
CString m_Interface;
CString m_TransferMode;
CString m_AtaAtapi;
CString m_DiskStatus;
CString m_SmartStatus;
CString m_LabelFirmware;
CString m_LabelSerialNumber;
CString m_LabelCapacity;
CString m_LabelTemperature;
CString m_LabelPowerOnHours;
CString m_LabelPowerOnCount;
CString m_LabelFeature;
CString m_LabelBufferSize;
CString m_LabelNvCacheSize;
CString m_LabelRotationRate;
CString m_LabelLbaSize;
CString m_LabelDriveMap;
CString m_LabelInterface;
CString m_LabelTransferMode;
CString m_LabelAtaAtapi;
CString m_LabelDiskStatus;
CString m_StatusTip;
BOOL ChangeDisk(DWORD index);
BOOL UpdateListCtrl(DWORD index);
void SelectDrive(DWORD index);
void InitDriveList();
void InitListCtrl();
void InitAta(BOOL useWmi, BOOL advancedDiskSearch, PBOOL flagChangeDisk, BOOL workaroundHD204UI, BOOL workaroundAdataSsd);
void ChangeLang(CString LangName);
void UpdateDialogSize();
void CheckHideSerialNumber();
void CheckResident();
void CheckStartup();
void AutoAamApmAdaption();
void ShowTemperatureIconOnly();
void SetControlFont();
virtual void SetClientSize(int sizeX, int sizeY, double zoomRatio);
void UpdateShareInfo(); // For Sidebar Gadget Support
void DeleteShareInfo();
BOOL AddTrayMainIcon();
BOOL RemoveTrayMainIcon();
CString GetDiskStatus(DWORD statusCode);
CString GetDiskStatusClass(DWORD statusCode);
CString GetDiskStatusReason(DWORD index);
CString GetTemperatureClass(INT temperature, INT alarmTemperature);
CString GetLogicalDriveInfo(DWORD index, INT maxLength = 65535);
CString Encode10X(DWORD value);
DWORD Decode10X(CString cstr);
void CheckRadioAutoRefresh(int id, int value);
void CheckRadioWaitTime(int id, int value);
BOOL CheckRadioZoomType(int id, int value);
void CheckRadioRawValues(int id, int value);
void CheckRadioAutoDetection(int id, int value);
void CheckRadioAutoRefresh();
void CheckRadioWaitTime();
void CheckRadioZoomType();
void CheckRadioRawValues();
void CheckRadioAutoDetection();
void CheckRadioCsmiType(int id, int value);
void CheckRadioCsmiType();
void ReExecute();
void AlarmOverheat();
void AlarmHealthStatus(DWORD i, CString dir, CString disk);
void CheckPage();
void CheckTrayTemperatureIcon();
void UpdateTrayTemperatureIcon(BOOL flagForce);
void UpdateToolTip();
BOOL IsTemperatureIconExist();
void TaskTrayRightMenu(DWORD index);
void SaveSmartInfo(DWORD index);
void ShowGraphDlg(int index);
void CreateExchangeInfo();
void KillGraphDlg();
void SetLabel(CStaticFx& ctrl, CString& label, CString title);
BOOL RegisterStartup();
BOOL UnregisterStartup();
CString __Number(DWORD value);
CHAR AsciiFilter(BYTE c);
void ShowWindowEx(int nCmdShow);
virtual BOOL CheckThemeEdition(CString name);
// Generated message map functions
virtual void OnOK();
virtual void OnCancel();
virtual BOOL OnInitDialog();
virtual BOOL OnCommand(WPARAM wParam, LPARAM lParam);
// virtual void OnDocumentComplete(LPDISPATCH pDisp, LPCTSTR szUrl);
virtual void InitDialogComplete();
void OnDisk0();
void OnDisk1();
void OnDisk2();
void OnDisk3();
void OnDisk4();
void OnDisk5();
void OnDisk6();
void OnDisk7();
void OnPreDisk();
void OnNextDisk();
void OnDiskStatus();
LRESULT OnPowerBroadcast(WPARAM wParam, LPARAM lParam);
LRESULT OnDeviceChange(WPARAM wParam, LPARAM lParam);
LRESULT OnQueryEndSession(WPARAM wParam, LPARAM lParam);
void Refresh(DWORD flagForceUpdate);
BOOL AppendLog(CString dir, CString disk, CString file, CTime time, int value, BOOL firstTime = FALSE, int threshold = 0);
BOOL AddEventLog(DWORD eventId, WORD eventType, CString message);
BOOL SendMail(DWORD eventId, CString title, CString message);
BOOL AddAlarmHistory(DWORD eventId, CString disk, CString message);
#define AS_SET_SOUND_ID 1
#define AS_PLAY_SOUND 2
#define AS_DEINIT 3
BOOL AlertSound(DWORD eventId, DWORD mode);
CString m_TempFilePathWave;
CString m_TempFilePathOpus;
void RebuildListHeader(DWORD index, BOOL forceUpdate = FALSE);
void SaveText(CString fileName);
afx_msg void OnPaint();
afx_msg HCURSOR OnQueryDragIcon();
DECLARE_MESSAGE_MAP()
public:
int GetSelectedDrive();
afx_msg void OnCopy();
afx_msg void OnSaveText();
afx_msg void OnSaveImage();
afx_msg void OnExit();
afx_msg void OnAbout();
afx_msg void OnHideSmartInfo();
afx_msg void OnHideSerialNumber();
afx_msg void OnCrystalDewWorld();
afx_msg void OnGetMinMaxInfo(MINMAXINFO* lpMMI);
afx_msg void OnSize(UINT nType, int cx, int cy);
afx_msg void OnRefresh();
afx_msg void OnTimer(UINT_PTR nIDEvent);
afx_msg void OnHelpAboutSmart();
afx_msg void OnAutoRefreshDisable();
afx_msg void OnAutoRefresh01Min();
afx_msg void OnAutoRefresh03Min();
afx_msg void OnAutoRefresh05Min();
afx_msg void OnAutoRefresh10Min();
afx_msg void OnAutoRefresh30Min();
afx_msg void OnAutoRefresh60Min();
afx_msg void OnAutoRefresh120Min();
afx_msg void OnAutoRefresh180Min();
afx_msg void OnAutoRefresh360Min();
afx_msg void OnAutoRefresh720Min();
afx_msg void OnAutoRefresh1440Min();
afx_msg void OnOpenDiskManagement();
afx_msg void OnOpenDeviceManager();
afx_msg void OnAdvancedDiskSearch();
afx_msg void OnWorkaroundHD204UI();
afx_msg void OnWorkaroundIE8MODE();
afx_msg void OnWorkaroundAdataSsd();
afx_msg void OnWorkaroundIgnoreC4();
afx_msg void OnGreenMode();
afx_msg void OnResident();
// Task Tray
afx_msg LRESULT OnRegMessage(WPARAM, LPARAM);
afx_msg LRESULT OnTaskbarCreated(WPARAM, LPARAM);
afx_msg LRESULT OnTempIcon0(WPARAM wParam,LPARAM lParam);
afx_msg LRESULT OnTempIcon1(WPARAM wParam,LPARAM lParam);
afx_msg LRESULT OnTempIcon2(WPARAM wParam,LPARAM lParam);
afx_msg LRESULT OnTempIcon3(WPARAM wParam,LPARAM lParam);
afx_msg LRESULT OnTempIcon4(WPARAM wParam,LPARAM lParam);
afx_msg LRESULT OnTempIcon5(WPARAM wParam,LPARAM lParam);
afx_msg LRESULT OnTempIcon6(WPARAM wParam,LPARAM lParam);
afx_msg LRESULT OnTempIcon7(WPARAM wParam,LPARAM lParam);
afx_msg LRESULT OnTempIcon8(WPARAM wParam,LPARAM lParam);
afx_msg LRESULT OnTempIcon9(WPARAM wParam,LPARAM lParam);
afx_msg LRESULT OnTempIcon10(WPARAM wParam,LPARAM lParam);
afx_msg LRESULT OnTempIcon11(WPARAM wParam,LPARAM lParam);
afx_msg LRESULT OnTempIcon12(WPARAM wParam,LPARAM lParam);
afx_msg LRESULT OnTempIcon13(WPARAM wParam,LPARAM lParam);
afx_msg LRESULT OnTempIcon14(WPARAM wParam,LPARAM lParam);
afx_msg LRESULT OnTempIcon15(WPARAM wParam,LPARAM lParam);
afx_msg LRESULT OnTempIcon16(WPARAM wParam,LPARAM lParam);
afx_msg LRESULT OnTempIcon17(WPARAM wParam,LPARAM lParam);
afx_msg LRESULT OnTempIcon18(WPARAM wParam,LPARAM lParam);
afx_msg LRESULT OnTempIcon19(WPARAM wParam,LPARAM lParam);
afx_msg LRESULT OnTempIcon20(WPARAM wParam,LPARAM lParam);
afx_msg LRESULT OnTempIcon21(WPARAM wParam,LPARAM lParam);
afx_msg LRESULT OnTempIcon22(WPARAM wParam,LPARAM lParam);
afx_msg LRESULT OnTempIcon23(WPARAM wParam,LPARAM lParam);
afx_msg LRESULT OnTempIcon24(WPARAM wParam,LPARAM lParam);
afx_msg LRESULT OnTempIcon25(WPARAM wParam,LPARAM lParam);
afx_msg LRESULT OnTempIcon26(WPARAM wParam,LPARAM lParam);
afx_msg LRESULT OnTempIcon27(WPARAM wParam,LPARAM lParam);
afx_msg LRESULT OnTempIcon28(WPARAM wParam,LPARAM lParam);
afx_msg LRESULT OnTempIcon29(WPARAM wParam,LPARAM lParam);
afx_msg LRESULT OnTempIcon30(WPARAM wParam,LPARAM lParam);
afx_msg LRESULT OnTempIcon31(WPARAM wParam,LPARAM lParam);
afx_msg LRESULT OnTempIcon32(WPARAM wParam,LPARAM lParam);
afx_msg LRESULT OnTempIcon33(WPARAM wParam,LPARAM lParam);
afx_msg LRESULT OnTempIcon34(WPARAM wParam,LPARAM lParam);
afx_msg LRESULT OnTempIcon35(WPARAM wParam,LPARAM lParam);
afx_msg LRESULT OnTempIcon36(WPARAM wParam,LPARAM lParam);
afx_msg LRESULT OnTempIcon37(WPARAM wParam,LPARAM lParam);
afx_msg LRESULT OnTempIcon38(WPARAM wParam,LPARAM lParam);
afx_msg LRESULT OnTempIcon39(WPARAM wParam,LPARAM lParam);
afx_msg LRESULT OnTempIcon40(WPARAM wParam,LPARAM lParam);
afx_msg LRESULT OnTempIcon41(WPARAM wParam,LPARAM lParam);
afx_msg LRESULT OnTempIcon42(WPARAM wParam,LPARAM lParam);
afx_msg LRESULT OnTempIcon43(WPARAM wParam,LPARAM lParam);
afx_msg LRESULT OnTempIcon44(WPARAM wParam,LPARAM lParam);
afx_msg LRESULT OnTempIcon45(WPARAM wParam,LPARAM lParam);
afx_msg LRESULT OnTempIcon46(WPARAM wParam,LPARAM lParam);
afx_msg LRESULT OnTempIcon47(WPARAM wParam,LPARAM lParam);
afx_msg LRESULT OnTempIcon48(WPARAM wParam, LPARAM lParam);
afx_msg LRESULT OnTempIcon49(WPARAM wParam, LPARAM lParam);
afx_msg LRESULT OnTempIcon50(WPARAM wParam, LPARAM lParam);
afx_msg LRESULT OnTempIcon51(WPARAM wParam, LPARAM lParam);
afx_msg LRESULT OnTempIcon52(WPARAM wParam, LPARAM lParam);
afx_msg LRESULT OnTempIcon53(WPARAM wParam, LPARAM lParam);
afx_msg LRESULT OnTempIcon54(WPARAM wParam, LPARAM lParam);
afx_msg LRESULT OnTempIcon55(WPARAM wParam, LPARAM lParam);
afx_msg LRESULT OnTempIcon56(WPARAM wParam, LPARAM lParam);
afx_msg LRESULT OnTempIcon57(WPARAM wParam, LPARAM lParam);
afx_msg LRESULT OnTempIcon58(WPARAM wParam, LPARAM lParam);
afx_msg LRESULT OnTempIcon59(WPARAM wParam, LPARAM lParam);
afx_msg LRESULT OnTempIcon60(WPARAM wParam, LPARAM lParam);
afx_msg LRESULT OnTempIcon61(WPARAM wParam, LPARAM lParam);
afx_msg LRESULT OnTempIcon62(WPARAM wParam, LPARAM lParam);
afx_msg LRESULT OnTempIcon63(WPARAM wParam, LPARAM lParam);
afx_msg LRESULT OnPlayAlertSound(WPARAM wParam, LPARAM lParam);
afx_msg void OnGraph();
afx_msg void OnHelp();
afx_msg void OnCustomize();
afx_msg void OnStartup();
afx_msg void OnWait0Sec();
afx_msg void OnWait5Sec();
afx_msg void OnWait10Sec();
afx_msg void OnWait15Sec();
afx_msg void OnWait20Sec();
afx_msg void OnWait30Sec();
afx_msg void OnWait40Sec();
afx_msg void OnWait50Sec();
afx_msg void OnWait60Sec();
afx_msg void OnWait90Sec();
afx_msg void OnWait120Sec();
afx_msg void OnWait150Sec();
afx_msg void OnWait180Sec();
afx_msg void OnWait210Sec();
afx_msg void OnWait240Sec();
afx_msg void OnAutoDetection05Sec();
afx_msg void OnAutoDetection10Sec();
afx_msg void OnAutoDetection20Sec();
afx_msg void OnAutoDetection30Sec();
afx_msg void OnAutoDetectionDisable();
afx_msg void OnEventLog();
afx_msg void OnAtaPassThroughSmart();
afx_msg void OnGadgetSupport();
afx_msg void OnCelsius();
afx_msg void OnFahrenheit();
afx_msg void OnAamApm();
afx_msg void OnTemperature();
afx_msg void OnAutoAamApm();
afx_msg void OnRescan();
afx_msg void OnUsbSat();
afx_msg void OnUsbIodata();
afx_msg void OnUsbSunplus();
afx_msg void OnUsbLogitec();
afx_msg void OnUsbProlific();
afx_msg void OnUsbJmicron();
afx_msg void OnUsbCypress();
afx_msg void OnUsbMemory();
afx_msg void OnUsbASM1352R();
afx_msg void OnUsbNVMeJMicron();
afx_msg void OnUsbNVMeASMedia();
afx_msg void OnUsbNVMeRealtek();
afx_msg void OnUsbEnableAll();
afx_msg void OnUsbDisableAll();
afx_msg void OnMegaRAID();
afx_msg void OnHealthStatus();
afx_msg void OnSoundSetting();
afx_msg void OnDumpIdentifyDevice();
afx_msg void OnDumpSmartReadData();
afx_msg void OnDumpSmartReadThreshold();
afx_msg void OnResidentMinimize();
afx_msg void OnResidentHide();
afx_msg void OnZoom100();
afx_msg void OnZoom125();
afx_msg void OnZoom150();
afx_msg void OnZoom200();
afx_msg void OnZoom250();
afx_msg void OnZoom300();
afx_msg void OnZoomAuto();
afx_msg void OnRawValues16();
afx_msg void OnRawValues10All();
afx_msg void OnRawValues2byte();
afx_msg void OnRawValues1byte();
// afx_msg void OnAutoDetection();
afx_msg void OnAsciiView();
afx_msg void OnAlertMail();
afx_msg void OnMailSettings();
afx_msg void OnSmartEnglish();
afx_msg void OnFontSetting();
afx_msg void OnCsmiDisable();
afx_msg void OnCsmiEnableAuto();
afx_msg void OnCsmiEnableRaid();
afx_msg void OnCsmiEnableAll();
afx_msg void OnInstallGadget();
// afx_msg void OnAlarmHistory();
afx_msg void OnAlertSound();
afx_msg void OnHideNoSmartDisk();
afx_msg void OnBnClickedButtonDisk0();
afx_msg void OnBnClickedButtonDisk1();
afx_msg void OnBnClickedButtonDisk2();
afx_msg void OnBnClickedButtonDisk3();
afx_msg void OnBnClickedButtonDisk4();
afx_msg void OnBnClickedButtonDisk5();
afx_msg void OnBnClickedButtonDisk6();
afx_msg void OnBnClickedButtonDisk7();
afx_msg void OnBnClickedButtonPreDisk();
afx_msg void OnBnClickedButtonNextDisk();
afx_msg void OnBnClickedButtonHealthStatus();
afx_msg void OnBnClickedButtonTemperature();
afx_msg void OnBnClickedButtonVoice();
afx_msg void OnBnClickedButtonCopyright();
afx_msg void OnBnClickedButtonLife();
afx_msg void OnShowWindow(BOOL bShow, UINT nStatus);
// afx_msg BOOL OnNcCreate(LPCREATESTRUCT lpCreateStruct);
};