InstallShield內部庫函數全集-中文版

 

1  庫函數綜述
InstallShield包含300多個內部庫函數,用戶可在安裝腳本中調用它們來創建程序組,操作文件夾,處理目錄,監督安裝狀態,創建對話框,操作文件及其它更多工作。因爲InstallShield腳本編譯器已經識別這些庫函數名,所以用戶在使用它們之前無須說明。
爲了成功調用一個內部庫函數,用戶必須知道庫函數名稱及使用格式。InstallShield 庫函數參閱附錄D庫函數索引。在接下去的幾節中我們將對其中主要的一些庫函數作詳細介紹。在這裏先簡單向用戶描述一下庫函數的構成。
如:AskYesNo是一個庫函數,它在對話框中顯示一個詢問,然後等待最終用戶通過點擊按扭來響應,Yes或No。AskYesNo格式如下: AskYesNo(szQuestion,nDefault)。這個格式顯示了正確的函數名,括號中顯示了函數的參數列表。在函數的詳細說明幫助中,每個參數用匈牙利標記法表示,指出每個參數位置上可被接受的數值類型。AskYesNo要求兩個參數:第一個是字符類型,第二個是數值型。
與C語言一樣,InstallShield區分大小寫,因此用戶要嚴格注意庫函數名稱中大寫字母。
在用戶的腳本中使用任何庫函數,傳遞的參數數目一定要正確,並且要確保傳遞的每個參數值符合該位置規定的類型。如果用戶傳遞了錯誤的參數數目或者在任何一個或幾個參數位置傳遞了不相符的數值類型,腳本都不能被編譯。
注意:
.作爲參數傳遞的字符串必須包括在單引號或者雙引號內。
如:“Please wait while files are transferred”,或‘This is a string’或“c://Myfolder//myfile.txt”
.InstallShield 不允許將一個賦值語句作爲參數傳遞。另外,用戶在一個函數變量中不能使用&&或||運算符。
.由一個調用傳遞給一個函數的可變長字符串變量在被調用函數中不能自變長。如果函數試圖賦一個值,該值的長度超過參數的現有長度,則會發生401運行錯誤。爲避免這個錯誤,在調用將字符串傳遞給一個函數時就要爲字符串指定一個特定長度。
2  用戶界面函數
用戶界面函數允許用戶自定義特定的錯誤信息及錯誤框標題。然而,一些在安裝開發中遇到的內部錯誤信息是不能由用戶界面函數來修改的。這部分主要對用戶界面函數的語法、描述、參數等作詳細說明。
2.1  Disable函數
語法:Disable(nConstant)
說明:Disable函數使由參數nConstant指定的用戶界面對象或安裝特性無效。
參數:
nConstant
指定用戶界面對象或可操作特性使其無效,在這個參數位置傳遞下列預定義常量之一:
BACKBUTTON:使在一些內部對話框中顯示的Back按鈕無效(即使其變灰顯示),Back按鈕缺省置爲有效。
BACKGROUND:使安裝主背景窗口無效且隱藏。注意:當安裝處於全屏幕方式時該參數不起作用。
BILLBOARD:在安裝過程中取消佈告板的顯示。
DIALOGCACHE:使對話緩衝機制無效。有關對話緩衝的詳細說明,請參閱Enable。
HOURGLASS:使光標由一個“忙”光標(缺省爲沙漏光標)改變爲標準光標(缺省爲一個指針)。
INDVFILESTATUS:使路徑及文件名在文件傳輸時不顯示在進度指示器(狀態條)中。
LOGGING:不記錄卸載信息,使信息不記錄在卸載日誌文件中。注意:記錄功能由函數DeinstallStart自動置爲有效。在調用DeinstallStart之前置記錄卸載信息無效將不起任何作用,因爲當DeinstallStart被調用時,記錄功能將被自動激活,用戶必須就在不應被記錄的卸載操作執行之前手控禁止記錄。
NEXTBUTTON:使一些內部對話框的Next按鈕無效(使其變灰顯示)。Next按鈕缺省置爲有效。
SELFREGISTERBATCH:使註冊自注冊文件的批處理方法無效。詳細說明請參閱Enable。
SATAUS:使標準進展指示器(狀態條)無效且隱藏。
STATUSDLG:使對話框形式的進展指示器(狀態條)無效且隱藏。
STATUSEX:禁止以顯示安裝狀態對話框來取代進度指示器(狀態條)。
STATUSOLD:使原風格的進度指示器(狀態條)無效且隱藏。
返回值:
 0:說明函數成功禁止了由參數nConstant指定的用戶界面對象或安裝特性。
<0:說明函數未能禁止由參數nConstant指定的用戶界面對象或安裝特性。
註解:
·如果用戶的腳本中調用Disable函數來禁用Next或Back按鈕,那麼在函數被調用後的所有對話框中該按鈕均被禁用,爲激活Next或Back按鈕,用戶需帶相應的常量來調用Enable。
·DIALOGCACHE在沒有Next 或Back按鈕的對話框中不起作用。
2.2  Enable函數
語法:Enable (nConstant);
說明:Enable函數激活由參數nConstant指定的用戶界面對象或安裝特性。
參數:
nConstant
指定你要激活的用戶界面對象或操作特性。在該參數位置傳遞下列預定義常量之一:
BACKBUTTON:激活顯示在一些內部對話框中的Back按扭。缺省時Back按扭是被激活的,但可以通過調用Disable函數來禁用它。
BACKGROUND:當安裝是在窗口方式時,顯示安裝主背景窗口。當安裝是缺省的全屏幕方式時,該常量沒有作用。爲激活窗口方式,你必須以常量DEFWINDOWMODE或 FULLWINDOWMODE來調用Enable。
DEFWINDOWMODE:配置主背景窗口爲一個有標題欄的標準窗口。如果背景窗口被激活,它的外觀將會立即改變。如果背景窗口被禁用,屏幕不會被修改直到帶常量BACKGROUND調用Enable時。
DIALOGCACHE:激活對話框緩衝機制,它可以消除在顯示對話框之間出現的屏幕閃爍。這種屏幕閃爍在運行於窗口方式的安裝的標題欄中特別明顯。注意對話框緩衝機制僅工作於有BACK和NEXT按扭的對話框。缺省時對話框緩衝被禁用。
FULLWINDOWMODE:設置主背景窗口爲一個有標題欄的最大化窗口。如果背景窗口被激活,它的外觀將會立即改變。如果背景窗口被禁用,屏幕不會被修改直到帶常量BACKGROUND來調用Enable時。
HOURGLASS:使光標改變爲“忙”光標,缺省爲一個沙漏光標。
INDVFILESTATUS:當調用ComponentTransferData、 CopyFile、 或XcopyFile並且進度指示器被激活時,激活顯示每個文件的全限定名(在進度指示器的第二行中顯示)。注意,在一個運行基於事件的腳本的安裝程序中,ComponentTransferData被自動調用。
LOGGING:激活存入卸載記錄功能。當存入功能被激活時,InstallShield存入的卸載記錄的操作結果將被記錄在卸載日誌文件中,並將在卸載過程中被反向。自動調用DeinstallStart激活存入功能;因此,你不需要手動激活存入功能除非你先前用Disable函數禁用了它。
NEXTBUTTON:激活顯示在一些內部對話框中的Next按扭。Next 按扭缺省爲激活。
SELFREGISTERBATCH:激活註冊自注冊文件的批處理方法。該方法使用來避免和自注冊文件相關聯的依賴性問題。缺省爲標準(非批處理)自注冊。
    有關批處理方法的更多信息如下:
