• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>

            ShellExecute使用詳解

            有三個API函數可以運行可執行文件WinExec、ShellExecute和CreateProcess。CreateProcess因為使用復雜,比較少用。 
            WinExec主要運行EXE文件。如:WinExec(’Notepad.exe Readme.txt’, SW_SHOW); 

            ShellExecute不僅可以運行EXE文件,也可以運行已經關聯的文件。

            首先必須引用shellapi.pas單元:uses ShellAPI; 

            1.標準用法 

              ShellExecute函數原型及參數含義如下: 

              function ShellExecute(hWnd: HWND; Operation, FileName, Parameters,Directory: PChar; ShowCmd: Integer): HINST; stdcall; 

              ●hWnd:用于指定父窗口句柄。當函數調用過程出現錯誤時,它將作為Windows消息窗口的父窗口。例如,可以將其設置為應用程序主窗口句柄,即Application.Handle,也可以將其設置為桌面窗口句柄(用GetDesktopWindow函數獲得)。 

              ●Operation:用于指定要進行的操作。其中“open”操作表示執行由FileName參數指定的程序,或打開由FileName參數指定的文件或文件夾;“print”操作表示打印由FileName參數指定的文件;“explore”操作表示瀏覽由FileName參數指定的文件夾。當參數設為nil時,表示執行默認操作“open”。 

              ●FileName:用于指定要打開的文件名、要執行的程序文件名或要瀏覽的文件夾名。 

              ●Parameters:若FileName參數是一個可執行程序,則此參數指定命令行參數,否則此參數應為nil或PChar(0)。 

              ●Directory:用于指定默認目錄。 

              ●ShowCmd:若FileName參數是一個可執行程序,則此參數指定程序窗口的初始顯示方式,否則此參數應設置為0。 

              若ShellExecute函數調用成功,則返回值為被執行程序的實例句柄。若返回值小于32,則表示出現錯誤。 

              上述僅僅是ShellExecute函數的標準用法,下面將介紹它的特殊用法。 

            2.特殊用法 

              如果將FileName參數設置為“http:”協議格式,那么該函數將打開默認瀏覽器并鏈接到指定的URL地址。若用戶機器中安裝了多個瀏覽器,則該函數將根據Windows 9x/NT注冊表中http協議處理程序(Protocols Handler)的設置確定啟動哪個瀏覽器。 

              格式一:http://網站域名。 

              如:ShellExecute(handle, ‘open’, http:// ; 

            www.neu.edu.cn’, nil, nil, SW_SHOWNORMAL); 

              格式二:http://網站域名/網頁文件名。 

              如:ShellExecute(handle, ‘open’, http:// ; 

            www.neu.edu.cn/default.htm’,nil,nil, 

            SW_SHOWNORMAL); 

              如果將FileName參數設置為“mailto:”協議格式,那么該函數將啟動默認郵件客戶程序,如Microsoft Outlook(也包括Microsoft Outlook Express)或Netscape Messanger。若用戶機器中安裝了多個郵件客戶程序,則該函數將根據Windows 9x/NT注冊表中mailto協議處理程序的設置確定啟動哪個郵件客戶程序。 

              格式一:mailto: 

              如:ShellExecute(handle,‘open’, ‘mailto:’, nil, nil, SW_SHOWNORMAL);打開新郵件窗口。 

              格式二:mailto:用戶賬號@郵件服務器地址 

              如:ShellExecute(handle, ‘open’,‘ mailto:who@mail.neu.edu.cn’, nil, nil, SW_SHOWNORMAL);打開新郵件窗口,并自動填入收件人地址。若指定多個收件人地址,則收件人地址之間必須用分號或逗號分隔開(下同)。 

              格式三:mailto:用戶賬號@郵件服務器地址?subject=郵件主題&body=郵件正文 

              如:ShellExecute(handle, ‘open’, ‘ mailto:who@mail.neu.edu.cn?subject=Hello&Body=This is a test’, nil, nil, SW_SHOWNORMAL);打開新郵件窗口,并自動填入收件人地址、郵件主題和郵件正文。若郵件正文包括多行文本,則必須在每行文本之間加入換行轉義字符%0a。 

            例子(delphi): 

            在一個應用程序調用c:\Project1.exe; 

            ShellExecute(handle, ’open’,’c:\Project1.exe’,’字串內容’,nil, SW_SHOWNORMAL); 

            在Project1.exe里可以調用: 

            procedure TForm1.FormCreate(Sender: TObject); 

            var i:integer; 

            begin 

            for i:=1 to paramcount do 

            if ParamStr(i)<>’’ then showmessage(ParamStr(i)); 

            end;

             

            最后的那個參數,為窗口指定可視性方面的一個命令。 

            請用下述任何一個常數 

            SW_HIDE 隱藏窗口,活動狀態給令一個窗口 

            SW_MINIMIZE 最小化窗口,活動狀態給令一個窗口 

            SW_RESTORE 用原來的大小和位置顯示一個窗口,同時令其進入活動狀態 

            SW_SHOW 用當前的大小和位置顯示一個窗口,同時令其進入活動狀態 

            SW_SHOWMAXIMIZED 最大化窗口,并將其激活 

            SW_SHOWMINIMIZED 最小化窗口,并將其激活 

            SW_SHOWMINNOACTIVE 最小化一個窗口,同時不改變活動窗口 

            SW_SHOWNA 用當前的大小和位置顯示一個窗口,不改變活動窗口 

            SW_SHOWNOACTIVATE 用最近的大小和位置顯示一個窗口,同時不改變活動窗口 

            SW_SHOWNORMAL 與SW_RESTORE相同

            posted on 2008-04-26 15:46 wrh 閱讀(1212) 評論(0)  編輯 收藏 引用

            導航

            <2009年5月>
            262728293012
            3456789
            10111213141516
            17181920212223
            24252627282930
            31123456

            統計

            常用鏈接

            留言簿(19)

            隨筆檔案

            文章檔案

            收藏夾

            搜索

            最新評論

            閱讀排行榜

            評論排行榜

            精品久久久噜噜噜久久久| 久久精品国产福利国产琪琪| 精品国产乱码久久久久久人妻| 日日狠狠久久偷偷色综合免费| 久久婷婷色香五月综合激情| 国产V亚洲V天堂无码久久久| 久久国产成人| 久久久久成人精品无码中文字幕 | 久久国产乱子伦精品免费强| 国内精品免费久久影院| 久久棈精品久久久久久噜噜| 久久精品国产只有精品66| 亚洲国产欧美国产综合久久| 久久97久久97精品免视看| 久久婷婷五月综合国产尤物app| 久久精品一区二区三区中文字幕| 久久精品天天中文字幕人妻| 伊人色综合久久天天人守人婷| 久久综合综合久久97色| 少妇人妻88久久中文字幕| 人人狠狠综合久久亚洲| 色综合久久久久网| 国产精品美女久久久久| 久久天天躁狠狠躁夜夜2020一 | 午夜精品久久久内射近拍高清| 91精品国产9l久久久久| 精品久久亚洲中文无码| 亚洲伊人久久综合中文成人网| 国产高清美女一级a毛片久久w | 久久夜色精品国产网站| 欧美激情一区二区久久久| 人人狠狠综合久久亚洲高清| 欧美国产精品久久高清| 国产日韩欧美久久| 免费一级欧美大片久久网| 人妻中文久久久久| 久久亚洲精品无码aⅴ大香| 中文字幕无码av激情不卡久久| 亚洲国产成人久久精品99| 久久天天躁夜夜躁狠狠躁2022| 中文字幕无码久久精品青草|