免费高清特黄a大片,九一h片在线免费看,a免费国产一级特黄aa大,国产精品国产主播在线观看,成人精品一区久久久久,一级特黄aa大片,俄罗斯无遮挡一级毛片

分享

征集ShellExecute()函數(shù)使用技巧

 達(dá)能牛牛 2007-04-09

         ShellExecute的功能是運(yùn)行一個(gè)外部程序(或者是打開一個(gè)已注冊(cè)的文件、打開一個(gè)目錄、打印一個(gè)文件等等),并對(duì)外部程序有一定的控制。    
    有幾個(gè)API函數(shù)都可以實(shí)現(xiàn)這些功能,但是在大多數(shù)情況下ShellExecute是更多的被使用的,同時(shí)它并不是太復(fù)雜。下面舉例說明它的用法。  
   
  開始一個(gè)新的應(yīng)用程序  
     ShellExecute(Handle,   ‘open‘,   PChar(‘c:\test\app.exe‘),   nil,   nil,   SW_SHOW);  
   
  打開記事本,并打開一個(gè)文件(系統(tǒng)能識(shí)別記事本應(yīng)用程序的路徑,因此我們不必使用絕對(duì)路徑)  
     ShellExecute(Handle,   ‘open‘,   PChar(‘notepad‘),   PChar(‘c:\test\readme.txt‘),   nil,   SW_SHOW);  
   
  打印一個(gè)文檔  
     ShellExecute(Handle,   ‘print‘,   PChar(‘c:\test\test.doc‘),   nil,   nil,   SW_SHOW);  
   
     注意:可能你會(huì)看到word暫時(shí)的被打開,但它會(huì)自動(dòng)關(guān)閉。  
   
  打開一個(gè)HTML頁面  
     ShellExecute(Handle,   ‘open‘,   PChar(‘http://www./‘),   nil,   nil,   SW_SHOW);  
   
  你能通過一個(gè)已經(jīng)注冊(cè)的文件類型來打開應(yīng)用程序  
     ShellExecute(Handle,   ‘open‘,   PChar(‘c:\test\readme.txt‘),   nil,   nil,   SW_SHOW);  
   
  用windows   Explorer   打開一個(gè)目錄  
     ShellExecute(Handle,   ‘explore‘,   PChar(‘c:\windows)‘,   nil,   nil,   SW_SHOW);  
   
  運(yùn)行一個(gè)DOS命令并立即返回  
     ShellExecute(Handle,   ‘open‘,   PChar(‘command.com‘),   PChar(‘/c   copy   file1.txt   file2.txt‘),   nil,   SW_SHOW);  
   
  運(yùn)行一個(gè)DOS命令并保持DOS窗口存在  
     ShellExecute(Handle,   ‘open‘,   PChar(‘command.com‘),   PChar(‘/k   dir‘),   nil,   SW_SHOW);    
   
       

Delphi   ShellExecute幫助翻譯   [原]  
  hunterfall  
  11:31   AM    
   
   
  ShellExecute  
   
  ShellExecute函數(shù)用于打開或者打印一個(gè)指定的文件。指定的文件必須是可執(zhí)行文件或者文檔文件。  
  HINSTANCE   ShellExecute(  
          HWND   hwnd,   //   handle   to   parent   window    
          LPCTSTR   lpOperation,   //   pointer   to   string   that   specifies   operation   to   perform  
          LPCTSTR   lpFile,   //   pointer   to   filename   or   folder   name   string  
          LPCTSTR   lpParameters,   //   pointer   to   string   that   specifies   executable-file   parameters    
          LPCTSTR   lpDirectory,   //   pointer   to   string   that   specifies   default   directory  
          INT   nShowCmd     //   whether   file   is   shown   when   opened  
        )  
   
  *   Params(參數(shù)解釋)  
  Hwnd  
  指定父窗口句柄。這個(gè)窗口接收工程產(chǎn)生的所有消息。例如:一個(gè)工程可以通過消息框報(bào)告錯(cuò)誤。  
  lpOperation  
  以一個(gè)以null結(jié)束的字符串描述操作的執(zhí)行。以下的操作字符串是有效的:  
   
  行號(hào)   參數(shù)   含義  
  1   “open”   函數(shù)打開由lpFile指定的文件。這個(gè)文件必須是可執(zhí)行文件或者文檔文件。文件夾必須是可打開的文件夾。  
  2   “print”   函數(shù)打印由lpFile指定的文件。這個(gè)文件應(yīng)該是文檔文件。如果指定的文件是可執(zhí)行文件,函數(shù)將以open的方式打開這個(gè)文件。  
  3   “explore”   函數(shù)將搜索由lpFile指定的文件夾。  
   
  lpOperation參數(shù)如果為null,函數(shù)將以open的方式打開由lpFile指定的文件。  
  lpFile  
  以一個(gè)null結(jié)束的字符串描述打開或者打印指定的文件,或者打開或者搜索指定的  
  文件夾。函數(shù)可以打開一個(gè)指定的文件或者文件夾,也可以打印一個(gè)文檔文件。  
  lpParameters  
  如果lpFile指定的是一個(gè)可執(zhí)行文件,lpParameters以一個(gè)以null結(jié)束的字符串指定該執(zhí)行文件傳給應(yīng)用軟件的參數(shù)。  
  行號(hào)   參數(shù)   含義  
  1   SW_HIDE   隱藏這個(gè)窗體,并激活其他窗體。  
  2   SW_MAXIMIZE   最大化指定的窗體。  
  3   SW_MINIMIZE   最小化指定的窗體,并按順序激活最上層的窗體。  
  4   SW_RESTORE   激活并顯示窗體。如果窗體為最小化或者最大化,窗體恢復(fù)到原始大小和位置。應(yīng)用程序當(dāng)恢復(fù)一個(gè)最小化的窗體時(shí)將指定標(biāo)記。  
  5   SW_SHOW   以當(dāng)前的大小和位置激活并顯示窗體。  
  6   SW_SHOWDEFAULT    
  7   SW_SHOWMAXIMIZED   激活并最大化顯示窗體。  
  8   SW_SHOWMINIMIZED   激活并最小化現(xiàn)實(shí)窗體。  
  9   SW_SHOWMINNOACTIVE   最小化窗體,保持其激活狀態(tài)。  
  10   SW_SHOWNA   以當(dāng)前狀態(tài)顯示窗體,保持其激活狀態(tài)。  
  11   SW_SHOWNOACTIVATE   以當(dāng)前的大小和位置顯示窗體,并保持其激活狀態(tài)。  
  12   SW_SHOWNORMAL   激活并顯示一個(gè)窗體。如果窗體為最大化或者最小化,窗體恢復(fù)到原始的大小和位置。當(dāng)窗體第一次顯示的時(shí)候,應(yīng)用程序記錄標(biāo)記。  
  如果lpField指定的是一個(gè)文檔文件,lpParameters應(yīng)該為null。  
  lpDirectory  
  以一個(gè)以null結(jié)束的字符串指定文件開始運(yùn)行的默認(rèn)目錄。  
  nShowCmd  
  如果lpField指定了一個(gè)可執(zhí)行文件,nShowCmd指定這個(gè)文件在被打開時(shí)如何顯示。這個(gè)參數(shù)可以是以下值中的任何一個(gè):  
   
  如果lpField指定的是文檔文件,nShowCmd應(yīng)該為0。  
   
  *   return   Values(返回值)  
  如果函數(shù)執(zhí)行成功,返回值是已經(jīng)運(yùn)行的工程的實(shí)例句柄,或者動(dòng)態(tài)數(shù)據(jù)交換服務(wù)器應(yīng)用程序的句柄。  
  (具體返回值列表從略,請(qǐng)參考Delphi在線幫助)  
  *   Remarks(注釋)  
  被lpFile參數(shù)指定的文件必須是一個(gè)可執(zhí)行文件或者文檔文件。如果文件是一個(gè)文檔文件,ShellExecute函數(shù)將根據(jù)lpOperation參數(shù)決定打開或者打印這個(gè)文件。如果是可執(zhí)行文件,ShellExecute函數(shù)將打開它,即使lpOperation參數(shù)被指定為printing。  
  你可以使用ShellExecute打開活著搜索一個(gè)文件夾??梢允褂靡韵氯我庖环N方式打開一個(gè)文件夾:  
  ShellExecute(handle,   NULL,   path_to_folder,   NULL,   NULL,   SW_SHOWNORMAL);  
  或者  
  ShellExecute(handle,   "open",   path_to_folder,   NULL,   NULL,   SW_SHOWNORMAL);  
  使用下面的調(diào)用搜索文件夾:  
  ShellExecute(handle,   "explore",   path_to_folder,   NULL,   NULL,   SW_SHOWNORMAL)  
  如果lpOperation參數(shù)為null,函數(shù)將打開由lpFile指定的文件。如果lpOperation參數(shù)為”open”或者”explore”,函數(shù)將強(qiáng)制打開窗體或者資源管理器。  
  Top 

 

希望高手們粘貼一些馬上能用的代碼,也好辨別真?zhèn)危? 
   
  例如具體調(diào)用的時(shí)候,該給那些參數(shù)?如果改變謝謝調(diào)用參數(shù),將會(huì)造成什么后果?等等。  
   
  且看上面某個(gè)轉(zhuǎn)帖中的一個(gè)例子:  
   
  ShellExecute(Handle,   ‘open‘,   PChar(‘command.com‘),   PChar(‘/c   copy   file1.txt   file2.txt‘),   nil,   SW_SHOW);  
   
  這句話,我放在一個(gè)簡(jiǎn)單對(duì)話框程序的OK按鈕的響應(yīng)函數(shù)里面,一編譯,出現(xiàn)5個(gè)錯(cuò)誤:  
  C:\Documents   and   Settings\Administrator\桌面\openword\openwordDlg.cpp(231)   :   error   C2065:   ‘Handle‘   :   undeclared   identifier  
  C:\Documents   and   Settings\Administrator\桌面\openword\openwordDlg.cpp(231)   :   error   C2065:   ‘PChar‘   :   undeclared   identifier  
  C:\Documents   and   Settings\Administrator\桌面\openword\openwordDlg.cpp(231)   :   error   C2015:   too   many   characters   in   constant  
  C:\Documents   and   Settings\Administrator\桌面\openword\openwordDlg.cpp(231)   :   error   C2015:   too   many   characters   in   constant  
  C:\Documents   and   Settings\Administrator\桌面\openword\openwordDlg.cpp(231)   :   error   C2065:   ‘nil‘   :   undeclared   identifier  
   
  我雖然初學(xué)Vc,發(fā)帖子是向大家學(xué)習(xí)的,但我絕對(duì)不想以訛傳訛。因此,我雖然感謝每一位關(guān)注此貼的朋友,但是對(duì)于只是一位轉(zhuǎn)帖而不經(jīng)過自己親手驗(yàn)證的朋友發(fā)出呼吁:能否發(fā)一些自己認(rèn)為是正確的代碼?  
   
     

    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購(gòu)買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶 評(píng)論公約

    類似文章 更多