·在文件組窗格中,高亮顯示你的自注冊文件的文件組文件夾。它的屬性表在打開在右邊。
·雙擊Self-Registered域,則自注冊頁打開。
·選擇"Yes, all the files in this file group are self-registering"單選鈕。
·打開你的安裝腳本(在Scripts窗格中找到Setup.rul)。
` 在你傳輸文件前,以SELFREGISTERBATCH選項調用Enable函數。所有自注冊文件放在一個內部隊列中,也就是,當它們被安裝時它們會被立即註冊。(在一個使用基於事件腳本的安裝程序中,OnBegin處理程序被調用前,Enable(SELFREGISTERBATCH)會被自動調用。)
傳輸文件後,以SELFREGISTRATIONPROCESS選項調用Do函數。當你調用Do(SELFREGISTRATIONPROCESS)時,InstallShield註冊所有自注冊文件。如果當Do被調用時,系統變量BATCH_INSTALL等於TRUE(表明需要一個重啓來完成該安裝),則註冊自注冊文件被延遲到重啓後。
  在你調用Do(SELFREGISTRATIONPROCESS)後,你可以檢查自注冊是否成功。如果因任何原因Do失敗了,它會返回-1。那些自注冊失敗的文件的名稱被保存在系統變量ERRORFILENAME中,由一個分號分隔。
例如,下列代碼將所有自注冊文件註冊在文件媒體庫中。
// Enable batch method to queue self-registering files.
Enable ( SELFREGISTERBATCH );
// Install files.
nResult = ComponentTransferData( MEDIA );
// Register the files, check for errors.
if Do ( SELFREGISTRATIONPROCESS ) < 0 then
szMsg = "File(s) failed to self-register: /n" + ERRORFILENAME;
MessageBox (szMsg, WARNING);
endif;
STATUS:激活顯示標準進度指示器(狀態欄)。
STATUSDLG:激活顯示對話框風格的進度指示器(狀態欄)。
STATUSEX:激活顯示安裝狀態對話框來取代進度指示器(狀態欄)。
STATUSOLD:激活顯示舊風格進度指示器(狀態欄),它沒有一個 Cancel按扭。
返回值:
0:表明函數成功激活由參數nConstant指定的用戶界面對象或安裝特性。
< 0:表明函數未能激活由參數nConstant指定的用戶界面對象或安裝特性。
註解:
·缺省時,安裝運行在全屏方式;主背景窗口顯示爲一個沒有標題欄的全屏窗口。這種方式中,主安裝窗口不能被調整大小並且沒有一個可見的標題欄。爲激活窗口方式,你必須以常量DEFWINDOWMODE 或 FULLWINDOWMODE來調用Enable。
·如果你的腳本中調用Disable函數來禁用Next或Back按鈕,那麼在函數被調用後的所有對話框中該按鈕均被禁用,爲激活Next或Back按鈕,你需帶相應的常量來調用Enable。
·DIALOGCACHE在沒有Next 或Back按鈕的對話框中不起作用。
2.3  FindWindow
語法:FindWindow (szClassName, szWinName);
說明:FindWindow 函數通過指定一個窗口的窗口類和窗口名爲高級開發人員提供一個得到窗口句柄的方法。如果你知道了一個應用程序的窗口類和窗口名,就可得到它的句柄。然後你可以通過這個句柄直接發送信息給該窗口。
參數:
szClassName
指定窗口所屬類的名字。若指定爲“任意類”,則在該參數處傳遞一個空字符串。
szWinName
指定窗口標題。爲返回指定類中最頂層窗口的句柄,在該參數處傳遞一個空字符串(“”)。
返回值:
XXXX:窗口的句柄。
NULL (0):FindWindow根據指定的窗口名和類名不能找到該窗口。
註解:
·要找到一個窗口的類和名字,可運行Microsoft Spy.exe程序。
2.4  PlaceBitmap
語法:PlaceBitmap (szName, nID_BITMAP, nDx, nDy, nDrawOp);
說明:PlaceBitmap函數在安裝窗口中插入一個圖象。圖象來源由szName指定,它可以是一個位圖文件(.bmp),圖元文件(.wmf),或者是動態鏈接庫(.dll)。InstallShield支持2色、16色、256色和真彩色位圖(bitmap)。2色、16色、256色位圖可有透明部分。
    透明位圖在顯示可與背景窗口組合顯示的圖象時有用。在位圖中與指定的透明色匹配的像素不會被顯示;在該位置的背景像素保持可見。在安裝中,一個有技巧的設計常常用包含有公司名稱和徽標的透明位圖來作爲安裝窗口的標題。
    爲指定一個透明位圖,你必須給參數nDrawOp位置傳遞一個常量BITMAPICON。你也必須考慮在一個位圖中什麼顏色被置爲透明。缺省的透明色是purple(RGB(255,0,255))。要指定一個不同的透明色,可用下面描述的參數szName來指定。
因爲圖元文件(metafile)是繪製的,而不是放置的,它們固有爲透明。如果BITMAPICON被指定爲一個圖元文件,則該參數被忽略。
    通過使用SetDisplayEffect函數可以顯示非透明位圖的許多特殊顯示效果。該函數也爲圖元文件提供了有限的顯示效果。
窗口中位圖的位置可以用兩種方法中的一種來指定:
·通過參數nDrawOp來傳遞位置常數。
·通過參數nDx與nDy來傳遞距安裝窗口邊緣的垂直和水平位移。
通常可通過調用PlaceBitmap(將參數nDrawOp設置爲REMOVE)來刪除任何不再需要的位圖文件和圖元文件。建議刪除不需要的位圖,即使該位圖可以被其他位圖完全覆蓋,因爲第一個位圖的調色板入口只有在位圖被刪除後纔會被釋放。
  一個真彩色位圖顯示在一個運行於16色或256色模式的系統上時,只用那些在調色板中有效的顏色;不會給位圖分配附加的顏色,即使附加調色板入口是有效的。若你希望含有24位位圖的安裝可在16色或256色的系統中運行,需要包含該位圖的16色或256色的版本。然後在選擇要顯示的位圖前帶參數COLORS調用GetSystemInfo來確定當前顏色模式。
參數:
szName
指定要被顯示圖象的位圖文件、圖元文件的全限定名或動態鏈接。InstallShield通過擴展名來識別位圖文件和圖元文件。位圖文件必須有擴展名.bmp,圖元文件必須有擴展名.wmf.動態鏈接必須有擴展名.dll。如果一個文件名指定爲沒有擴展名,InstallShield將假定其擴展名爲.dll。
  爲指定一個候選透明色,在文件名後放置一個分號(;),後隨一組RGB顏色值(RGB顏色由三個數值指定,由逗號分隔)。該顏色被用作由szName指定的位圖的透明色。注意它對於已經被顯示的位圖不起作用,也不會成爲隨後調用PlaceBitmap而顯示的位圖的缺省透明色。
下面的參數指定白色爲透明色:
SUPPORTDIR ^ "Bitmap.bmp;255,255,255"
當nDrawOptions設置爲 REMOVE時,該參數被忽略。
nID_BITMAP
指定駐留在一個.dll中的位圖的資源ID。如果位圖的源點是圖元文件或位圖文件,指定一個在當前顯示的圖象中沒有使用的數值;所有同時顯示的圖象必須有其唯一的ID號。當nDrawOptions設置爲REMOVE,該參數必須包含顯示的圖象的ID。
nDx
當nDrawOp設置爲LOWER_LEFT, LOWER_RIGHT, UPPER_LEFT, 或 UPPER_RIGHT時以像素點指定安裝窗口邊緣和圖象邊緣之間的水平距離;否則該參數被忽略。
nDy
當nDrawOp設置爲LOWER_LEFT, LOWER_RIGHT, UPPER_LEFT, 或 UPPER_RIGHT時以像素點指定安裝窗口邊緣和圖象邊緣之間的垂直距離;否則該參數被忽略。
nDrawOp
指定位圖放置的位置,設置放置選項,或者刪除先前放置的位圖。給該參數傳遞下列預定義好的常數:
BITMAPICON:指出位圖有透明部分。用戶可以用按位或運算符(|)來將該常量和其他常量(除TILED、FULLSCREEN或FULLSCREENSIZE外)組合。當BITMAPICON和那些常量之一組合時,按位或運算被忽略,而只使用BITMAPICON。
TILED:位圖在主安裝窗口平鋪。該常量通常被用來創建一個安裝背景。當該常量被指定時,即使位置選項被忽略,特殊效果已被SetDisplaytEffect激活,位圖仍正常顯示。
FULLSCREEN:拖拉圖象使其填充整個安裝窗口。拖拉時圖象不會被調整大小。如果一個位圖圖象比InstallShield主窗口小,它在窗口中被置中,背景由當前背景色填充。缺省值爲深青色(teal);可以通過使用SetColor函數來改變。當這個常量被指定時,位置選項被忽略,即使一個特殊效果已經被SetDisplayEffect激活,位圖仍正常顯示。
FULLSCREENSIZE:拖拉和伸展圖象使其填充滿整個安裝窗口。當這個常量被指定時,位置選項被忽略,即使一個特殊效果已經被SetDisplayEffect激活,位圖仍正常顯示。
CENTERED:將位圖置於InstallShield安裝窗口的中央。
LOWER_LEFT:將位圖置於InstallShield安裝窗口的左下角。
LOWER_RIGHT:將位圖置於InstallShield安裝窗口的右下角。
UPPER_LEFT:將位圖置於InstallShield安裝窗口的左上角。
UPPER_RIGHT:將位圖置於InstallShield安裝窗口的右上角。
REMOVE:刪除一個先前放置的位圖或圖元。任何由SetDisplayEffect激活的特殊效果被忽略。
返回值:
0:表明函數成功找到和放置圖象。
< 0:表明函數未能找到或放置圖象。
註解:
·調用SetDisplayEffect來爲非平鋪、全屏幕、透明位圖設置特殊效果;用戶也可以用它爲圖元設置有限的特殊效果。
·InstallShield不支持24位透明位圖。如果用戶在一個24位位圖中包含了透明色而且指定了BITMAPICON常量,該顏色將被正常顯示。
·當你在運行256色模式的系統中放置一個256色的位圖時,InstallShield將試圖分配位圖的調色板到系統調色板。如果多個256色位圖被放置,InstallShield將試圖將所有可視位圖的調色板合併到系統調色板,優先爲最近放置的位圖。這種行爲可能導致在其他位圖被顯示時先前放置的位圖改變顏色。
·在一個運行在有256色抖動背景的256色模式的系統中,含有許多顏色的位圖可能導致一些給背景使用的調色板入口被重新分配;這可引起在背景中出現一種梯度效果。如果安裝中包含了使用多種顏色的位圖,則當它們運行在256色系統中時應不要使用256色抖動背景。
·系統調色板僅存在於運行在256色模式的系統中。運行在windows 95和其後高彩色或者真彩色模式下的系統及運行在65525(16位)色模式Windows NT下的系統中都沒有系統調色板。這些系統中不用考慮調色板句柄問題。顏色使用RGB值來直接顯示。
·因爲圖元文件是被着色的,它們不包括一個自定義調色板。當一個圖元文件在一個256色系統中顯示時,不發生調色板處理;圖元文件是用當前調色板中有用的顏色繪製而成。由此,若要運行在256色系統中,用戶在安裝程序中不應該使用顯示顏色不同於標準16色的圖元文件。
2.5  PlaceWindow
語法:PlaceWindow (nObject, nDx, nDy, nCorner);
說明:PlaceWindow函數改變用戶界面對象的位置,包括布告牌。用nDx和nDy指定對象的邊與屏幕邊緣的距離。
參數:
nObject
指定要被改變位置的對象。在該參數位置傳遞下列預定義的常量之一:
BACKGROUND:移動背景窗口。
BILLBOARD:設置在文件傳輸過程中使用的布告牌的位置。
MMEDIA_AVI:設置要播放的下一個AVI文件的窗口位置。缺省時,AVI文件將在InstallShield客戶窗口的左邊位置窗口中播放,從左起10個像素點,從上起10個像素點。
STATUS:移動進度指示器。
STATUSDLG:移動對話框風格的進度指示器。
STATUSEX:移動安裝狀態對話框。
STATUSOLD:移動舊風格的進度指示器。
當你調用PlaceWindow來移動進度指示器或者狀態對話框時,確信爲你在安裝中激活的反饋對象傳遞了正確常量。例如,如果你調用了Enable(STATUSOLD),則你必須傳遞STATUSOLD給PlaceWindow。
nDx
以像素點指定對象的邊與屏幕邊緣之間的水平距離。
nDy
以像素點指定對象的邊與屏幕邊緣之間的垂直距離。
nCorner
指定用nDx和nDy表示的距離是從哪個角度量所得。在該參數位置傳遞下列預定義的常量之一:
LOWER_LEFT:從InstallShield主窗口的左邊度量得nDx,從底端度量得nDy。
LOWER_RIGHT:從InstallShield主窗口的右邊度量得nDx,從底端度量得nDy。
UPPER_LEFT:從InstallShield主窗口的左邊度量得nDx,從頂端度量得nDy。
UPPER_RIGHT:從InstallShield主窗口的右邊度量得nDx,從頂端度量得nDy。
返回值:
0:表明函數成功改變了對象的位置。
< 0:表明函數未能改變對象的位置。
註解:
·使用該函數時要意識到一個安裝程序要運行在不同的屏幕分辨率下。你在放置對象前可能要確定屏幕範圍。距離以像素點度量,是對象邊緣與指定的屏幕角落邊緣之間的距離。
·用戶不能用該函數定位消息框,因爲消息框是由本機的Windows/PM API創建。一個消息框的位置由Windows/PM確定,而不是在InstallShield控制之下。另外,用戶不能用該函數定位一個自定義對話框。
2.6  PlayMMedia
語法:PlayMMedia (nType, szFileName, nOperation, nReserved);
說明: PlayMMedia函數播放一個聲音或AVI文件。MIDI或WAVE類型的聲音文件和AVI(視頻)文件既可以以同步方式也可以以異步方式播放。該函數也可以被用來連續播放一個文件。爲了實現這個目的,一個標誌可被按位或,來指示該文件以連續方式被播放。
    由於 AVI文件早被壓縮而且往往大於1.4MB的軟盤,因此,視頻顯示推薦於光盤安裝。
參數:
nType
指定文件類型。在該參數位置傳遞下列預定義的常量之一:
MMEDIA_WAVE:文件是WAVE聲音格式。
MMEDIA_MIDI:文件是MIDI聲音格式。
MMEDIA_AVI:文件是一個AVI文件。
szFileName
指定要播放的聲音/AVI文件的全限定名。
nOperation
指定播放方式。在該參數位置傳遞下列預定義的常量:
MMEDIA_PLAYSYNCH:同步播放。
MMEDIA_PLAYASYNCH:異步播放。該常量可以用或運算符(|)與MMEDIA_PLAYCONTINUOUS組合使用。
MMEDIA_PLAYCONTINUOUS:連續循環播放。當以同步方式播放一個聲音/AVI文件時不能使用該值。它只使用於以異步方式播放的文件。用或運算符(|)將它與MMEDIA_PLAYASYNCH組合使用。
MMEDIA_STOP:停止播放。
nReserved
給該參數傳遞0值,不允許其他值。
返回值:
0:表明函數成功播放文件。
< 0:表明函數不能播放文件。
2.7  RGB
語法:RGB (constRed, constGreen, constBlue);
說明:RGB函數創建一個自定義顏色值,該顏色可被SetColor和SetTitle使用。
參數:
constRed
指定一個數值型常數,值域爲0..255,指示在自定義色中紅色的數量。
constGreen
指定一個數值型常數,值域爲0..255,指示在自定義色中綠色的數量。
constBlue
指定一個數值型常數,值域爲0..255,指示在自定義色中藍色的數量。
返回值:
該函數返回一個調用SetColor和SetTitle時可被使用的自定義顏色的數值。
2.8  SetColor
語法:SetColor (nObject, nColor);
說明:SetColor函數設置主安裝窗口的背景色。
參數:
nObject
指定要改變的用戶界面對象。在該參數位置傳遞下列預定義的常量:
BACKGROUND
指示安裝窗口的背景。缺省顏色爲純深青色(solid teal):RGB(0,128,128)。
nColor
爲背景指定一種顏色。
對於一種過渡背景色,可傳遞下列常量之一:
BK_BLUE、BK_GREEN、BK_MAGENTA、BK_ORANGE
BK_PINK、BK_RED、BK_YELLOW 
對於一種純背景色,可傳遞下列常量之一:
BK_SOLIDBLACK、BK_SOLIDBLUE、BK_SOLIDGREEN、BK_SOLIDMAGENTA
BK_SOLIDORANGE、BK_SOLIDPINK、BK_SOLIDRED、BK_SOLIDWHITE
BK_SOLIDYELLOW
對於一種自定義顏色,可在該參數位置傳遞RGB函數。
爲了在使用自定義顏色繪製背景時得到光滑的效果(過渡),可將該顏色與預定義常量BK_SMOOTH按位或。注意當256色有效時光滑效果將更好。
返回值:
0:表明函數成功設置對象的顏色。
< 0:表明函數未能設置用戶界面對象的顏色。
註解:
·當使用一個RGB值時,你可以應用Microsoft Windows的編程指南中描述的相同的方法。
你可以指定RED、GREEN、BLUE顏色的混合來“混合”顏色。用從0到255的數之一來表示使用顏色的數量。在RGB宏中的參數必須使用字面數值。你可以使用一個表示RGB顏色的長整型數來代替RGB語句。
2.9  SetDialogTitle
語法:SetDialogTitle (nDialogId, szTitle);
說明:SetDialogTitle函數改變顯示在一些公用內部對話框標題欄的標題。用參數nDialogId指定對話框。如果你不使用SetDialogTitle,InstallShield顯示缺省標題。一旦你爲某一特定對話框設置了標題,除非你再次使用SetDialogTitle改變標題,否則InstallShield在每一個該類型對話框的實例中都使用該標題。
參數:
nDialogId
標識標題要被改變的內部對話框。在該參數位置傳遞下列預定義常量之一:
DLG_ASK_OPTIONS:改變AskOptions對話框標題。
DLG_ASK_PATH:改變AskPath對話框標題。
DLG_ASK_TEXT:改變AskText對話框標題。
DLG_ASK_YESNO:改變AskYesNo對話框標題。
DLG_ENTER_DISK:改變EnterDisk對話框標題。
DLG_MSG_INFORMATION:改變信息風格的消息框的標題。
DLG_MSG_SEVERE:改變嚴重警告風格的消息框的標題。
DLG_STATUS:改變對話風格進度指示器的標題。在帶DLG_STATUS選項調用SetDialogTitle後,爲了使標題修改有效,你必須通過調用Enable(STATUSDLG)來重新激活該對話風格進度指示器。
DLG_MSG_WARNING:改變警告風格的消息框的標題。
DLG_USER_CAPTION:當你使用用戶定義的消息框風格時改變消息框的標題。
szTitle
指定新標題。
返回值:
0:表明函數成功修改了對話框標題。
< 0:表明函數未能修改對話框標題。
註解:
·你必須爲每種你希望修改其標題的對話框分別調用SetDialogTitle。
·InstallShield使用標準Windows消息框函數創建消息框。Windows爲這些消息框確定Ok和Cancel按扭文字。InstallShield不能控制在Windows 消息框中使用的按扭文字。
2.10  SetDisplayEffect
語法:SetDisplayEffect (nEffect);
說明:SetDisplayEffect函數指定用PlaceBitmap函數顯示位圖文件或圖元文件時使用的顯示效果。一旦顯示效果被設定,所有隨後由PlaceBitmap顯示的位圖文件將一直使用該效果顯示,直到另一個對SetDisplayEffect的調用來設定一個新的顯示效果。
參數:
nEffect
指定一個顯示效果。在該參數位置傳遞下列預定義的常量之一。注意這些常量具有互斥性;它們相互之間不能使用按位或。而且,當用PlaceBitmap顯示一個位圖文件時指定了BITMAPICON、 FULLSCREEN、 FULLSCREENSIZE或 TILED時該參數無效:
EFF_FADE:位圖或布告牌淡入淡出。
EFF_REVEAL:位圖或布告牌逐漸從中央向四周填充。
EFF_HORZREVEAL:位圖或布告牌從它的中央逐漸水平滾動出來。
EFF_HORZSTRIPE:位圖或布告牌的一部分從外往裏水平填充,然後剩餘部分從中央部分往外填充。
EFF_VERTSTRIPE:位圖或布告牌的一部分從外往裏垂直填充,然後剩餘部分從中央部分往外填充。
EFF_BOXSTRIPE:位圖或布告牌的一部分從四周向裏填充,剩餘部分向四周填充。
EFF_NONE:該選項是缺省設置。使用它來清除調用其它任一選項後的顯示效果。
只有EFF_REVEAL和EFF_HORZREVEAL可用於圖元文件。
返回值:
0:表明函數成功設置顯示效果。
< 0:表明函數未能設置顯示效果。
註解:
·當位圖是由PlaceBitmap帶選項BITMAPICON、FULLSCREEN、FULLSCREENSIZE或TILED顯示時,該位圖不會按顯示效果顯示,而是正常顯示。更多的信息可查閱PlaceBitmap。
·顯示效果僅當放置位圖時出現,當刪除位圖時不能使用顯示效果。
·只有展示(EFF_REVEAL)和水平展示(EFF_HORZREVEAL)效果可用於圖元文件。
2.11  SetErrorMsg
語法:SetErrorMsg (nErrorID, szText);
說明:SetErrorMsg函數定製InstallShield缺省錯誤信息。你可以使用該函數來指定顯示這些錯誤信息的消息框的標題文本。
參數:
nErrorID
指定要替換的錯誤信息。在該參數位置傳遞下列預定義的常量之一:
ERR_BOX_BADPATH:當EnterDisk檢測到一個由用戶輸入的錯誤路徑時顯示該信息。
ERR_BOX_BADTAGFILE:當EnterDisk檢測到指定的標籤文件不存在於磁盤上時顯示該信息。
ERR_BOX_DISKID:當EnterDisk檢測到由用戶指定的驅動器不存在時顯示該信息。
ERR_BOX_DRIVEOPEN:當EnterDisk檢測到磁盤驅動器未關閉時顯示該信息。
szText
指定要在消息框中顯示的錯誤信息。
返回值:
0:表明函數成功改變錯誤信息。
< 0:
表明函數未能改變錯誤信息。
2.12   SetErrorTitle
語法:SetErrorTitle (nErrorID, szText);
說明:SerErrorTitle函數指定InstallShield內部錯誤消息框標題欄的自定義文本。你可以使用該函數來自定義錯誤消息文本。
參數:
nErrorID
指定標題要被替換的錯誤消息框。在該參數位置傳遞下列預定義的常量之一:
ERR_BOX_BADPATH:當EnterDisk檢測到錯誤路徑時顯示該消息。
ERR_BOX_BADTAGFILE:當EnterDisk檢測到指定的標籤文件不存在於磁盤上時顯示該消息。
ERR_BOX_DISKID:當EnterDisk檢測到指定的驅動器不存在時顯示該消息。
ERR_BOX_DRIVEOPEN:當EnterDisk檢測到磁盤驅動器未關閉時顯示該消息。
szText
指定顯示在錯誤消息框中的標題。
返回值:
0:表明函數成功修改了標題欄的文本。
< 0:表明函數未能修改標題欄的文本。
2.13  SetFont
語法:SetFont (nItemID, nFontStyle, szFontName);
說明:SetFont函數設置顯示的正文串的字體和風格。你可以在該函數使用標準Windows
      字體。
參數:
nItemID
指定其字體和字體風格要被設置的項。在該參數位置傳遞下列預定義的常量:
FONT_TITLE:指定安裝過程的主標題,該主標題顯示在安裝窗口的左上角。
nFontStyle
指定字體風格。在該參數位置傳遞下列預定義的一個或多個常量。除STYLE_NORMAL之外的所有常量可以用按位或來指定多種風格:
STYLE_NORMAL:沒有加粗、傾斜或陰影(不能被按位或)。
STYLE_BOLD:字體加粗。
STYLE_ITALIC:字體傾斜。
STYLE_SHADOW:字體有陰影底紋。
STYLE_UNDERLINE:加下劃線。
szFontName
指定一個有效的Windows字體的名稱。有效的字體名稱包括Courier, Helv, Helvetica, Modern, Roman, Script, Terminal, Times 和TmsRmn。如果指定的字體沒有找到指定的風格,就使用Arial。
返回值:
0:表明函數成功設置字體。
< 0:表明函數未能設置字體。
2.14  SetStatusWindow
語法:SetStatusWindow (nPercent, szString);
說明:SetStatusWindows函數爲進度指示器(狀態條)設置完成指示器的百分比的初始值或當前值,並指定在進度指示器(狀態條)最高行顯示的當前消息。
  通過調用ComponentTransferData或ComponentMoveData來傳輸文件的安裝必須在文件傳輸開始之前調用SetStatusWindows,這是爲了設置完成指示器百分比爲0%而且清除指示器最高行。不再需要另外調用SetStatusWindows。每一個組件的文件被裝入時,該組件的 ‘狀態文本’字符串會在狀態條最高行自動顯示。
  使用CopyeFile或XcopyFile函數裝入文件的安裝程序在相繼調用CopyFile或XcopyFile之間,可能需要多次調用SetStatusWindows來改變指示器最高行的信息。
  在傳輸文件前,你的安裝程序還應該調用StatusUpdate函數激活文件傳輸過程中百分比完成指示器的自動更新。爲了使得在狀態條第二行顯示正被安裝文件的名稱和路徑,需在傳輸文件前帶參數INDVFILESTATUS來調用Enable函數。在這些調用後,百分比完成指示器在文件傳輸過程中被平滑更新,每個文件的文件名在被傳輸時將顯示。
參數:
nPercent
指定0到100之間的一個數值來表示百分比完成指示器顯示的百分比。若要改變顯示在狀態條最高行的信息而不改變百分比完成指示器,則指定該參數爲-1。
szString
指定顯示在狀態條最高行的字符串。注意如果一個'DisplayText'參數已被指定給該組件(在IDE中),那麼當調用ComponentTransferData時該字符串將自動改寫任何該參數指定的文本。
返回值:該函數沒有返回值。
2.15  SetTitle
語法:SetTitle (szTitle, nPointSize, nColor);
說明:SetTitle函數根據nColor的值在主窗口標題欄或在主窗口內顯示一個標題。
參數:
szTitle
指定在主窗口標題欄或主窗口內顯示的一個標題。如果標題要顯示在窗口的標題欄,你必須在第三個參數位置指定預定義常量BACKGROUNDCAPTION。如果一個標題欄的標題不符合可用空間,那將被從右截尾並以省略號終止。缺省標題欄標題爲“安裝”。
當給第三個參數傳遞一個顏色值時,標題在主窗口的頂端左對齊顯示。相對主窗口太寬的標題將被從右截尾顯示。爲創建一個佔據多行的標題,可在你希望的行斷開處嵌入換行符。
nPointSize
以點數來指定一個在主窗口顯示的標題的字號。建議字號爲24點數。注意當第三個參數爲BACKGROUNDCAPTION時該參數被忽略。
nColor
指定一個顏色或預定義常量BACKGROUNDCAPION。爲指示szTitle值應該在主窗口標題欄顯示,則在該參數位置傳遞預定義的常量BACKGROUNDCAPTION。當用戶指定了BACKGROUNDCAPTION,nPointSize被忽略;標題欄標題的顏色和字號將由最終用戶的系統設置決定。注意該選項在不運行在窗口模式的安裝程序中無效;請查看下面的註解。
爲指示szTitle值應該在主窗口中顯示,通過在該參數位置傳遞下列預定義的常量之一來指定該標題的顏色:BLACK,BLUE,GREEN,MAGENTA,RED,YELLOW或WHITE。用戶也可以在該參數位置傳遞RGB函數來指定自定義顏色,如下面例子所示:
   SetTitle("FantasticApp", 24, RGB(78, 125, 161));
返回值:
0:表明函數成功設置安裝的標題。
< 0:表明函數未能設置安裝的標題。
註解:
·不運行於窗口模式下的安裝中,第三個參數設置爲BACKGROUNDCAPTION時調用SetTitle無效。爲在一個標準窗口中運行安裝程序,你必須首先以參數DEFWINDOWMODE或FULLWINDOWMODE來調用Enable,然後以參數BACKGROUND調用Enable來顯示窗口。
·用SetColor來設置你安裝的背景色。
·用SetFont來設置在背景窗口中顯示的標題的字體和字體風格。
2.16  SizeWindow
語法:SizeWindow (nObject, nDx, nDy);
說明:使用SizeWindow函數來改變一個特定用戶界面元件的大小。以像素點來指定新的
  大小。
參數:
nObject
指定要調整大小的對象。在該參數位置傳遞下列預定義的常量之一:
BACKGROUND:標識爲主背景窗口。
METAFILE:標識爲在文件傳輸過程中使用的布告牌。SizeWindow不支持位圖文件(.bmp)。該參數對用SdBitmap函數顯示的圖元文件不起任何作用。SdBitmap自動調整被顯示的圖元文件的大小。
MMEDIA_AVI:設置播放下一個AVI文件的窗口的大小。所有AVI視頻以一個缺省大小來顯示。改變大小可能會改變視頻的有效分辨率和明快度。
nDx
以像素點指定對象的水平大小。
nDy
以像素點指定對象的垂直大小。
返回值:
0:表明函數成功調整窗口大小。
< 0:表明函數未能調整窗口大小。
註解:
·安裝程序可能運行於多個不同的屏幕分辨率下。因此,你需要使用GetExtents函數來確定屏幕的全屏大小,然後在你的SizeWindows函數調用中參數使用比率來指定用戶界面對象的大小。
·該函數僅推薦給高級開發人員。
2.17  StatusUpdate
語法:StatusUpdate (bLink, nFinalPercent);
說明:StatusUpdate函數激活或禁用文件傳輸操作和狀態條進度指示器之間的連接。當bLink是ON,連接被激活並且nFinalPercent指示一個在下一個文件傳輸結束時顯示的最後百分比。在文件傳輸過程中,狀態條平滑地從它的當前值更新到由nFinalPercent指定的值。當bLink是OFF,連接被禁用並且狀態條的進度指示器在隨後的文件傳輸中不會被自動更新。
如果文件傳輸中狀態條被激活,則在每次調用CopyFile 或 XcopyFile之前調用StatusUpdate。在調用ComponentTransferData傳輸文件之前,帶參數爲ON和100來調用StatusUpdate;這將使狀態條在安裝的文件傳輸階段平滑更新到100%。注意在一個運行基於事件腳本的安裝中,ComponentTransferData被自動調用。
參數:
bLink
指定是否激活或禁用文件傳輸操作和狀態條進度指示器之間的連接。在該參數位置傳遞下列預定義常量之一:
ON:指定狀態條的進度指示器必須和文件傳輸操作相連接。
OFF:指定禁用狀態條的進度指示器和文件傳輸操作之間的連接。連接保持爲禁用直到它通過一個隨後對StatusUpdate帶參數bLink爲ON的調用而得到重新建立。
狀態條可以通過調用SetStatusWindow而被手動更新。
nFinalPercent
指定當bLink爲ON時,狀態條的進度指示器在下一個文件傳輸操作結束時必須達到的最後百分比。如果傳遞給nFinalPercent的值小於狀態條的進度指示器的當前值,則進度指示器不會改變。當bLink爲OFF時,該參數被忽略。
返回值:
0:表明函數成功。
< 0:表明函數不成功。
註解:
·該函數通過計算由任何文件傳輸函數傳遞的總的字節數來工作。然後它計算從進度指示器的當前位置開始到nFinalPercent中的最大值,需每隔多久增加一次進度指示器。
·StatusUpdate函數不能和VerUpdateFile 、VerSearchAndUpdateFile一起工作。當調用那些函數時,你必須禁用狀態條或手動更新它。
·爲設置狀態條到一個初始百分比,在調用StatusUpdate之前調用SetStatusWindow。

3  信息函數
下列信息函數提供操作環境中有效資源的數據:磁盤空間,內存和操作模式:
GetDiskSpace
返回指定磁盤的有效字節數(未使用的)(最高爲2GB)。
GetDiskSpaceEx
以bytes、kilebytes、megabytes或gigabytes爲單位返回一個磁盤的空閒空間,。
GetEnvVar
返回一個環境變量的當前值。
GetExtents
返回屏幕大小。
GetMemFree
返回運行在Microsoft Windows下的一個應用程序的可用內存。
GetSystemInfo
檢索系統信息。
GetValidDrivesList
返回目標系統中所有有效驅動器。
GetWindowHandle
返回主安裝窗口的句柄。
Is
提供文件和路徑檢查服務,查找一個數學協處理器,檢測 Windows NT下的管理狀態,確定Microsoft Windows是否從網絡的共享版本運行。
3.1  GetDiskSpace
語法:GetDiskSpace (szDrive);
說明:GetDiskSpace函數返回指定驅動器上的空閒磁盤空間。
參數:
szDrive
指定一個驅動器指示符(驅動器字符後隨一個冒號)。你也可在該參數位置指定一個通用導航計算機路徑。
返回值:
XXXX:在指定驅動器上的空閒字節數。最大的返回值是2GB。超過2GB的空閒空間也返回2GB。當你需要檢測超過2GB的空閒空間時需調用GetDiskSpaceEx。
< 0:表明GetDiskSpace未能獲得空閒磁盤空間值。
3.2  GetDiskSpaceEx
語法:GetDiskSpaceEx (szDrive, nUnits);
說明:GetDiskSpaceEx函數返回指定驅動器的空閒磁盤空間值。傳遞給nUnits的值確定GetDiskSpaceEx的返回值是以bytes、 kilobytes、 megabytes 或 gigabytes度量。
參數:
szDrive
指定一個驅動器指示符(驅動器字符後隨一個冒號)。用戶也可在該參數位置指定一個通用導航計算機(UNC)路徑。
nUnits
傳遞下列預定義常量之一來指明度量單位:
BYTES:指明GetDiskSpaceEx須返回空閒byte數。
KBYTES:指明GetDiskSpaceEx須返回空閒kilobyte數。
MBYTES:指明GetDiskSpaceEx須返回空閒megabyte數。
GBYTES:指明GetDiskSpaceEx須返回空閒gigabyte數。
返回值:
XXXX:在指定驅動器上的空閒bytes、kilobytes、megabytes或 gigabytes數,度量單位視nUnits值而定。
< 0:表明GetDiskSpaceEx未能獲得空閒磁盤空間值。
3.3  GetEnvVar
語法:GetEnvVar (szParameter, svValue);
說明:GetEnvVar函數檢索一個環境變量的當前值。
參數:
szParameter
指定其值要被檢索的環境變量的名稱。
svValue
返回該環境變量的當前值。
返回值:
0:表明函數檢索到環境變量的值。
< 0:表明函數未能檢索到環境變量的值。
註解:
·InstallShield沒有提供一個改變一個環境變量值的機制。在Microsoft Windows 3.x  和 95環境中,建議用戶不要改變環境變量值。如果用戶需要設置一個新的環境變量,在Autoexec.bat文件中設置然後重啓系統。對於Windows NT,查看如何在Windows NT下設置環境變量。
3.4  GetExtents
語法:GetExtents (nvDx, nvDy);
說明:GetExtents函數檢索屏幕大小。屏幕寬以像素點爲單位返回給nvDx,高以像素點爲單位返回給nvDy。如:一個標準的VGA監控器返回nvDx爲640,nvDy爲480。
參數:
nvDx
以像素點爲單位返回屏幕的寬。
nvDy
以像素點爲單位返回屏幕的高。
返回值:
0:表明函數成功檢索到屏幕的大小。
< 0:表明函數未能檢索到這些值。
3.5  GetMemFree
語法:GetMemFree ( );
說明:GetMemFree函數返回運行在Microsoft Windows下的一個應用程序可用的內存大小。因爲Microsoft Windows是一個虛擬內存系統,該函數不會返回實際物理內存(稱爲RAM)而是Windows應用程序可用的內存。要確定目標系統上可用的實際物理內存大小,可調用GetSystemInfo。
參數:
GetMemFree不帶參數。以空參數表調用函數,如下所示:
   GetMemFree();
返回值:
XXXX:XXXX是應用程序可用的空閒內存的字節數。
< 0:GetMemFree未能返回空閒內存的大小。
註解:
·腳本每執行一個函數,InstallShield返回一個數值來指示函數運行結果。如果你要在該腳本後面部分要用到該函數的返回值,則將該值賦給一個數值型變量。
3.6  GetSystemInfo
語法:GetSystemInfo (nItem, nvResult, svResult);
說明:GetSystemInfo函數檢索目標系統的信息。
參數:
第一個參數,nItem,用來指定要檢索的信息的類型。參照下面這個你可傳遞給該參數的常量列表來檢索系統信息。注意使用特定的常量時(如DISK_TOTALSPACE_EX),你必須在調用該函數前爲參數nvResult和/或svResult指定附加信息。
系統信息返回給nvResult和/或svResult。數值型數據返回給nvResult。字符串型數據返回給svResult。下表列出了你可以傳遞給nItem的各個常量的返回值類型。
--------------------------------------------------------------------------------
nItem:BOOTUPDRIVE
nvResult:啓動驅動器的?ID,1=A:,2=B:,3=C:。可以通過給該數值加上64(十進制)將該數字轉換爲相應的驅動器字符,然後給該值設置一個字符串變量。使用下面的語法進行轉換:
svResult[0]=64+nvResult;
svResult:返回啓動驅動器的驅動器指示符(驅動器字符後隨一個冒號)。
--------------------------------------------------------------------------------
nItem:CDROM
nvResult: TRUE或FALSE指示CD ROM是否可用。
SvResult: N/A
--------------------------------------------------------------------------------
nItem: COLORS
nvResult:返回用戶系統可用顏色數目。結果從對目標系統的視頻驅動器檢索而得,而不是從視頻卡得到。如果該卡支持256色但驅動器只能處理16色,返回的顏色值是16。
svResult::N/A
--------------------------------------------------------------------------------
nItem:CPU
nvResult:返回下列常量之一:
IS_UNKNOWN    用戶CPU未知。
IS_386           用戶有一個386處理器。
IS_486           用戶有一個486處理器。
IS_PENTIUM     用戶有一個PENTIUM 處理器。
IS_ALPHA        用戶有一個ALPHA處理器。
SvResult: N/A
--------------------------------------------------------------------------------
nItem:   DATE
nvResult: N/A
svResult: svResult:當前系統時間格式爲MM-DD-YYYY。在月和日域的首零被刪除。
--------------------------------------------------------------------------------
nItem:   DISK_TOTALSPACE
nvResult::返回由svResult指定的磁盤驅動器的總容量。最大返回值爲2GB。總容量大於2GB的仍返回2GB。
SvResult:驅動器字符。注意該參數是傳遞給該函數的;也就是說,你必須在調用GetSystemInfo前給svResult賦值。還要注意你必須在驅動器字符後加上冒號;否則函數執行會失敗。你也可以在該參數位置指定一個通用導航計算機(UNC)路徑。
--------------------------------------------------------------------------------
nItem:   DISK_TOTALSPACE_EX
nvResult: 指定度量單位;在該參數位置傳遞下列預定義的常量之一:BYTES, KBYTES, MBYTES 或GBYTES。在svResult返回指定磁盤驅動器的總容量。
SvResult:驅動器字符。注意該參數是傳遞給該函數的;也就是說,用戶必須在調用GetSystemInfo前給svResult賦值。還要注意必須在驅動器字符後加上冒號;否則函數執行會失敗。用戶也可以在該參數位置指定一個通用導航計算機(UNC)路徑。
--------------------------------------------------------------------------------
nItem:   DRIVE
nvResult::在svResult返回指定驅動器的類型。將返回下列常量之一:
IS_UNKNOWN -目標驅動器未知。
IS_REMOVABLE -目標驅動器是軟盤驅動器。
IS_FIXED -目標驅動器是硬盤驅動器。
IS_CDROM -目標驅動器是光盤驅動器。
IS_REMOTE -目標驅動器是一網絡驅動器。
SvResult:驅動器字符後隨冒號。注意該參數是傳遞給該函數的;也就是說,用戶必須在調用GetSystemInfo前給svResult賦值。用戶也可以在該參數位置指定一個通用導航計算機(UNC)路徑。
--------------------------------------------------------------------------------
nItem:   EXTENDEDMEMORY
nvResult: NvResult:返回安裝在機器上的內存大小。由於操作系統的限制,返回值可能會和安裝在機器上的實際物理內存大小稍有差異。該值通常比實際值小100K。注意返回值以kb來度量。
SvResult: N/A
--------------------------------------------------------------------------------
nItem:    LANGUAGE
nvResult: nvResult:該參數返回目標系統的InstallShield語言常量。返回的常量可以用來確定使用ComponentFilterLanguage函數的安裝中裝入哪些語言專用文件組。
 For information about determining the default language of the target system, click here.
InstallShield International支持21種語言,Windows支持100多種語言。如果你想根據nvResult值篩選文件組,則必須使用一個開關語句根據該函數的返回常量來確定要使用的InstallShield語言標識號常量。帶該參數時該函數的性能高度依賴於系統。
SvResult:該參數返回和nvResutl返回的語言常量等價的語言名稱字符串。
--------------------------------------------------------------------------------
nItem:OS
nvResult:返回目標操作系統平臺。返回下列常量之一:
IS_WINDOWSNT -  操作系統是Windows NT。
IS_WINDOWS9X -  操作系統是Windows 95或Windows 98。爲確定是哪個,帶WINMINOR調用GetSystemInfo來檢測監控器版本。如果小於10,則操作系統是Windows 95;否則是Windows 98。
SvResult:N/A
--------------------------------------------------------------------------------
nItem:   PARALLEL
nvResult: 返回有效的物理並行口數目。
SvResult: N/A
--------------------------------------------------------------------------------
nItem:   SERIAL
nvResult: 返回有效的物理串行口數目。
SvResult: N/A
--------------------------------------------------------------------------------
nItem:   TIME
nvResult: N/A
svResult: 以HH:MM:SS格式返回當前系統時間。
--------------------------------------------------------------------------------
nItem: VIDEO
nvResult:nvResult:返回安裝的視頻適配器類型。(InstallShield不能檢測CGA或單色視頻驅動器)。返回下列常量之一:
IS_UNKNOWN -未知的用戶視頻適配器。
IS_EGA - EEGA分辨率。
IS_VGA - VGA分辨率。
IS_SVGA - SVGA(800×600)分辨率。
IS_XVGA - XVGA(1024×768)分辨率。
IS_UVGA -大於1024×768分辨率。
SvResult:N/A
--------------------------------------------------------------------------------
nItem:   VOLUMELABEL
nvResult: N/A
svResult: 傳遞你要檢索其卷標號的驅動器的驅動器指示符(驅動器字符後隨冒號)。該參數返回指定的驅動器的卷標號。如果該驅動器沒有卷標號,返回空字符串。
--------------------------------------------------------------------------------
nItem:  WINMAJOR
nvResult:返回Windows的主版本號。
SvResult:以##.###格式返回一個字符串,指明Windows的主、次版本號。
--------------------------------------------------------------------------------
nItem:  WINMINOR
nvResult:返回Windows的次版本號。
SvResult:以##.###格式返回一個字符串,指明Windows的主、次版本號。
--------------------------------------------------------------------------------
返回值:
0:表明函數成功返回指定信息。
< 0:表明函數未能返回指定信息。
3.7  GetValidDrivesList
語法:GetValidDrivesList (listID, nDriveType, nMinDriveSpace);
說明:GetValidDrivesList函數檢索目標系統的符合特定條件的所有驅動器列表。這個條件包括驅動器類型和驅動器的最小空間數。如果一個驅動器未關閉,該驅動器名仍加入列表。
你可以在驅動器羅列之前指定要查找的驅動器的類型(nDriveType)和可用的最小磁盤空間(nMinDriveSpace)。
參數:
listID
返回有效驅動器字符的一個列表。由listID標識的字符串列表必須通過對ListCreat的調用已被初始化。
nDriveType
指定要查找的驅動器的類型。在該參數位置傳遞下列預定義的常量之一:
-1:查找所有驅動器類型。
FIXED_DRIVE:僅查找硬盤驅動器。
REMOTE_DRIVE:僅查找遠程驅動器。遠程驅動器通常位於網絡。
REMOVEABLE_DRIVE:僅查找可卸式驅動器。軟盤驅動器是可卸式驅動器。
CDROM_DRIVE:僅查找光盤驅動器。
nMinDriveSpace
指定包括在返回列表中的驅動器所必須有的最小的空閒磁盤空間的字節數。如果nMinDriveSpace小於0,GetValidDrivesList將不檢測驅動器的最小空間。這對軟盤驅動器有用。
返回值:
0:函數成功檢索所要求的列表。
< 0:函數未能檢索到要求的序列。
註解:
·網絡映射驅動器也可作爲遠程驅動器返回。該函數不會返回所有網絡上的驅動器,僅返回那些標識爲映射驅動器的驅動器。
3.8  GetWindowHandle
語法:GetWindowHandle (nHwndFlag);
說明:GetWindowHandle函數得到安裝主窗口的句柄。
參數:
nHwndFlag
指定InstallShield主窗口的窗口句柄。在該參數位置傳遞預定義的常量HWND_INSTALL。
返回值:
X:X是窗口句柄。
< 0:函數未能檢索到句柄。
3.9  Is
語法:Is (nIsFlag, szIsData);
說明:Is函數檢索腳本中需要的公用信息。
參數:
nIsFlag
指定要檢索的信息類型。在該參數位置傳遞下列預定義的常量之一:
DIR_WRITEABLE:能否寫到由szIsData指定的目錄?
FILE_EXISTS:由szIsData指定的文件是否存在?
FILE_LOCKED:文件是否鎖定?
FILE_WRITEABLE:能否寫到由szIsData指定的文件?
MATH_COPROCESSOR:在目標系統是否存在一個數學協處理器?
PATH_EXISTS:由szIsData 指定的路徑是否存在?
USER_ADMINISTRATOR:當目標操作系統是Windows NT時,當前用戶是否擁有管理員特權?運行於Windows 95或更高版本下的安裝程序,Is通常在參數nFlag爲 USER_ADMINISTRATOR時返回TRUE
VALID_PATH:由szIsData指定的路徑是否一個合法路徑?它不確認路徑的存在與否,而僅檢測它的語法。當你檢索從用戶處得到的路徑信息時可以使用該常量。然後該函數會檢測輸入的路徑信息是否正確。
WINDOWS_SHARED:Microsoft Windows是否從一個網絡運行共享版本?
szIsData
指定信息,該信息依賴於傳遞給nIsFlag的常量,如下所示:
若nIsFlag是DIR_WRITEABLE,szIsData指定要被檢測的全限定路徑。
若nIsFlag是FILE_EXISTS,szIsData指定全限定文件名。
若nIsFlag是FILE_LOCKED,szIsData指定全限定文件名。
若nIsFlag是FILE_WRITEABLE,szIsData指定全限定文件名。
若nIsFlag是MATH_COPROCESSOR,szIsData指定的內容被忽略。
若nIsFlag是PATH_EXISTS,szIsData指定全限定路徑。
若nIsFlag是USER_ADMINISTRATOR,szIsData被忽略。
若nIsFlag是VALID_PATH,szIsData指定全限定路徑。
若nIsFlag是WINDOWS_SHARED,szIsData被忽略。
返回值:
TRUE (1):表明答覆爲真。
FALSE (0):表明答覆爲假。
< 0:函數未能答覆問題。
註解:
·常量WINDOWS_SHARED僅能應用於Microsoft Windows版本。一個Microsoft Windows的共享版本安裝於網絡且有可被許多用戶共享的公用文件。

 

發佈了109 篇原創文章 · 獲贊 8 · 訪問量 29萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章