<form id="hz9zz"></form>
  • <form id="hz9zz"></form>

      <nobr id="hz9zz"></nobr>

      <form id="hz9zz"></form>

    1. 明輝手游網中心:是一個免費提供流行視頻軟件教程、在線學習分享的學習平臺!

      讓Delphi程序更方便地打開

      [摘要]一般情況下,程序在安裝時,要進行建立自己的程序組和程序項、在桌面上建立快捷方式、 讓程序隨WIN9X/NT自動啟動、把程序快捷方式放入快速啟動工具欄等工作,其目的就 是讓用戶更容易、更方...
      一般情況下,程序在安裝時,要進行建立自己的程序組和程序項、在桌面上建立快捷方式、  
        讓程序隨WIN9X/NT自動啟動、把程序快捷方式放入快速啟動工具欄等工作,其目的就  
        是讓用戶更容易、更方便運行自己的程序,從而且增加程序的友好性。下面我們就討論一下在  
        DELPHI程序如果實現這四項操作。  
          
        一、建立自己的程序組和程序項  
          1、實現原理  
            建立自己的程序組,就是在WINDOWS目錄下的子目錄Start Menu\Programs下,  
        建立一個子目錄;建立程序項,就是在該子目錄下建立程序的快捷方式。  
         。、建立程序的快捷方式  
            由于建立自己的程序組和程序項、在桌面上建立快捷方式、把程序快捷方式放入快速  
        啟動工具欄三個操作中要用到建立程序快捷方式的操作,首先來討論一下 如何在DELPHI  
        程序中建立程序快捷方式。  
            在手工建立程序的快捷方式時,通常要指定程序的文件名稱和運行參數;在程序中建  
        立程序的快捷方式時還要指定程序的工作目錄。我們可以用ShlObj單元中COM對象IShellLink  
        來指定程序的文件名稱、運行參數和程序的工作目錄三個參數,然后用COM對象IPersistFile  
        來保存快捷方式文件。具體的實現步驟請參見下面程序函數和注釋。  
            我們要用到的操作是在指定目錄下建立指定程序的快捷方式,因而要指定快捷文件要  
        保存的目錄。  
          
        { 建立程序的快捷方式,程序文件名稱為strExeFileName,運行參數為strParameters,  
        快捷方式所在目錄為strPath,返回值為True表示成功建立快捷方式,請在單元包含中增加  
        ComObj, ShlObj, ActiveX三個單元 }  
        function CreateShortcut( strExeFileName, strParameters, strPath : string ) : boolean;  
        var  
         strLnkFileName : widestring;//程序的快捷方式文件名稱  
         shelllinkTemp : IShellLink;  
         persistfileTemp : IPersistFile;  
        begin  
         //設置快捷方式的參數  
         shelllinkTemp := IShellLink( CreateComObject(CLSID_ShellLink));  
         with shelllinkTemp do  
         begin  
         SetPath( PChar( strExeFileName ) ); //設置程序文件全名  
         SetArguments( PChar( strParameters) );//設置程序的命令行參數  
         //設置程序的工作目錄  
         SetWorkingDirectory( PChar( ExtractFilePath( strExeFileName ) ) );  
         end;  
          
         //構造快捷方式的文件名(.LNK),路徑采用指定目錄,文件名為程序文件名,擴展名為LNK  
         //路徑采用指定目錄,文件名為程序文件名  
         strLnkFileName := strPath + '\' + ExtractFileName( strExeFileName );  
         //替代文件擴展名  
         strLnkFileName := copy( strLnkFileName,1, length( strLnkFileName ) -  
         length( ExtractFileExt( strExeFileName ) ) )  
         + '.LNK';  
         //保存快捷方式的文件  
         persistfileTemp := shelllinkTemp as IPersistFile;  
         if S_OK = persistfileTemp.Save( PWChar( strLnkFileName ) , false ) then  
         result := true //保存成功,返回True  
         else result := false;//保存失敗,返回False  
        end;  
          
          3、建立自己的程序組和程序項  
        { 創建程序組和程序項 }  
        procedure TForm1.Button2Click(Sender: TObject);  
        begin  
         //創建程序組MyGroup,即在C:\PWIN98\Start Menu\Programs下建立子目錄MyGroup  
         if not DirectoryExists( 'C:\PWIN98\Start Menu\Programs\MyGroup' ) then  
         ForceDirectories( 'C:\PWIN98\Start Menu\Programs\MyGroup' );  
         //創建程序項,在該子目錄下建立程序的快捷方式  
         if CreateShortcut( 'C:\Program Files\Borland\Dbd\Dbd32.exe','%1',  
         'C:\PWIN98\Start Menu\Programs\MyGroup' ) then  
         memo1.lines.add( '創建程序組和程序項成功' )//創建程序組和程序項成功  
         else//創建程序組和程序項失敗  
         memo1.lines.add( '創建程序組和程序項失敗' );  
        end;  
          
        二、在桌面上建立程序的快捷方式  
          1、實現原理  
            在桌面上建立程序的快捷方式,就是在WINDOWS目錄下的子目錄Desktop下  
        建立程序的快捷方式。  
          2、在桌面上建立程序的快捷方式  
        { 在桌面上建立程序的快捷方式 }  
        procedure TForm1.Button1Click(Sender: TObject);  
        begin  
         //在目錄C:\PWIN98\Desktop下建立程序的快捷方式  
         if CreateShortcut( 'C:\Program Files\Borland\Dbd\Dbd32.exe','%1',  
         'C:\PWIN98\Desktop' ) then//創建桌面快捷方式成功  
         memo1.lines.add( '創建桌面快捷方式成功' )  
         else//創建桌面快捷方式失敗  
         memo1.lines.add( '創建桌面快捷方式失敗' );  
        end;  
          
        三、讓程序隨WIN9X/NT自動啟動  
          讓程序隨WIN9X/NT自動啟動,可以把程序的快捷方式放到“啟動”程序組中,  
        不過這并不是一個好辦法。較好的辦法是修改系統注冊表,在其中加入程序文件的名稱及  
        運行參數。  
         。、實現原理  
            讓程序隨WIN9X/NT自動啟動,可以在注冊表的HKEY_LOCAL_MACHINE\Software  
        \Microsoft\Windows\CurrentVersion\Run中加入程序文件的名稱及運行參數,使程序作為一般  
        程序隨WIN9X/NT自動啟動;或在HKEY_LOCAL_MACHINE\Software\Microsoft\WindowsCurrentVersion\RunOnce中加入程序文件的名稱及運行參數,使程序作為服務程序隨WIN9X  
        /NT自動啟動,這樣按Ctrl+Alt+Del時,任務列表中將不會列出該程序的有關信息。  
         。病⒆尦绦螂SWIN9X/NT自動啟動  
        { 讓自己的程序隨WIN95/98/NT的啟動而運行,請在單元包含中增加Registry單元 }  
        procedure TForm1.Button3Click(Sender: TObject);  
        var  
         registerTemp : TRegistry;  
         success : boolean;  
        begin  
         registerTemp := TRegistry.Create; //建立一個Registry實例  
         with registerTemp do  
         begin  
         RootKey:=HKEY_LOCAL_MACHINE;//設置根鍵值為HKEY_LOCAL_MACHINE  
         //找到Software\Microsoft\Windows\CurrentVersion\Run  
         if OpenKey('Software\Microsoft\Windows\CurrentVersion\Run',True) then  
         //寫入自己程序的快捷方式信息  
         begin  
         WriteString( 'DBD', 'C:\Program Files\Borland\Dbd\Dbd32.exe' );  
         success := true;//設置程序自動啟動成功  
         end  
         else success := false;//設置程序自動啟動失敗  
         //善后處理  
         CloseKey;  
         Free;  
         end;  
         if success then memo1.lines.add( '設置程序自動啟動成功' )  
         else memo1.lines.add( '設置程序自動啟動失敗' );  
        end;  
          
        四、把程序快捷方式放入快速啟動工具欄  
          Windows95/98的任務欄是桌面上的一個特殊區域,用于顯示“開始”菜單、時鐘等以及  
        目前執行的任務。Windows98的任務欄增加了快速啟動工具欄,將程序的快捷方式放在任務欄  
        的“快速啟動”區,可以更方便地啟動程序,以免在開始菜單中一級級地查找或關閉窗口在  
        桌面上啟動程序。  
          Windows98 安裝后缺省的快速啟動工具欄包含“顯示桌面”、“IE 瀏覽器”等。如果快  
        速啟動工具欄已關閉,可用鼠標右鍵單擊任務欄的空白區域,單擊“工具欄”,確認已選中  
        “快速啟動”即可打開。  
         。、實現原理  
            把程序快捷方式放入快速啟動工具欄,就是在WINDOWS目錄下的子目錄  
        Application Data\Microsoft\Internet Explorer\Quick Launch下建立程序的快捷方式。  
          2、把程序快捷方式放入快速啟動工具欄  
        { 將程序快捷方式加入快速啟動工具欄 }  
        procedure TForm1.Button4Click(Sender: TObject);  
        begin  
         //將程序快捷方式加入快速啟動工具欄  
         if CreateShortcut( 'C:\Program Files\Borland\Dbd\Dbd32.exe','%1',  
         'C:\PWIN98\Application Data\Microsoft\Internet Explorer\Quick Launch' )  
         then//成功  
         memo1.lines.add( '將程序快捷方式加入快速啟動工具欄成功' )  
         else//失敗  
         memo1.lines.add( '將程序快捷方式加入快速啟動工具欄失敗' );  
        end;  
          
          以上程序在PWIN98+DELPHI3.0下調試通過。  
        (作者:深圳王發軍 wangfajun@163.net http://wangfajun.163.net)


      日韩精品一区二区三区高清