分享
 
 
 

InstallShield内部库函数之3 信息函数

王朝other·作者佚名  2006-01-08
窄屏简体版  字體: |||超大  

InstallShield内部库函数之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的共享版本安装于网络且有可被许多用户共享的公用文件。

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
2023年上半年GDP全球前十五强
 百态   2023-10-24
美众议院议长启动对拜登的弹劾调查
 百态   2023-09-13
上海、济南、武汉等多地出现不明坠落物
 探索   2023-09-06
印度或要将国名改为“巴拉特”
 百态   2023-09-06
男子为女友送行,买票不登机被捕
 百态   2023-08-20
手机地震预警功能怎么开?
 干货   2023-08-06
女子4年卖2套房花700多万做美容:不但没变美脸,面部还出现变形
 百态   2023-08-04
住户一楼被水淹 还冲来8头猪
 百态   2023-07-31
女子体内爬出大量瓜子状活虫
 百态   2023-07-25
地球连续35年收到神秘规律性信号,网友:不要回答!
 探索   2023-07-21
全球镓价格本周大涨27%
 探索   2023-07-09
钱都流向了那些不缺钱的人,苦都留给了能吃苦的人
 探索   2023-07-02
倩女手游刀客魅者强控制(强混乱强眩晕强睡眠)和对应控制抗性的关系
 百态   2020-08-20
美国5月9日最新疫情:美国确诊人数突破131万
 百态   2020-05-09
荷兰政府宣布将集体辞职
 干货   2020-04-30
倩女幽魂手游师徒任务情义春秋猜成语答案逍遥观:鹏程万里
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案神机营:射石饮羽
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案昆仑山:拔刀相助
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案天工阁:鬼斧神工
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案丝路古道:单枪匹马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:与虎谋皮
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:李代桃僵
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:指鹿为马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:小鸟依人
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:千金买邻
 干货   2019-11-12
 
推荐阅读
 
 
 
>>返回首頁<<
 
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有