一区二区三区日韩精品-日韩经典一区二区三区-五月激情综合丁香婷婷-欧美精品中文字幕专区

分享

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

 達能牛牛 2007-04-09

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

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

 

希望高手們粘貼一些馬上能用的代碼,也好辨別真?zhèn)危? 
   
  例如具體調(diào)用的時候,該給那些參數(shù)?如果改變謝謝調(diào)用參數(shù),將會造成什么后果?等等。  
   
  且看上面某個轉(zhuǎn)帖中的一個例子:  
   
  ShellExecute(Handle,   ‘open‘,   PChar(‘command.com‘),   PChar(‘/c   copy   file1.txt   file2.txt‘),   nil,   SW_SHOW);  
   
  這句話,我放在一個簡單對話框程序的OK按鈕的響應(yīng)函數(shù)里面,一編譯,出現(xiàn)5個錯誤:  
  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í)的,但我絕對不想以訛傳訛。因此,我雖然感謝每一位關(guān)注此貼的朋友,但是對于只是一位轉(zhuǎn)帖而不經(jīng)過自己親手驗證的朋友發(fā)出呼吁:能否發(fā)一些自己認為是正確的代碼?  
   
     

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

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多

    99一级特黄色性生活片| 99热在线精品视频观看| 午夜直播免费福利平台| 日本在线不卡高清欧美| 国产永久免费高清在线精品| 热久久这里只有精品视频| 富婆又大又白又丰满又紧又硬 | 国产高清视频一区不卡| 国产av精品高清一区二区三区| 亚洲一区二区三区国产| 亚洲专区一区中文字幕| 日本国产欧美精品视频| 亚洲国产欧美久久精品| 国产又粗又猛又黄又爽视频免费| 99久久精品午夜一区| 日本高清加勒比免费在线| 午夜视频成人在线免费| 国产性情片一区二区三区| 草草夜色精品国产噜噜竹菊| 午夜精品麻豆视频91| 玩弄人妻少妇一区二区桃花| 色婷婷国产熟妇人妻露脸| 一级片二级片欧美日韩| 婷婷亚洲综合五月天麻豆| 欧美午夜伦理在线观看| 91欧美视频在线观看免费| a久久天堂国产毛片精品| 日韩成人午夜福利免费视频| 人妻内射在线二区一区| 久久精品a毛片看国产成人| 内射精品欧美一区二区三区久久久 | 欧美精品久久男人的天堂| 国产精品久久精品毛片| 国产一区麻豆水好多高潮| 好骚国产99在线中文| 国自产拍偷拍福利精品图片| 天堂热东京热男人天堂| 深夜少妇一区二区三区| 沐浴偷拍一区二区视频| 国产免费成人激情视频| 少妇视频一区二区三区|