何章梅
Delphi作为快速开发Windows95/NT下应用
程序的工具,已经为越来越多的开发者采用。但是,如果要开发出专业的Windows应用软件,还需要使用大量的Windows API函数,以下是笔者开发管理软件中的几个应用实例。
一、判定Windows版本
众所周知,Windows95/NT某些地方有些差别,为了使应用
程序避免出现因为系统不符合而导致的错误,有必要自动判定系统版本。这可以通过API函数getversion实现。
TForm1.FormCreate(Sender:Tobject);
var ver:integer;//版本号 major:integer;//主版本号 minor:integer;//次版本号
begin
ver:=getversion();//获得版本号
major:=ver and 255;//获得主版本号
minor:=(ver and 255*256)div 256;
//获得次版本号
showmessage(‘系统版本号是:’+inttostr(ver));
//显示版本号
showmessage(‘系统主版本号是:''+inttostr(major));//显示主版本号
showmessage(‘系统次版本号是:''+inttostr(minor));//显示次版本号
end;
二、判定Windows安装目录
一般Delphi开发出来的程序需要知道系统的安装目录,以便将帮助文件、动态
链接库等系统部分拷贝到系统目录下,为了使安装
程序能够在用户任意设定安装目录的情况下均能正常运行,需要使用API函数GetWindowsDirectory、GetSystemDirectory来实现。
procedure TForm1.FormCreate(Sender:Tobject);
var windir:pchar;
sysdir:pchar;
begin
getmem(windir,256);//获得内存
getmem(sysdir,256);//获得内存
GetWindowsDirectory(Windir,128);//获得安装目录
GetSystemDirectory(sysdir,128);//获得系统目录
showmessage(‘Windows目录是:''+windir);
//显示安装目录
showmessage(‘System目录是:''+sysdir);
//显示系统目录
freemem(windir,256);//释放内存
freemem(sysdir,256);//释放内存
end;
三、在
程序中重新启动Windows系统
通常在
程序中需要将系统重新启动,这时可以使用ExitWindowsEx函数来实现。
procedure TForm1.Button1Click(Sender:Tobject);
begin
ExitWindowsEx(EWX_FORCE or EWX_LOGOFF,0);
//强行结束当前登录的用户进程
ExitWindowsEx(EWX_FORCE or EWX_POWEROFF,0);
//强行关机
ExitWindowsEx(EWX_FORCE or EWX_REBOOT,0);
//强行重新启动机器
end;
四、调用其他
程序 通常,用户希望能够在一个应用程序中直接调用外部
程序,这可以通过winexec函数来实现。
procedure TForm1.Button1Click(Sender.Tobject);
begin
winexec(‘c:\pwin97\notepad.exe c:\config.dos'',9);
end