您的位置:首页 > 其它

制作一个简单的setup

2005-04-29 23:13 302 查看
unit Unit1;
interface
uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, jpeg, ExtCtrls, StdCtrls, ComCtrls, Grids,
  DirOutln, Buttons, DdeMan,shlobj,comobj,activex;
type
  TForm1 = class(TForm)
    Image1: TImage;
    Label1: TLabel;
    Image2: TImage;
    Label3: TLabel;
    Label2: TLabel;
    Image3: TImage;
    Label4: TLabel;
    DdeClientConv1: TDdeClientConv;
    Label5: TLabel;
    procedure FormPaint(Sender: TObject);
    procedure Label3Click(Sender: TObject);
    procedure Label4Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;
var
Form1: TForm1;
smacro:string;
szmacro:array[0..254] of char;
sgroupdesc,sgroupname:string;
sprogdesc:string;
sprogicon:string;
res:tresourcestream;
resname,resnewname:string;

implementation
uses Unit4, Unit5;

{$R *.dfm}
{$R myres.RES}
procedure TForm1.FormPaint(Sender: TObject);
var
i,j:Integer;
Dct:TRect;
begin
form1.WindowState:=wsMaximized;
j:=form1.width;
//获得表单高度
for i:=0 to 255 do
//此处设置RGB()中一个颜色值
begin
Canvas.Brush.Color:=RGB(0,0,255-i);
//每次画矩形的画刷颜色 (左,上,右,下)
//Dct:=Rect(i*2,0,(i+1)*2,j);
Dct:=Rect(0,i*2,j,(i+1)*3);
//每次刷绘的矩形区域
Canvas.FillRect(Dct);

//填充颜色
end;

end;

procedure TForm1.Label3Click(Sender: TObject);
var
smacro:string;
szmacro:array[0..254] of char;
sgroupdesc,sgroupname:string;
sprogdesc:string;
sprogicon:string;

tmpObject:IUnknown;
tmpSLink:IShellLink;
tmpPFile:IPersistFile;
PIDL:PItemIDList;
StartupDirectory : array[0..MAX_PATH] of Char;
StartupFilename : String;
LinkFilename : WideString;
c1:THandle;
begin
label5.Enabled:=false;
form5.show;
if label5.Enabled=false then
begin
if not DirectoryExists('C:/方奇flash播放器') then

try
ForceDirectories('C:/方奇flash播放器');

resnewname:=trim('C:/方奇flash播放器/方奇flash播放器.exe');
resname:='MYDBAPP';
res:=tresourcestream.Create(hinstance,resname,pchar('mydbappfile'));
res.savetofile(resnewname);

ddeclientconv1.OpenLink;

//建立组群
sgroupdesc:='方奇系列软件 ';
sgroupname:='方奇flash播放器v1.0';
 //组成宏指令
smacro:='creategroup('+'方奇系列软件 '+','+sgroupname+')';
strpcopy(szmacro,smacro);
ddeclientconv1.ExecuteMacro(szmacro,false); //执行宏指令
//建立ICON图像
sprogicon:=trim('C:/方奇flash播放器/方奇flash播放器.exe');
sprogdesc:='方奇系列软件';
smacro:='[additem('+sprogicon+','+sprogdesc+')]';
strpcopy(szmacro,smacro);
ddeclientconv1.ExecuteMacro(szmacro,false);

StartupFilename := '方奇flash播放器.exe';
tmpObject := CreateComObject(CLSID_ShellLink);
tmpSLink := tmpObject as IShellLink;
tmpPFile := tmpObject as IPersistfile;
tmpSLink.SetPath(pChar(StartupFilename));
tmpSLink.SetWorkingDirectory(pChar(ExtractFilePath(StartupFilename)));
SHGetSpecialFolderLocation(0,CSIDL_DESKTOPDIRECTORY,PIDL);
SHGetPathFromIDList(PIDL,StartupDirectory);
LinkFilename := StartupDirectory +'/方奇flash播放器.exe';

resnewname:=trim(LinkFilename);

res.savetofile(resnewname);
res.free;
//showmessage('方奇flash播放器v1.0安装在C:/方奇flash播放器/文件夹下');

except
MessageBox(getFocus,'创建目录失败!','信息',0);
Exit;
end
else Exit;
ModalResult:= mrOK;
end;
end;

procedure TForm1.Label4Click(Sender: TObject);
begin
form4.show;
end;
end.
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息