亚洲国产日韩欧美在线a乱码,国产精品路线1路线2路线,亚洲视频一区,精品国产自,www狠狠,国产情侣激情在线视频免费看,亚洲成年网站在线观看

Delphi常用應(yīng)用函數(shù)

  • 相關(guān)推薦

Delphi常用應(yīng)用函數(shù)

得到WINDOWS的SYSTEM路徑:
   方法:
            var
                 MySysPath : PCHAR ;
            begin
                    GetMem(MySysPath,255);
                    GetSystemDirectory(MySysPath,255);
            end;
   注:MySysPath為SYSTEM路徑 得到程序的路徑
 ExtractFileDir(Application.Exename); 察看文件是否存在
 FileExists(FileName:String):Boolean; 改變文件擴(kuò)展名
 ChangeFileExt(FileName:String) 得到文件的擴(kuò)展名
 ExtractFileExt(FileName:String):String; 如何取得Windows的臨時(shí)文件目錄?
適合版本:Delphi 3,2.0,1.0 Windows 95 & NT都指定了放置臨時(shí)文件的目錄,然而,用戶能改變臨時(shí)目錄的位置而不使用缺省的目錄。這篇文章的目的是告訴你如何得到Windows 95 & NT當(dāng)前的臨時(shí)目錄位置。這個(gè)Windows API函數(shù) GetTempPath就是解決這個(gè)問題的。其函數(shù)原形為: DWORD GetTempPath(DWORD nBufferLength, LPTSTR lpBuffer); 下面的例子示范如何使用: function GetTempDirectory: String;
var
TempDir: array[0..255] of Char;
begin
GetTempPath(255, @TempDir);
Result := StrPas(TempDir);
end; 備注:臨時(shí)目錄的確定原則:
1,如果有TMP環(huán)境變量則臨時(shí)目錄為TMP指定的目錄
2,如果沒有TMP環(huán)境變量而有TEMP環(huán)境變量,則為TEMP變量指定的目錄
3,如果TMP和TEMP都沒有定義,則取當(dāng)前目錄為臨時(shí)目錄 程序不出現(xiàn)在任務(wù)欄
  一般Windows 95運(yùn)行程序時(shí)都會(huì)在任務(wù)欄上出現(xiàn)按鈕,如果你的程序是一個(gè)監(jiān)視程序,那么出現(xiàn)按鈕就不是明智之舉了。要實(shí)現(xiàn)該功能就要在OnCreate事件里利用到API函數(shù)SetWindowLong
procedure TForm1.FormCreate(sender:TObject);
begin
SetWindowLong(Application,Handle,GWL_EXSTYLE,WS_EX_TOOLWINDOW);
end; 改計(jì)算機(jī)名 改變計(jì)算機(jī)在網(wǎng)絡(luò)中的名字,重新啟動(dòng)后才生效
SetComputerName('Hello World'); 控制熱啟動(dòng)
要使系統(tǒng)的熱啟動(dòng)鍵(Ctrl+Alt+Del)失效,使用以下語句
SystemParametersInfo(SPI_SCREENSAVERRUNNING, 1, 0, 0);
要恢復(fù)系統(tǒng)的熱啟動(dòng)鍵(Ctrl+Alt+Del),使用以下語句
SystemParametersInfo(SPI_SCREENSAVERRUNNING, 0, 0, 0); 臨時(shí)路徑
有時(shí)需要Windows的臨時(shí)路徑來做備份等工作,那么就要知道路徑在哪,下面的程序幫你忙:
var aa:pchar;
begin
GetTempPath(20,aa); file://返回路徑名
edit1.text:=aa;
end; 返回程序執(zhí)行參數(shù)
  有關(guān) Delphi 傳入應(yīng)用程式的命令列參數(shù), 請(qǐng)參考以下的說明:
