电竞比分网-中国电竞赛事及体育赛事平台

分享

WinExec(exePath,sw

 yiherainbow 2007-09-16
   CSDN Blog推出文章指數(shù)概念,文章指數(shù)是對(duì)Blog文章綜合評(píng)分后推算出的,綜合評(píng)分項(xiàng)分別是該文章的點(diǎn)擊量,回復(fù)次數(shù),被網(wǎng)摘收錄數(shù)量,文章長(zhǎng)度和文章類型;滿分100,每月更新一次。

WinExec主要運(yùn)行EXE文件。如:WinExec(’Notepad.exe Readme.txt’, SW_SHOW); 
ShellExecute
不僅可以運(yùn)行EXE文件,也可以運(yùn)行已經(jīng)關(guān)聯(lián)的文件。

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

1.標(biāo)準(zhǔn)用法 
  ShellExecute函數(shù)原型及參數(shù)含義如下:
 
  
function ShellExecute(hWnd: HWND; Operation, FileName, Parameters,Directory: PChar; ShowCmd: Integer): HINST; stdcall; 
  ●hWnd:用于指定父窗口句柄。當(dāng)函數(shù)調(diào)用過(guò)程出現(xiàn)錯(cuò)誤時(shí),它將作為Windows消息窗口的父窗口。例如,可以將其設(shè)置為應(yīng)用程序主窗口句柄,即Application.Handle,也可以將其設(shè)置為桌面窗口句柄(用GetDesktopWindow函數(shù)獲得)。
 
  ●Operation:用于指定要進(jìn)行的操作。其中“open”操作表示執(zhí)行由FileName參數(shù)指定的程序,或打開(kāi)由FileName參數(shù)指定的文件或文件夾;“print”操作表示打印由FileName參數(shù)指定的文件;“explore”操作表示瀏覽由FileName參數(shù)指定的文件夾。當(dāng)參數(shù)設(shè)為nil時(shí),表示執(zhí)行默認(rèn)操作“open”。
 
  ●FileName:用于指定要打開(kāi)的文件名、要執(zhí)行的程序文件名或要瀏覽的文件夾名。
 
  ●Parameters:若FileName參數(shù)是一個(gè)可執(zhí)行程序,則此參數(shù)指定命令行參數(shù),否則此參數(shù)應(yīng)為nilPChar(0)。
 
  ●Directory:用于指定默認(rèn)目錄。
 
  ●ShowCmd:若FileName參數(shù)是一個(gè)可執(zhí)行程序,則此參數(shù)指定程序窗口的初始顯示方式,否則此參數(shù)應(yīng)設(shè)置為0。
 
  若ShellExecute函數(shù)調(diào)用成功,則返回值為被執(zhí)行程序的實(shí)例句柄。若返回值小于32,則表示出現(xiàn)錯(cuò)誤。
 
  上述僅僅是ShellExecute函數(shù)的標(biāo)準(zhǔn)用法,下面將介紹它的特殊用法。 

2.特殊用法 
  如果將FileName參數(shù)設(shè)置為“http:”協(xié)議格式,那么該函數(shù)將打開(kāi)默認(rèn)瀏覽器并鏈接到指定的URL地址。若用戶機(jī)器中安裝了多個(gè)瀏覽器,則該函數(shù)將根據(jù)Windows 9x/NT注冊(cè)表中http協(xié)議處理程序(Protocols Handler)的設(shè)置確定啟動(dòng)哪個(gè)瀏覽器。
 
  格式一:http://網(wǎng)站域名。
 
  如:
ShellExecute(handle, ‘open’, http:// ;  www.’, nil, nil, SW_SHOWNORMAL); 
  格式二:http://網(wǎng)站域名/網(wǎng)頁(yè)文件名。 
  如:
ShellExecute(handle, ‘open’, http:// ;  www./default.htm’,nil,nil,  SW_SHOWNORMAL); 
  如果將FileName參數(shù)設(shè)置為“mailto:”協(xié)議格式,那么該函數(shù)將啟動(dòng)默認(rèn)郵件客戶程序,如Microsoft Outlook(也包括Microsoft Outlook Express)或Netscape Messanger。若用戶機(jī)器中安裝了多個(gè)郵件客戶程序,則該函數(shù)將根據(jù)Windows 9x/NT注冊(cè)表中mailto協(xié)議處理程序的設(shè)置確定啟動(dòng)哪個(gè)郵件客戶程序。 
  格式一:
mailto: 
  如:ShellExecute(handle,‘open’, ‘mailto:’, nil, nil, SW_SHOWNORMAL);打開(kāi)新郵件窗口。
 
  格式二:mailto:用戶賬號(hào)@郵件服務(wù)器地址
 
  如:ShellExecute(handle, ‘open’,‘ mailto:who@mail.’, nil, nil, SW_SHOWNORMAL);打開(kāi)新郵件窗口,并自動(dòng)填入收件人地址。若指定多個(gè)收件人地址,則收件人地址之間必須用分號(hào)或逗號(hào)分隔開(kāi)(下同)。
 
  格式三:mailto:用戶賬號(hào)@郵件服務(wù)器地址?subject=郵件主題&body=郵件正文
 
  如:ShellExecute(handle, ‘open’, ‘ mailto:who@mail.?subject=HelloBody=This is a test’, nil, nil, SW_SHOWNORMAL);打開(kāi)新郵件窗口,并自動(dòng)填入收件人地址、郵件主題和郵件正文。若郵件正文包括多行文本,則必須在每行文本之間加入換行轉(zhuǎn)義字符%0a。
 
例子
(delphi): 
在一個(gè)應(yīng)用程序調(diào)用
c:Project1.exe; 
ShellExecute(handle, ’open’,’c:Project1.exe’,’
字串內(nèi)容
’,nil, SW_SHOWNORMAL); 
Project1.exe里可以調(diào)用

procedure TForm1.FormCreate(Sender: TObject); 
var i:integer; 
begin 
for i:=1 to paramcount do 
if ParamStr(i)
〈〉
’’ then showmessage(ParamStr(i)); 
end;

最后的那個(gè)參數(shù),為窗口指定可視性方面的一個(gè)命令。 
請(qǐng)用下述任何一個(gè)常數(shù)
 
SW_HIDE
隱藏窗口,活動(dòng)狀態(tài)給令一個(gè)窗口
 
SW_MINIMIZE
最小化窗口,活動(dòng)狀態(tài)給令一個(gè)窗口
 
SW_RESTORE
用原來(lái)的大小和位置顯示一個(gè)窗口,同時(shí)令其進(jìn)入活動(dòng)狀態(tài)
 
SW_SHOW
用當(dāng)前的大小和位置顯示一個(gè)窗口,同時(shí)令其進(jìn)入活動(dòng)狀態(tài)
 
SW_SHOWMAXIMIZED
最大化窗口,并將其激活
 
SW_SHOWMINIMIZED
最小化窗口,并將其激活
 
SW_SHOWMINNOACTIVE
最小化一個(gè)窗口,同時(shí)不改變活動(dòng)窗口
 
SW_SHOWNA
用當(dāng)前的大小和位置顯示一個(gè)窗口,不改變活動(dòng)窗口
 
SW_SHOWNOACTIVATE
用最近的大小和位置顯示一個(gè)窗口,同時(shí)不改變活動(dòng)窗口
 
SW_SHOWNORMAL
SW_RESTORE相同

    本站是提供個(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)論公約

    類似文章 更多