WEB开发网
开发学院软件开发Delphi 定制远程登陆窗口 阅读

定制远程登陆窗口

 2006-02-04 13:42:49 来源:WEB开发网   
核心提示: Midas的远程登陆窗口太简单了,不能让用户选择要连接的服务器的地址 不过好在 通过以下的方法你可以修改这个登陆窗口为你自己非常喜欢 的风格,定制远程登陆窗口,当然也因此可以记录下别人的登陆密码哦 unit utLogIn; interface uses Windows, Messages, SysUtils,

   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;

Tags:定制 远程 登陆

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接