定制远程登陆窗口
2006-02-04 13:42:49 来源:WEB开发网 闂傚倸鍊搁崐鎼佸磹閹间礁纾归柟闂寸绾惧綊鏌熼梻瀵割槮缁炬儳缍婇弻鐔兼⒒鐎靛壊妲紒鐐劤缂嶅﹪寮婚悢鍏尖拻閻庨潧澹婂Σ顔剧磼閹冣挃闁硅櫕鎹囬垾鏃堝礃椤忎礁浜鹃柨婵嗙凹缁ㄧ粯銇勯幒瀣仾闁靛洤瀚伴獮鍥敍濮f寧鎹囬弻鐔哥瑹閸喖顬堝銈庡亝缁挸鐣烽崡鐐嶆棃鍩€椤掑嫮宓佸┑鐘插绾句粙鏌涚仦鎹愬闁逞屽墰閹虫捇锝炲┑瀣╅柍杞拌兌閻ゅ懐绱撴担鍓插剱妞ゆ垶鐟╁畷銉р偓锝庡枟閻撴洘銇勯幇闈涗簼缂佽埖姘ㄧ槐鎾诲礃閳哄倻顦板┑顔硷工椤嘲鐣烽幒鎴旀瀻闁规惌鍘借ⅵ濠电姷鏁告慨顓㈠磻閹剧粯鈷戞い鎺嗗亾缂佸鏁婚獮鍡涙倷閸濆嫮顔愬┑鐑囩秵閸撴瑦淇婇懖鈺冪<闁归偊鍙庡▓婊堟煛鐏炵硶鍋撻幇浣告倯闁硅偐琛ラ埀顒冨皺閺佹牕鈹戦悙鏉戠仸闁圭ǹ鎽滅划鏃堟偨缁嬭锕傛煕閺囥劌鐏犻柛鎰ㄥ亾婵$偑鍊栭崝锕€顭块埀顒佺箾瀹€濠侀偗婵﹨娅g槐鎺懳熺拠鑼舵暱闂備胶枪濞寸兘寮拠宸殨濠电姵纰嶉弲鎻掝熆鐠虹尨宸ョ€规挸妫濆铏圭磼濡搫顫嶇紓浣风劍閹稿啿鐣烽幋锕€绠婚悹鍥у级瀹撳秴顪冮妶鍡樺鞍缂佸鍨剁粋宥夋倷椤掍礁寮垮┑鈽嗗灣閸樠勭妤e啯鍊垫慨妯煎亾鐎氾拷

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;
- ››远程共享广播PPT演示幻灯片的方法
- ››定制个性化的对话框窗口类
- ››远程网页的查看
- ››定制 SWT/RCP 界面:如何编写一个漂亮的 SWT/RCP ...
- ››定制基于 Visual studio 2005 平台 Windows CE(AR...
- ››定制版黑雨 blackra1n 越狱3.1.2 全系 iPhone
- ››远程安装操作系统 安登远程管理卡体验
- ››定制 Eclipse RCP 应用程序,第 1 部分: 可与 SWT...
- ››远程运行程序的一种方法
- ››远程即时互动交流平台 塞通2009体验
- ››远程开机详解
- ››远程登录Windows Server 2003的当前会话
更多精彩
赞助商链接