|
用delphi实现冰河的远程屏幕操作功能(10) UpdateStats; end;
procedure TServerForm.FormCreate(Sender: TObject); begin CurBmp := TBitmap.Create; SleepTime := 50; ParseComLine; end;
procedure TServerForm.FormDestroy(Sender: TObject); begin CurBmp.Free; end;
type TSleepThread = class(TThread) public SleepTime : integer; procedure Execute; override; end;
procedure TSleepThread.Execute; begin Sleep(SleepTime); end;
procedure TServerForm.CreateSleepThread; var st : TSleepThread; begin st := TSleepThread.Create(True); st.SleepTime := SleepTime; st.OnTerminate := SleepDone; st.Resume; end;
procedure TServerForm.Client1Click(Sender: TObject); begin ClientForm.Show; end;
procedure TServerForm.FormCloseQuery(Sender: TObject; var CanClose: Boolean); var rc : integer; begin if ServerSocket1.Socket.ActiveConnections > 0 then begin rc := MessageDlg('Clients are still connected, do you want to close?', mtWarning, mbYesNoCancel, 0); CanClose := (rc = mrYes); end; end;
procedure TServerForm.ParseComLine; var i : integer; s : string; AutoStart : boolean; begin AutoStart := False;
for i := 1 to ParamCount do begin s := UpperCase(ParamStr(i));
if Copy(s, 1, 6) = '/PORT:' then begin PortEdit.Text := Copy(s, 7, Length(s)); AutoStart := True; StartButClick(nil); MinimizeButClick(nil); end;
if s = '/CLIENT' then begin MinimizeButClick(nil); AutoStart := True; end; end;
if not AutoStart then Visible := True; end;
procedure TServerForm.ClientButClick(Sender: TObject); begin ClientForm.Show; end;
end. 下面是客户端 unit ClientFrm;
interface
uses Windows, Messages, SysUtils, Classes, GraphiCS, Controls, Forms, Dialogs, ScktComp, ExtCtrls, ComCtrls, FormSettings, Menus, StdCtrls, Buttons,
|