用ParamCount函數(shù)取得命令參數(shù)的個(gè)數(shù):
呼叫 ParamStr(0), 傳回執(zhí)行檔的檔名(含路徑)
呼叫 ParamStr(n), 傳回第n個(gè)參數(shù)的內(nèi)容
procedure TForm1.FormCreate(Sender: TObject);
var
sFileName: string;
begin
if ParamCount > 0 then begin (* 有執(zhí)行參數(shù)傳入 *)
sFileName := ParamStr(1); (* 取得參數(shù)內(nèi)容 *)
if FileExists(sFileName) then
Memo1.Lines.LoadFromFile(sFileName)
else
Application.MessageBox('找不到指定的檔案', '訊息', 48);
end;
end;
關(guān)閉Windows
控制WINDOWS的開關(guān):如關(guān)閉WINDOWS,重新啟動(dòng)WINDOWS等, ExitWindowsEx(UINT uFlags,DWORD dwReserved);是實(shí)現(xiàn)這一功能的API函數(shù)
首先定義常數(shù)
const
EWX_FORCE=4; file://關(guān)閉所有程序并以其他用戶身份登錄
EWX_LOGOFF=0; file://重新啟動(dòng)計(jì)算機(jī)并切換到MS-DOS方式
EWX_REBOOT=2; file://重新啟動(dòng)計(jì)算機(jī)
EWX_SHUTDOWN=1;//關(guān)閉計(jì)算機(jī)
運(yùn)行時(shí)給How賦值,讓他等于EWX_SHUTDOWN或其他,調(diào)用以下語句
ExitWindowsEx(How,0); 關(guān)閉外部應(yīng)用程序
如何在 Delphi 應(yīng)用程序中, 去關(guān)閉外部已開啟的應(yīng)用程序?
下面給出一段在 Delphi 中關(guān)閉"計(jì)算器"程序?yàn)槔?br />var
HWndCalculator : HWnd;
begin
// find the exist calculator window
HWndCalculator := Winprocs.FindWindow(nil, '計(jì)算器'); // close the exist Calculator
if HWndCalculator <> 0 then
SendMessage(HWndCalculator, WM_CLOSE, 0, 0);
end; 得到執(zhí)行程序的目錄
  SysUtils 單元中有 ExtractFileDir 與 ExtractFilePath兩個(gè)類似的函數(shù), 用哪一個(gè)?沒有太大的關(guān)系。
  不過有以下的差別: ExtractFilePath 傳回值的最後一個(gè)字元是反斜杠"/"。
procedure TForm1.Button1Click(Sender: TObject);
begin
ShowMessage(ExtractFileDir(Application.Exename));
// ie: c:\temp
ShowMessage(ExtractFilePath(Application.Exename));
// ie: c:\temp\
end;
相同點(diǎn): 如果執(zhí)行文件在根目錄下(如:C:\SAMPLE.EXE)的話, 兩者的傳回值相同, 且最后一個(gè)字符都是"/"。 使用GetFileVersionInfo 得到版本信息的例子 
Samples Using GetFileVersionInfo?
回答1:
 procedure GetBuildInfo(var V1, 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);
 with VerValue^ do
   begin
   V1 := dwFileVersionMS shr 16;
   V2 := dwFileVersionMS and $FFFF;
   V3 := dwFileVersionLS shr 16;
   V4 := dwFileVersionLS and $FFFF;
   end;
 FreeMem(VerInfo, VerInfoSize);
 end;  

【Delphi常用應(yīng)用函數(shù)】相關(guān)文章:

在Delphi中巧用Windows 的API函數(shù)08-29

Delphi中畫布應(yīng)用兩則07-24

利用Delphi開發(fā)網(wǎng)絡(luò)數(shù)據(jù)庫應(yīng)用06-28

矩陣函數(shù)的性質(zhì)及其應(yīng)用07-25

通用網(wǎng)頁查詢函數(shù)的設(shè)計(jì)與應(yīng)用10-20

凸函數(shù)的基本性質(zhì)及應(yīng)用論文07-04

二次函數(shù)在高中階段的應(yīng)用10-04

基于Delphi的試卷智能生成系統(tǒng)設(shè)計(jì)Delphi+SQL08-30

Delphi 5 數(shù)據(jù)庫應(yīng)用中ODBC數(shù)據(jù)源的自動(dòng)管理09-13

計(jì)算機(jī)應(yīng)用基礎(chǔ)IF函數(shù)教學(xué)探討09-12