<dfn id="is4kg"></dfn>
  • <ul id="is4kg"></ul>
  • <abbr id="is4kg"></abbr>
  • <ul id="is4kg"></ul>
    <bdo id="is4kg"></bdo>

    曙海教育集團論壇開發(fā)語言培訓專區(qū)Delphi程序設計 → Delphi 源程序格式書寫規(guī)范


      共有7946人關注過本帖樹形打印

    主題:Delphi 源程序格式書寫規(guī)范

    美女呀,離線,留言給我吧!
    wangxinxin
      1樓 個性首頁 | 博客 | 信息 | 搜索 | 郵箱 | 主頁 | UC


    加好友 發(fā)短信
    等級:青蜂俠 帖子:1393 積分:14038 威望:0 精華:0 注冊:2010-11-12 11:08:23
    Delphi 源程序格式書寫規(guī)范  發(fā)帖心情 Post By:2010-12-14 11:41:05

    程序自啟動的原理

    程序自啟動有以下兩種方式:

    1. 利用Win.ini文件實現(xiàn)程序的自動啟動

    Win.ini是系統(tǒng)保存在“C:Windows”目錄下的一個系統(tǒng)初始化文件,系統(tǒng)在啟動時會檢索該文件中的相關項,以進行系統(tǒng)環(huán)境的初始設置。在該文件中的“[windows]”數(shù)據(jù)段中,有兩個數(shù)據(jù)項“l(fā)oad=”和“run=”,它們的作用就是在系統(tǒng)啟動之后自動地裝入和運行相關的程序。如果我們需要在系統(tǒng)啟動之后立即裝入并運行一個程序,只需要將運行文件的全文件名添加在該數(shù)據(jù)項的后面,系統(tǒng)啟動后就會自動運行該程序,系統(tǒng)也會進入特定的操作環(huán)境中。

    2. 利用注冊表實現(xiàn)相關程序的自動啟動

    系統(tǒng)注冊表保存著系統(tǒng)的軟件、硬件及其他與系統(tǒng)配置有關的重要信息,一個計算機系統(tǒng)的系統(tǒng)注冊表一旦遭到破壞,整個系統(tǒng)將無法運行。在計算機系統(tǒng)注冊表中有HKEY_LOCAL_MACHINE/Software/Microsoft/Windows/Current_Version/Run子鍵,如果要讓程序在系統(tǒng)啟動的過程中啟動該程序,就可以向該目錄添加一個子鍵。具體的過程是在注冊表中右擊該項,選中其中的“新建”項目,然后選中其中的“串值”,建立新的串值后將它改成相應的名稱,雙擊新建的串值,輸入新的數(shù)值,自動啟動程序的過程就設置完成。

    編程實例

    在Delphi 5.0中同時具有對注冊表和INI文件操作的函數(shù)。下面是筆者編寫的一個簡單程序,該程序通過修改注冊表和INI文件,使系統(tǒng)自動啟動,相關程序的設置工作比較簡單可靠。

    1. 程序功能概述

    程序的主界面是對話框,在主界面對話框中有兩個編輯框、一個按鈕組、一個打開文件對話框、兩個普通按鈕(Button)組成。操作者先在編輯框中添加需要自動加載的程序全文件名(也可以通過瀏覽按鈕來完成),然后通過按鈕組中兩個按鈕完成加載方式的選擇(注冊表方式或者修改Win.ini文件的方式),最后操作者通過點擊“應用”按鈕實現(xiàn)程序的自動加載,同時系統(tǒng)會提示操作者是否將計算機重新啟動,以便觀察程序的具體功能完成情況。

    2. 程序代碼

    procedure TForm1.Button1Click(Sender: TObject);

    {瀏覽按鈕的功能代碼}

    begin

    if (OpenDlg.Execute) then

    {當操作者選擇OK時,程序取得選擇文件的全路徑名(包括文件的路徑及文件名稱),并將相應的數(shù)值傳輸給相關的控件變量。}

    Edit2.Text := OpenDlg.FileName;

    end;

    procedure TForm1.OKBtnClick(Sender: TObject);

    {應用按鈕的功能代碼}

    Var

    lKey: HKey;

    i,len: integer;

    title, data_set: LPCTSTR;

    ret0,ret1: longint;

    filename: String;

    begin

    if (edit1.Text =‘’) THEN

    {如果操作者沒有填寫要設置項的標題,程序顯示對話框,提示操作者進行相關內(nèi)容的填寫。}

    begin

    Application.MessageBox(‘Please input the title name’,‘提示’,MB_OK);

    EXIT;

    end;

    title:=PChar(edit1.Text);

    if (edit2.text =‘’)THEN

    {如果操作者沒有選擇要設置的程序全路徑文件名,程序顯示對話框提示操作者進行相關的選擇。}

    begin

    Application.MessageBox(‘Please input the programe file name’,‘提示’,MB_OK);

    exit;

    end;

    if (RadioGroup1.ItemIndex = 0) then

    {如果操作者選擇注冊表方式,程序修改系統(tǒng)的注冊表。}

    begin

    data_Set:=‘SoftwareMicrosoft

    WindowsCurrentVersionRun’;

    {設置注冊表中相關的路徑}

    ret0:=RegOpenKeyEx(HKEY_LOCAL_MACHINE, data_Set, 0, KEY_WRITE, lKey);

    //打開注冊表中的相應項

    if (ret0<>ERROR_SUCCESS) then

    Application.MessageBox(‘錯誤0’,‘提示’,MB_OK);

    len := Length(Trim(Edit2.text))+1;

    filename := Trim(Edit2.text);

    for i:=0 to Length(filename) do

    if(filename[i]=‘’)then

    len:=len+1;

    ret1:=RegSetValueEx(lKey,PChar(title),0,REG_SZ,Pchar(filename),len);

    //將相關的信息寫入注冊表。

    if(ret1<>ERROR_SUCCESS) then

    //判斷系統(tǒng)的相關注冊是否成功?

    Application.MessageBox(‘錯誤1’,‘提示’,MB_OK);

    RegCloseKey(lKey);

    //關閉注冊表中的相應的項

    end

    else begin

    WritePrivateProfileString(‘windows’,‘load’, PChar(filename),‘c:windowswin.ini’);

    WritePrivateProfileString(‘windows’,‘run’, PChar(filename),‘c:windowswin.ini’);

    end;

    VerifyDlg.ShowModal;

    {顯示對話框,提示操作者是否需要重新啟動計算機,以便驗證程序的功能。}

    end;

    procedure TVerifyDlg.OKBtnClick(Sender: TObject);

    {重新啟動按鈕的功能代碼}

    var

    OsVerInfo:OSVERSIONINFO;

    //保存系統(tǒng)版本信息的數(shù)據(jù)結構

    Begin

    OsVerInfo.dwOSVersionInfoSize:=sizeof(OSVERSIONINFO);

    GetVersionEx(OsVerInfo);

    //取得系統(tǒng)的版本信息

    if(OsVerInfo.dwPlatformId=VER_PLATFORM

    _WIN32_WINDOWS) then

    ExitWindowsEx(EWX_REBOOT,0);

    //重新啟動計算機

    end;


    支持(0中立(0反對(0單帖管理 | 引用 | 回復 回到頂部

    返回版面帖子列表

    Delphi 源程序格式書寫規(guī)范








    簽名
    主站蜘蛛池模板: 久久亚洲精品无码AV红樱桃 | 亚洲欧美日韩精品专区| 精品无码成人久久久久久| 国产精品99久久久久久董美香 | 欧美亚洲一区二区三区四| 四虎永久成人免费| 麻豆第一区MV免费观看网站| 在线观看亚洲av每日更新| 久久99精品久久久久久噜噜| 日韩电影中文字幕在线观看| 亚洲精品午夜久久久伊人| 精品一区二区高清在线观看| 国产在线一区视频| 91精品欧美综合在线观看| 天天想你在线视频免费观看| 久久久久久AV无码免费网站下载| 日韩精品无码免费专区午夜不卡| 亚洲网站免费观看| 真实的国产乱xxxx在线播放| 国产乱码精品一区二区三区四川人 | 欧美亚洲一区二区三区| 免费人成激情视频在线观看冫| 老太bbwwbbww高潮| 国产成在线观看免费视频| 四虎在线永久精品高清| china同性基友gay勾外卖| 性色av免费观看| 久久精品亚洲精品国产欧美| 最新版资源在线天堂| 亚洲精品中文字幕乱码三区| 特级做a爰片毛片免费看一区| 四虎永久在线免费观看| 荡公乱妇hd在线| 国产探花在线观看| 8x8×在线永久免费视频| 在线视频亚洲欧美| 一级毛片在线免费播放| 成人网视频免费播放| 久久婷婷五月综合国产尤物app| 日韩精品成人一区二区三区| 亚洲成av人片在线观看无码不卡 |