📄 main_unit.pas
字号:
if Get_SDK_Reg then //获取注册状态
ShowMessage('已注册')
else
ShowMessage('未注册');
end;
procedure Tmain.Button45Click(Sender: TObject);
var
MachineID : string;
begin
Get_MachineID(MachineID); //获取机器码
ShowMessage('您的机器码是: ' + MachineID); //获取机器码
end;
procedure Tmain.SpeedButton1MouseDown(Sender: TObject;
Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
begin
//鼠标按下时执行动作
Protocol_RemotContrl(cbb_Com.ItemIndex + 1, cb_NameList.ItemIndex, se_Addr.Value, TSpeedButton(Sender).Tag);
end;
procedure Tmain.SpeedButton1MouseUp(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
begin
//鼠标弹起时停止动作
Protocol_RemotContrl(cbb_Com.ItemIndex + 1, cb_NameList.ItemIndex, se_Addr.Value, TSpeedButton(Sender).Tag, True);
end;
procedure Tmain.SpeedButton14Click(Sender: TObject);
begin
//单击时执行动作
Protocol_RemotContrl(cbb_Com.ItemIndex + 1, cb_NameList.ItemIndex, se_Addr.Value, TSpeedButton(Sender).Tag);
end;
procedure Tmain.SpeedButton15Click(Sender: TObject);
begin
//单击时停止动作
Protocol_RemotContrl(cbb_Com.ItemIndex + 1, cb_NameList.ItemIndex, se_Addr.Value, TSpeedButton(Sender).Tag, True);
end;
procedure Tmain.Button50Click(Sender: TObject);
begin
Iplst.Text := Memo3.Text; //列表内容为空表示不进行IP验证
//更新指定通道号的IP地址验证列表内容,每个IP占用一行
Update_CheckIPList(SpinEdit1.Value, Iplst); //注:访问前必须赋值,否则出错
end;
procedure Tmain.Button48Click(Sender: TObject);
begin
Userlst.Text := Memo2.Text; //列表内容为空表示不进行身份验证
//更新用户身份验证列表内容,每个身份占用一行,格式是“用户名密码”
Update_CheckUserList(Userlst);
end;
procedure Tmain.Button52Click(Sender: TObject);
begin
try
Memo2.Clear;
//返回用户身份验证列表内容
Memo2.Lines.AddStrings(Get_CheckUserList);
except
ShowMessage('访问身份验证列表前必须对其赋值。');
end;
end;
procedure Tmain.Button51Click(Sender: TObject);
begin
try
Memo3.Clear;
//返回指定通道号的IP地址验证列表内容
Memo3.Lines.AddStrings(Get_CheckIPList(SpinEdit1.Value));
except
ShowMessage('访问指定通道号的IP地址验证列表前必须对其赋值。');
end;
end;
procedure Tmain.Button53Click(Sender: TObject);
var
HardFlag : THardFlag;
begin
Memo1.Clear;
HardFlag := Get_HardwareFlag;
with HardFlag do
Memo1.Lines.Append
(
'BIOS信息 ' + BiosInfo + #13#10 +
'BIOS名称 ' + BIOSName + #13#10 +
'BIOS版权 ' + BIOSCopyright + #13#10 +
'BIOS扩展信息 ' + BIOSExtendedInfo + #13#10 +
'BIOS日期 ' + DateTimeToStr(BIOSDate) + #13#10 +
#13#10 +
'IDE硬盘序列号 ' + IDEDiskSerial + #13#10 +
'IDE硬盘型号 ' + IDEDiskType + #13#10 +
'IDE硬盘硬件版本 ' + IDEDiskVersion + #13#10 +
'扇区总数 ' + inttostr(IDEDiskTotalAddressableSectors) + #13#10 +
'扇区容量 ' + inttostr(IDEDiskSectorCapacity) + #13#10 +
'每扇区磁道数 ' + inttostr(IDEDiskSectorsPerTrack) + #13#10 +
'C盘序列号 ' + IDEDiskCSerial + #13#10 +
#13#10 +
'CPU序列号 ' + CPUSerial + #13#10 +
'CPU频率 ' + CPUSpeed + #13#10 +
#13#10 +
'网址地址 ' + MACAddress + #13#10 +
#13#10 +
'显示器当前刷新率 ' + inttostr(DisplayFrequency) + #13#10 +
'显卡类型 ' + DisplayDevice + #13#10 +
#13#10 +
'物理内存总量 ' + inttostr(TotalPhysMemory) + #13#10 +
'可用物理内存 ' + inttostr(AvailPhysMemory) + #13#10 +
'对换区总量 ' + inttostr(TotalPageFileMemory) + #13#10 +
'可用的对换区 ' + inttostr(AvailPageFileMemory) + #13#10 +
'虚拟内存总量 ' + inttostr(TotalVirtualMemory) + #13#10 +
'可用虚拟内存 ' + inttostr(AvailVirtualMemory) + #13#10 +
'内存使用率 ' + inttostr(MemoryLoad)
);
end;
procedure Tmain.Button54Click(Sender: TObject);
var
WindowsFlag : TWindowsFlag;
const
Is64 : array[Boolean] of string = ('否', '是');
begin
Memo1.Clear;
WindowsFlag := Get_WindowsFlag;
with WindowsFlag do
Memo1.Lines.Append
(
'Windows 版本号 ' + WindowsVersion + #13#10 +
'Windows 名称 ' + WindowsName + #13#10 +
'Windows 版本号(增强型) ' + WindowsVersionEx + #13#10 +
'Windows 名称(增强型) ' + WindowsNameEx + #13#10 +
'Windows SP版本号 ' + WindowsServicePackVersion + #13#10 +
'是否64位操作系统 ' + Is64[OSIsWindows64] + #13#10 +
#13#10 +
'计算机名称 ' + Computername + #13#10 +
'登录用户名 ' + Username + #13#10 +
'域名 ' + DomainName + #13#10 +
'注册单位 ' + RegisteredCompany + #13#10 +
'注册用户 ' + RegisteredOwner + #13#10 +
'外壳程序名称 ' + ShellProcessName + #13#10 +
#13#10 +
'Windows 路径 ' + WindowsDirectory + #13#10 +
'System 路径 ' + SystemDirectory + #13#10 +
'Common 路径 ' + CommonFilesFolder + #13#10 +
'当前路径 ' + CurrentFolder + #13#10 +
'ProgramFiles 路径 ' + ProgramFilesFolder + #13#10 +
'Desktop 路径 ' + DesktopFolder + #13#10 +
'ProgramsFolder件夹 ' + ProgramsFolder + #13#10 +
'PersonalFolder 路径 ' + PersonalFolder + #13#10 +
'Favorites 路径 ' + FavoritesFolder + #13#10 +
'Startup 路径 ' + StartupFolder + #13#10 +
'Recent 路径 ' + RecentFolder + #13#10 +
'SendToFo 路径 ' + SendToFolder + #13#10 +
'Startmenu 路径 ' + StartmenuFolder + #13#10 +
'DesktopDirectory 路径 ' + DesktopDirectoryFolder + #13#10 +
'Fonts 路径 ' + FontsFolder + #13#10 +
'CommonStartup 路径 ' + CommonStartupFolder + #13#10 +
'CommonFavorites 路径 ' + CommonFavoritesFolder + #13#10 +
'Templates 路径 ' + TemplatesFolder + #13#10 +
'InternetCache 路径 ' + InternetCacheFolder + #13#10 +
'Cookies 路径 ' + CookiesFolder + #13#10 +
'History 路径 ' + HistoryFolder
);
end;
procedure Tmain.Button55Click(Sender: TObject);
begin
//禁用CtrlAltDel
Set_CtrlAltDel_Disanbled
end;
procedure Tmain.Button56Click(Sender: TObject);
begin
//使用CtrlAltDel
Set_CtrlAltDel_Eanbled
end;
procedure Tmain.Button57Click(Sender: TObject);
begin
//禁用桌面
Set_DeskTop_Disanbled
end;
procedure Tmain.Button58Click(Sender: TObject);
begin
//显示桌面
Set_DeskTop_Eanbled
end;
procedure Tmain.Label14Click(Sender: TObject);
begin
ShellExecute(Handle, 'open', PChar('http://www.prowt.com/SDK2/'), nil, nil, SW_SHOW);
end;
procedure Tmain.Button49Click(Sender: TObject);
begin
Set_Clock_Disanbled
end;
procedure Tmain.Button59Click(Sender: TObject);
begin
Set_Clock_Eanbled
end;
procedure Tmain.Button60Click(Sender: TObject);
begin
MessageBox(0, PChar('www.prowt.com域名指向的IP地址:' + #13#10 + Get_Domain_IP('http://www.prowt.com')), PChar('提示'), MB_OK + MB_ICONINFORMATION);
end;
procedure Tmain.Button68Click(Sender: TObject);
var
ID : string;
begin
ID := Get_USBStor_ID;
if ID = '' then
MessageBox(0, PChar('没有发现USB设备!' + #13#10), PChar('提示'), MB_OK + MB_ICONWARNING)
else
MessageBox(0, PChar('USB ID:' + #13#10 + ID), PChar('提示'), MB_OK + MB_ICONINFORMATION);
end;
procedure Tmain.Button63Click(Sender: TObject);
begin
Set_AltTab_Disanbled
end;
procedure Tmain.Button64Click(Sender: TObject);
begin
Set_AltTab_Eanbled
end;
procedure Tmain.Button65Click(Sender: TObject);
begin
Set_WINkeys_Disanbled
end;
procedure Tmain.Button66Click(Sender: TObject);
begin
Set_WINkeys_Eanbled
end;
procedure Tmain.Button67Click(Sender: TObject);
var
S0, S1, S2 : string;
begin
S0 := DateTimeToStr(Now); //临时生成一个原始字串供加解密用
S1 := Base64Encode(S0);
S2 := Base64Decode(S1);
MessageBox(0,
PChar
(
'原始字串:' + #13#10 +
S0 + #13#10 + #13#10 +
'加密后:' + #13#10 +
S1 + #13#10 +
'解密后:' + #13#10 +
S2
),
PChar('提示'), MB_OK + MB_ICONINFORMATION);
end;
procedure Tmain.SpeedButton12Click(Sender: TObject);
begin
if SpeedButton12.Caption = '开始监听' then
begin
if IOCP_Server_Init then //初始化TCP服务
begin
{TCP服务初始化后要绑定事件}
IOCP_ServerStart(@ServerStartNotification);
IOCP_ServerStop(@ServerStopNotification);
IOCP_ServerDataReceive(@TCPDataReceiveNotification);
IOCP_Server_Start(SpinEdit10.Value);
SpeedButton12.Caption := '停止监听'
end
end
else
begin
IOCP_Server_Stop;
IOCP_Server_DeInit; //注销TCP服务
SpeedButton12.Caption := '开始监听'
end
end;
procedure Tmain.SpeedButton13Click(Sender: TObject);
var
P : PPoint;
begin
P := Pointer(Memo5.Text);
{
//定点
IOCP_Server_Send(ip,端口, P, Length(Memo2.text))
}
//广播
IOCP_Server_BoardSend(P, Length(Memo5.Text))
end;
procedure Tmain.Button61Click(Sender: TObject);
begin
{
注意:因调度模块内部线程的原因,请脱离IDE环境执行此处代码,否则会引起异常
}
if Button61.Caption = '开始对讲' then
begin
//初始化语音模块
if not Init_NetTalking then Exit;
//开始语音对讲(参数:对方IP地址,也可以是形如xxx.xxx.xxx.255的广播地址,使用端口)
Start_NetTalking(Edit3.Text, Edit4.Text);
Button61.Caption := '停止对讲'
end
else
begin
Stop_NetTalking; //停止语音对讲
DeInit_NetTalking; //注销语音模块
Button61.Caption := '开始对讲'
end;
end;
initialization
Iplst := TStringList.Create;
Userlst := TStringList.Create;
finalization
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -