|
正式会员享受无限制浏览网站功能和高速网盘下载,赶快加入本站吧!
您需要 登录 才可以下载或查看,没有账号?立即注册
x
这里我们以办公软件2003版本为实例,首先判断目标机是否安装了Office 2003 Outlook,之后启动。
具体代码如下:
- function OnBegin()
- STRING svInstalledPath, szKeyRoot;
- NUMBER nvSize, nType;
- begin
- RegDBSetDefaultRoot ( HKEY_LOCAL_MACHINE );
- szKeyRoot = "SOFTWARE\\Microsoft\\Office\\11.0\\Outlook\\InstallRoot";
- nType = REGDB_STRING;
-
- if (RegDBKeyExist (szKeyRoot) < 0) then
- MessageBox ("RegDBKeyExist failed.", SEVERE);
- else
- if ( RegDBGetKeyValueEx (szKeyRoot, "Path", nType, svInstalledPath, nvSize) < 0 ) then
- MessageBox ("RegDBGetKeyValueEx failed.", SEVERE);
- else
- LaunchAppAndWait(svInstalledPath + "Outlook.exe", "", NOWAIT);
- endif;
- endif;
- end;
复制代码
在用RegDBGetKeyValueEx读取数据时,在给入的第三个参数中,我直接给了REGDB_STRING,结果编译报错(error C8046),只好先定义了一个NUMBER类型的变量nType,然后将nType给入才通过了编译。 |
|