手机站
网通分站
电信主站
密 码:
用户名:
当前位置 : 主页>程序设计>delphi>列表

定制远程登陆窗口

来源:互联网 作者:西部数码 时间:2008-04-09
西部数码-全国虚拟主机10强!40余项虚拟主机管理功能,全国领先!双线多线虚拟主机南北访问畅通无阻!免费赠送企业邮局,.CN域名,自助建站480元起,免费试用7天,满意再付款! P4主机租用799元/月.月付免压金!

本文最初发于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;
--

文章整理:西部数码--专业提供域名注册虚拟主机服务
http://www.west263.com
以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!