1

源程序下载
1：程序启动画面
在启动程序之前出现启动画面的方法多得是，但有些是调用“记时器”来延时的，这种方法有时拖慢了程序的启动速度，下面介绍又一方法，给大家参考对比一下。
建一个启动封面窗体，假设为Form2，先设置好BorderIcons、BorderStyle、FormStyle、Position，接着在窗体上加入图片框、文本框，设置好后在菜单里选Project里的Options，把Form2从Auto-create forms里转到Available forms。再接着就是按Ctrl+F12键，选Project1，出现工程单元，其内容如下
Application.CreateForm(TForm1, Form1);
Application.Run;
在Application.CreateForm(TForm1, Form1); 前加入如下语句：
form2:=tform2.create(application);
form2.Show;
form2.Update;
然后在Application.Run;前面加入如下语句：
form2.hide;
form2.free;
在Form1的OnCreate事件中Delay过程，是为了延时，让程序处效果，在实际应用过程中，可以把这句去掉。
2：控制窗体

如何在 Delphi 中把 Form 控制成不能放大/缩小/移动/关闭？1、把 Form 的 BorderIcons 下的几个子属性值全改为 False;2、修改 Form 的 BorderStyle 的值为bsSingle ;3、为了让窗口不能移动,可以自已拦下 WM_NCHITTEST 消息, 对该消息的处理为：一律回应鼠标点在窗口的 Client 区域, 相信这个视窗就呆呆的不会动了。在Form的Private中申明一个过程Procedure WMNCHitTest(var Msg: TMessage); message WM_NCHITTEST;，其定义如下：
procedure TForm1.WMNCHitTest(var Msg: TMessage);
begin
inherited; // 这样,移动就不可能了...
Msg.Result := HTCLIENT;
end;
就可以实现你的要求了，别忘了，这时候，你就没有办法去关闭窗口了，必须有个命令去关闭窗口，在这个例子里面，笔者是添加了Button1:TButton，响应OnClick事件时去关闭窗口。
3：查阅可视窗口标题
下面只是举出一个例子提供参考:运用API函数GetWindow()配合GetWindowText()逐一查出各视窗的标题当击打Button2时，执行结果显示到Memo1中去。
procedure TForm1.Button2Click(Sender: TObject);
var
hCurrentWindow: LongWord;
szText: array[0..254] of char;
begin
hCurrentWindow := GetWindow(Handle, GW_HWNDFIRST);
while hCurrentWindow <> 0 do
begin
if GetWindowText(hCurrentWindow, @szText, 255)>0 then
Memo1.Lines.Add(StrPas(@szText));
hCurrentWindow:=GetWindow(hCurrentWindow, GW_HWNDNEXT);
end;
end;
源程序下载