定制远程登陆窗口

    技术2022-05-11  104

    本文最初发于UESTC一网深情bbs delphi版

    weck 2002-5-29 Midas的远程登陆窗口太简单了,不能让用户选择要连接的服务器的地址 不过好在 通过以下的方法你可以修改这个登陆窗口为你自己非常喜欢 的风格,当然也因此可以记录下别人的登陆密码哦 unit utLogIn; interface uses   Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,     Dialogs, ExtCtrls, StdCtrls, dxCntner, dxEditor, dxExEdtr, dxEdLib,Registr y,SConnect,DB; const   Software='/Software/Pivot/Wages/1.0'; type   TRemoteLogin = class(TForm)     Panel1: TPanel;     Label1: TLabel;     Label2: TLabel;     Label3: TLabel;     Panel2: TPanel;     Bevel2: TBevel;     Bevel1: TBevel;     edtUserName: TdxEdit;     edtPassword: TdxEdit;     btnOk: TButton;     btnCancel: TButton;     cbxServerIP: TdxPickEdit;   private     { Private declarations }   protected     FConnection:TSocketConnection;     procedure SaveOptions;     procedure LoadOptions;   public     { Public declarations }   end; var   RemoteLogin: TRemoteLogin; function gxRemoteLoginDialog(var AUserName, APassword: string): Boolean; implementation uses utMain; {$R *.dfm} procedure TRemoteLogin.LoadOptions; var   reg:TRegistry; begin   //Load the Options   reg:=TRegistry.Create;   try     Reg.RootKey := HKEY_LOCAL_MACHINE;     if Reg.OpenKey(Software, True) then    begin       cbxServerIP.Items.CommaText:=Reg.ReadString('Server');       Reg.CloseKey;     end;   finally     Reg.Free;     inherited;   end; end; procedure TRemoteLogin.SaveOptions; var   reg:TRegistry; begin   //Load the Saved Options   if (cbxServerIP.Items.IndexOf(cbxServerIP.Text)=-1) then     cbxServerIP.Items.Insert(0,cbxServerIP.Text);   reg:=TRegistry.Create;   try     Reg.RootKey := HKEY_LOCAL_MACHINE;     if Reg.OpenKey(Software, True) then    begin       Reg.WriteString('Server',cbxServerIP.Items.CommaText);       Reg.CloseKey;     end;   finally     Reg.Free;     inherited;   end; end; function gxRemoteLoginDialog(var AUserName, APassword: string): Boolean; begin   with TRemoteLogin.Create(Application) do   try     Caption := '远程登录';     LoadOptions;     edtUserName.Text := AUserName;     Result := False;     if AUserName = '' then ActiveControl := edtUserName;     if (   cbxServerIP.Items.Count=0) then       cbxServerIP.ItemIndex:=-1     else       cbxServerIP.ItemIndex:=0;     if ShowModal = mrOk then     begin       AUserName := edtUserName.Text;       APassword := edtPassword.Text;       frmMain.Connection.Host:=cbxServerIp.Text;       Result := True;       SaveOptions;     end;   finally     Free;   end;

    end; end. 最关键的一句是: initialization   RemoteLoginDialogProc := gxRemoteLoginDialog; --


    最新回复(0)