制作一个简单的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.
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.
相关文章推荐
- 制作了一个简单的viewhelper,用于在滑动listview时,隐藏顶部指定区域,下拉时再展示
- PS简单制作一个动态的字体动画
- 使用 DOM对象,控制HTML元素 来制作的一个简单的表格
- 实例学习SSIS(一)--制作一个简单的ETL包
- 利用MediaElement控件制作一个简单的播放器
- 一个简单的帮助文档制作工具 Treeview控件
- PureMVC和Unity3D的UGUI制作一个简单的员工管理系统实例
- 用construct2制作一个简单的platform游戏
- WPF学习——制作一个简单的录入界面(1): 添加需要的控件
- ECharts的学习(二):制作一个简单的饼状图,并对其设置样式
- ace布置小作业: 制作一个简单的电话号码归属地查询软件:JSON解析和Volly发送get请求
- (翻译)使用Cocos2D 2.X制作一个简单iPhone游戏教程——第1部分
- 一个简单的ORM制作(SQL帮助类)
- 制作并打包一个简单的WinPE环境
- 利用Java制作一个简单的QQ登录界面
- 一个最简单的轮播图的制作(个人小作品)
- <Javascript>利用for循环制作一个简单的邮箱格式验证
- 一个简单组件的制作过程——delphi教程
- 使用pygame制作一个简单的游戏
- [ASP.NET]制作一个简单的多页Tab功能 -Ajax也可以按照这个来做