制作一个简单的setup

王朝delphi·作者佚名  2006-01-09
宽屏版  字体: |||超大  

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.

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
© 2005- 王朝网络 版权所有