计算机毕业论文:Delphi常用应用函数
时间:2022-11-17 10:28:00
导语:计算机毕业论文:Delphi常用应用函数一文来源于网友上传,不代表本站观点,若需要原创文章可咨询客服老师,欢迎参考。
得到WINDOWS的SYSTEM路径:
方法:
var
MySysPath:PCHAR;
begin
GetMem(MySysPath,255);
GetSystemDirectory(MySysPath,255);
end;
注:MySysPath为SYSTEM路径
得到程序的路径
ExtractFileDir(Application.Exename);
察看文件是否存在
FileExists(FileName:String):Boolean;
改变文件扩展名
ChangeFileExt(FileName:String)
得到文件的扩展名
ExtractFileExt(FileName:String):String;
如何取得Windows的临时文件目录?
适合版本:delphi3,2.0,1.0
Windows95&NT都指定了放置临时文件的目录,然而,用户能改变临时目录的位置而不使用缺省的目录。这篇文章的目的是告诉你如何得到Windows95&NT当前的临时目录位置。这个WindowsAPI函数GetTempPath就是解决这个问题的。其函数原形为:
DWORDGetTempPath(DWORDnBufferLength,LPTSTRlpBuffer);
下面的例子示范如何使用:
functionGetTempDirectory:String;
var
TempDir:array[0..255]ofChar;
begin
GetTempPath(255,@TempDir);
Result:=StrPas(TempDir);
end;
备注:临时目录的确定原则:
1,如果有TMP环境变量则临时目录为TMP指定的目录
2,如果没有TMP环境变量而有TEMP环境变量,则为TEMP变量指定的目录
3,如果TMP和TEMP都没有定义,则取当前目录为临时目录
程序不出现在任务栏
一般Windows95运行程序时都会在任务栏上出现按钮,如果你的程序是一个监视程序,那么出现按钮就不是明智之举了。要实现该功能就要在OnCreate事件里利用到API函数SetWindowLong
procedureTForm1.FormCreate(sender:TObject);
begin
SetWindowLong(Application,Handle,GWL_EXSTYLE,WS_EX_TOOLWINDOW);
end;
改计算机名
改变计算机在网络中的名字,重新启动后才生效
SetComputerName(''''HelloWorld'''');
控制热启动
要使系统的热启动键(Ctrl+Alt+Del)失效,使用以下语句
SystemParametersInfo(SPI_SCREENSAVERRUNNING,1,0,0);
要恢复系统的热启动键(Ctrl+Alt+Del),使用以下语句
SystemParametersInfo(SPI_SCREENSAVERRUNNING,0,0,0);
临时路径
有时需要Windows的临时路径来做备份等工作,那么就要知道路径在哪,下面的程序帮你忙:
varaa:pchar;
begin
GetTempPath(20,aa);file://返回路径名
edit1.text:=aa;
end;
返回程序执行参数
有关Delphi传入应用程式的命令列参数,请参考以下的说明:
用ParamCount函数取得命令参数的个数:
呼叫ParamStr(0),传回执行档的档名(含路径)
呼叫ParamStr(n),传回第n个参数的内容
procedureTForm1.FormCreate(Sender:TObject);
var
sFileName:string;
begin
ifParamCount>0thenbegin(*有执行参数传入*)
sFileName:=ParamStr(1);(*取得参数内容*)
ifFileExists(sFileName)then
Memo1.Lines.LoadFromFile(sFileName)
else
Application.MessageBox(''''找不到指定的档案'''',''''讯息'''',48);
end;
end;
关闭Windows
控制WINDOWS的开关:如关闭WINDOWS,重新启动WINDOWS等,ExitWindowsEx(UINTuFlags,DWORDdwReserved);是实现这一功能的API函数
首先定义常数
const
EWX_FORCE=4;file://关闭所有程序并以其他用户身份登录
EWX_LOGOFF=0;file://重新启动计算机并切换到MS-DOS方式
EWX_REBOOT=2;file://重新启动计算机
EWX_SHUTDOWN=1;//关闭计算机
运行时给How赋值,让他等于EWX_SHUTDOWN或其他,调用以下语句
ExitWindowsEx(How,0);
关闭外部应用程序
如何在Delphi应用程序中,去关闭外部已开启的应用程序?
下面给出一段在Delphi中关闭"计算器"程序为例:
var
HWndCalculator:HWnd;
begin
//findtheexistcalculatorwindow
HWndCalculator:=Winprocs.FindWindow(nil,''''计算器'''');//closetheexistCalculator
ifHWndCalculator<>0then
SendMessage(HWndCalculator,WM_CLOSE,0,0);
end;
得到执行程序的目录
SysUtils单元中有ExtractFileDir与ExtractFilePath两个类似的函数,用哪一个?没有太大的关系。
不过有以下的差别:ExtractFilePath传回值的最後一个字元是反斜杠"/"。
procedureTForm1.Button1Click(Sender:TObject);
begin
ShowMessage(ExtractFileDir(Application.Exename));
//ie:c:\temp
ShowMessage(ExtractFilePath(Application.Exename));
//ie:c:\temp\
end;
相同点:如果执行文件在根目录下(如:C:\SAMPLE.EXE)的话,两者的传回值相同,且最后一个字符都是"/"。
使用GetFileVersionInfo得到版本信息的例子
SamplesUsingGetFileVersionInfo?
回答1:
procedureGetBuildInfo(varV1,V2,V3,V4:Word);
var
VerInfoSize:DWORD;
VerInfo:Pointer;
VerValueSize:DWORD;
VerValue:PVSFixedFileInfo;
Dummy:DWORD;
begin
VerInfoSize:=GetFileVersionInfoSize(PChar(ParamStr(0)),Dummy);
GetMem(VerInfo,VerInfoSize);
GetFileVersionInfo(PChar(ParamStr(0)),0,VerInfoSize,VerInfo);
VerQueryValue(VerInfo,''''\'''',Pointer(VerValue),VerValueSize);
withVerValue^do
begin
V1:=dwFileVersionMSshr16;
V2:=dwFileVersionMSand$FFFF;
V3:=dwFileVersionLSshr16;
V4:=dwFileVersionLSand$FFFF;
end;
FreeMem(VerInfo,VerInfoSize);
end;
- 上一篇:计算机毕业论文:Delphi
- 下一篇:利用热键控制鼠标移动的一个程序