;****************************************************************************** ;Drive Inspector include file ;****************************************************************************** include \develop\masm32\include\windows.inc include \develop\masm32\include\kernel32.inc include \develop\masm32\include\user32.inc include \develop\masm32\include\shell32.inc include \develop\masm32\include\gdi32.inc include \develop\masm32\include\comctl32.inc include \develop\masm32\include\shlwapi.inc include \develop\masm32\include\advapi32.inc include \develop\masm32\include\comdlg32.inc includelib \develop\masm32\lib\user32.lib includelib \develop\masm32\lib\kernel32.lib includelib \develop\masm32\lib\gdi32.lib includelib \develop\masm32\lib\shell32.lib includelib \develop\masm32\lib\comctl32.lib includelib \develop\masm32\lib\shlwapi.lib includelib \develop\masm32\lib\advapi32.lib includelib \develop\masm32\lib\comdlg32.lib WM_SHELLNOTIFY equ WM_USER+5 IDI_TRAY equ 0000 IDM_RESTORE equ 1000 IDM_ABOUT equ 1001 IDM_EXIT equ 1002 IDM_CONF equ 1003 IDM_WINSPY equ 1004 IDM_OPTIONS equ 1005 IDM_LOCK equ 1006 IDM_SIGNAL equ 1007 IDM_LOGFILE equ 1008 IDM_MAIL equ 1009 IDM_HOMEPAGE equ 1010 IDC_WNDNAME equ 3001 IDC_WNDCLASS equ 3004 IDC_LEV1 equ 03 IDC_LEV2 equ 04 IDC_WCLASS equ 05 IDC_WNAME equ 06 IDC_FREQ equ 09 IDC_APPLY equ 10 IDC_KEY equ 11 IDC_OK equ 12 IDC_DRIVE equ 13 IDC_SHUTDOWNPC equ 15 IDC_CLOSETARGET equ 16 IDC_SENDKEY equ 19 IDC_BEEP equ 20 IDC_UPDINTERVAL equ 22 IDC_HIDE equ 23 IDC_ALPHA equ 24 IDC_COLOR equ 27 IDC_CANCEL equ 28 IDC_PROGRESS equ 1100 IDC_SIG_OK equ 3001 IDC_LOGTOFILE equ 3002 IDC_SIGNALFILE equ 3003 IDC_LOGTOHTTP equ 3004 IDC_SIGNALHTTP equ 3005 IDC_HTTPTEST equ 3006 IDC_LOGINTERVAL equ 3007 IDC_LOGAPPLY equ 3008 IDC_FILETEST equ 3009 glueforce equ 15 SHTDN_REASON_MAJOR_OPERATINGSYSTEM equ 00020000h SHTDN_REASON_FLAG_PLANNED equ 80000000h WinMain PROTO :DWORD, :DWORD, :DWORD, :DWORD SaveInt PROTO :DWORD, :DWORD ;****************************************************************************** ;Data section ;****************************************************************************** .data ClassName db "DRINSPECTR",0 AppName db "Drive Inspector 0.9",0 AboutText db "Drive Inspector 0.9",0Dh,0Ah,0Dh,0Ah,"Author: Ivan Moiseev",0Dh,0Ah,0Dh,0Ah,"Web: http://qtime.ru/",0Dh,0Ah,0Dh,0Ah,"Email: moiseev@qtime.ru",0 Mail db "mailto:moiseev@qtime.ru",0 HomePage db "http://qtime.ru/?src=DriveInspector09",0 DiskError db "Drive Letter is not correct..Check ini file.",0 Text01 db "Number of Free Mb = ",0 Text02 db "Critical Level #1 = ",0 Text03 db "Critical Level #2 = ",0 Text04 db "Target Status : ",0 Text05 db "Signal",0 Text06 db "N/A",0 format db "%08li",0 persent db "%02li",0 SecOptions db "Options",0 kLevel1 db "level1",0 kLevel2 db "level2",0 kClassName db "ClassName",0 kWindowName db "WindowName",0 kFrequency db "frequency",0 kDriveLetter db "DriveLetter",0 kXCoord db "x",0 kYCoord db "y",0 kSendKey db "key",0 kKillTarget db "CloseTarget",0 kShutDownPC db "ShutDownPC",0 kUpdateInterval db "UpdateInterval",0 kHideTarget db "HideTarget",0 kBgColor db "BgColor",0 kLogToFile db "LogSignalToFile",0 kSignalFile db "LogSignalToFileDest",0 kLogToHttp db "LogSignalToHttp",0 kSignalHttp db "LogSignalToHttpDest",0 kLogInterval db "LoggingInterval",0 popRest db "Restore",0 popHide db "Minimize to tray",0 popAbout db "About",0 popClose db "Exit",0 popOptions db "Options..",0 popSignal db "Signal logging..",0 popConf db "Edit config",0 popHTarget db "Lock Target",0 popRTarget db "Unlock Target",0 popWinSpy db "WinSpy..",0 popLogFile db "Signal logfile",0 popMail db "Contact Author",0 popHomePage db "Open Homepage",0 lpStr db "01234567",0 sky_yes db "Active",0 sky_not db "Inactive",0 sopen db "open",0 SpyDlgName db "WINSPY",0 WinSpy db "WinSpy",0 Edit db "Edit",0 Number db "#32768",0 OptionsDlgName db "OPTIONS",0 SignalLoggingDlgName db "SIGNAL",0 WarnLev01 BYTE 0 Key_sended BYTE 0 minimized BYTE 0 sky_active BYTE 0 SkyDllOk BYTE 0 ProgressClass db "msctls_progress32",0 ; the class name of the progress bar skydlltxt db "SkyDll.dll",0 SkyOpentxt db "SkyOpen",0 SkyClosetxt db "SkyClose",0 SkyAGHtxt db "SkyAdapterGetHandle",0 SkyATGtxt db "SkyAdapterTunerGet",0 sig_lev dd 0 OldWndProc1 dd 0 OldWndProc2 dd 0 OldWndProc3 dd 0 x dd 0 y dd 0 KillTarget dd 0 ShutDownPC dd 0 UpdateInterval dd 0 HideTarget dd 0 hSky dd 0 oldexstyle dd 256 BgColor dd 0 LogInterval dd 0 shutdownname db "SeShutdownPrivilege",0 default db "DEFAULT",0 defaultDrive db "C:\",0 op_exist dd 0 spy_exist dd 0 sig_exist dd 0 hOptWnd dd 0 hSpyWnd dd 0 hSignalWnd dd 0 LogToFile dd 0 LogToHttp dd 0 FileTemplate db "%04u-%02u-%02u %02u:%02u:%02u | %02u",0Dh,0Ah,00h rn_HEL db "HEL",0 rn_REC db "REC",0 rn_SPY db "SPY",0 rn_HID db "HID",0 rn_CON db "CON",0 rn_LOG db "LOG",0 rn_EML db "EML",0 rn_LOC db "LOC",0 rn_OPT db "OPT",0 rn_ABT db "ABT",0 rn_UP db "UP", 0 rn_DWN db "DWN",0 rn_WWW db "WWW",0 ;****************************************************************************** ;Struct section ;****************************************************************************** TTunerStatus struct freq DWORD ? ; // hz lof DWORD ? ; // hz sr DWORD ? ; // ksym fec DWORD ? ; // 0=auto 1=1/2 2=2/3 3=3/4 4=5/6 5=7/8 6=auto pol DWORD ? ; // 0=horizontal 1=vertical; lswitch DWORD ? ; // 0 diseqc DWORD ? ; // 0=none $10002=SimpleA $10006=SimpleB ; // $20002=Pos_A - Opt_A ; // $20006=Pos_B - Opt_A ; // $2000A=Pos_A - Opt_B ; // $2000E=Pos_B - Opt_B u1 DWORD ? ; // ? sigq DWORD ? ; // value 3 if tuner locked / значение 3 если тюнер залочен u2 DWORD ? ; // ? u3 DWORD ? ; // 1 - this value gets in time while switching tuner an another freq u4 DWORD ? ; // ? u5 DWORD ? ; // ? sig_str DWORD ? ; // signal strength 0-100 (but realy there is something wrong (values like 0, 128, 255)) u6 DWORD ? ; // ? u7 DWORD ? ; // ? u161 BYTE ? ; // ? u16[1] - 232 unknown if driver < 4.3.0 / 1 u162 BYTE ? ; // ? u16[2] - 3 = tuner locked = sigq / 1 u163 BYTE ? ; // ? u16[3] - unknown / signal level u164 BYTE ? ; // ? u16[4] - unknown / unknown u165 BYTE ? ; // ? u16[5] - 1 / unknown u166 BYTE ? ; // ? u16[6] - 1 / unknown u167 BYTE ? ; // ? u16[7] - signal level = u64[3] u168 BYTE ? ; // ? u16[8] - value = sig_str u64 DWORD 30 dup(?) ; // ? u64[3] - real tuner signal level 0-100 / реальный уровень сигнала ; // u64[1]/1000 = SNR (if drivers >= 4.3.0) TTunerStatus ends ;****************************************************************************** ;Bss section ;****************************************************************************** .data? hInstance HINSTANCE ? lev01 DWORD ? lev02 DWORD ? freq DWORD ? key DWORD ? DriveLetter BYTE 8 dup (?) ClsName BYTE 256 dup (?) WndName BYTE 256 dup (?) hTimer UINT ? hMainWnd HANDLE ? pnid NOTIFYICONDATA hPop dd ? IniName BYTE 260 dup (?) _rect RECT hwndProgress dd ? skydll dd ? AdapterHandle dd ? SkyName01 BYTE 2000h dup (?) SkyMAC dd ? ; TunerInfo BYTE 0c0h dup (?) TunerInfo TTunerStatus _SkyOpen dd ? _SkyClose dd ? _SkyAGH dd ? _SkyATG dd ? WndStr BYTE 1000h dup (?) ClsStr BYTE 1000h dup (?) acrCustClr COLORREF 16 dup (?) SignalFile BYTE 256 dup (?) SignalHttp BYTE 256 dup (?) StringToWrite db 32 dup(?) ;****************************************************************************** ;Macro section ;****************************************************************************** RGB macro red,green,blue xor eax,eax mov ah,blue shl eax,8 mov ah,green mov al,red endm