Delphi主窗口里按纽开启另一个窗口(做注册的童鞋可以看看)
Delphi里的源代码文件为:
dpr 为工程文件
dfm 为窗体文件
pas 为单元文件
res 资源文件
cfg 配置文件 *可删除
dof 为项目选项文件(一般没用)*可删除
ddp 文件就是Delphi Diagram Portfolio简写,是用来保存Code Editor中的Diagram信息的 (编译后产生)*可删除
duc 文件,编译后的单元文件(编译后产生)*可删除
-------------------------------下面是正题了
1.首先先打开delphi 新建2个窗口
2.project->view source 打开源代码
begin
Application.Initialize;
Application.CreateForm(TForm1, Form1);
Application.CreateForm(TForm2, Form2); (重要 删除窗口2的创建代码 不删除 表示程序启动就创建了 只是没有显示 破解者注入程序 用show函数就显示了)
Application.Run;
end.
3下面就是代码了:main主窗口单元代码
unit main; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls; type TForm1 = class(TForm) btn1: TButton; procedure btn1Click(Sender: TObject); private { Private declarations } public { Public declarations } end; var Form1: TForm1; implementation uses Unit2; {$R *.dfm} procedure TForm1.btn1Click(Sender: TObject); var nform:TForm2; begin nform:= TForm2.create(Application); nform.show; end; end.
unti2 载入的窗口单元代码
unit Unit2; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs; type TForm2 = class(TForm) procedure FormActivate(Sender: TObject); procedure FormClose(Sender: TObject; var Action: TCloseAction); private { Private declarations } public { Public declarations } end; var Form2: TForm2; implementation uses main; function closeProcess(x, y: Integer): Integer; stdcall; external 'kernel32.dll' name 'TerminateProcess'; {$R *.dfm} procedure TForm2.FormActivate(Sender: TObject); begin Form1.Destroy; end; procedure TForm2.FormClose(Sender: TObject; var Action: TCloseAction); begin closeProcess(-1,0); end; end.
project 源代码
program Project1; uses Forms, main in 'main.pas' {Form1}, Unit2 in 'Unit2.pas' {Form2}; {$R *.res} begin Application.Initialize; Application.CreateForm(TForm1, Form1); Application.Run; end.