📄 remotesvrunt.pas
字号:
unit remotesvrunt;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
StdCtrls, xpButton, ComCtrls, IdAntiFreezeBase, IdAntiFreeze,compress,
IdBaseComponent, IdComponent, IdUDPBase, IdUDPServer,constunt,structureunt;
type
Tremotesvrfrm = class(TForm)
xpButton1: TxpButton;
xpButton2: TxpButton;
StatusBar1: TStatusBar;
udpserver: TIdUDPServer;
AntiFreeze: TIdAntiFreeze;
procedure FormShow(Sender: TObject);
procedure xpButton2Click(Sender: TObject);
procedure xpButton1Click(Sender: TObject);
procedure FormCreate(Sender: TObject);
private
procedure initform;
procedure sendmsgtosvr(msg:string);
procedure process_custom_message(var msg:tmessage);message refresh_status;
{ Private declarations }
public
firendid:string;
svrip,destip:string;
svrport,destport:integer;
{ Public declarations }
end;
var
remotesvrfrm: Tremotesvrfrm;
implementation
uses shareunit,udpcores;
{$R *.DFM}
procedure Tremotesvrfrm.process_custom_message(var msg:tmessage);
begin
case msg.WParam of
xy_form_close:close;
end;
end;
procedure Tremotesvrfrm.initform;
begin
udpserver.Bindings.clear;
udpserver.BufferSize:=65536;
udpserver.ThreadedEvent:=true;
with udpserver.Bindings.add do
begin
ip:='0.0.0.0';
port:=0;
end;
udpserver.Active:=true;
udpserver.Binding.UpdateBindingLocal;
end;
procedure Tremotesvrfrm.FormShow(Sender: TObject);
var tmp:userinfo;
begin
tmp:=udpcore.user.getuserinfoex(firendid);
statusbar1.Simpletext:='远程协助用户:'+tmp.userid;
end;
procedure Tremotesvrfrm.xpButton2Click(Sender: TObject);
begin
xpbutton1.Enabled:=true;
xpbutton2.Enabled:=false;
close;
end;
//------------------------------------------------------------------------------
// 与中转服务器进行协商
//------------------------------------------------------------------------------
procedure Tremotesvrfrm.sendmsgtosvr(msg:string);
begin
makeparamsex(msg,'language',locallanguage);
encompress(msg);//压缩
udpserver.Binding.SendTo(svrip,svrport,msg[1],length(msg));
sleep(1);
end;
procedure Tremotesvrfrm.xpButton1Click(Sender: TObject);
var msgex:string;
myinfo:userinfo;
begin
myinfo:=udpcore.user.getuserinfoex(0);
makeparamsex(msgex,'msgid',xy_remote);
makeparamsex(msgex,'funid',xy_request);
makeparamsex(msgex,'md5name',myinfo.md5name);
makeparamsex(msgex,'userid',myinfo.userid);
makeparamsex(msgex,'uname',myinfo.uname);
makeparamsex(msgex,'messageex','邀请远程协助');
sendmsgtosvr(msgex);
xpbutton1.Enabled:=false;
xpbutton2.Enabled:=true;
end;
procedure Tremotesvrfrm.FormCreate(Sender: TObject);
begin
remote_hwnd:=handle;
initform;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -