• 手写installshield入门


    进入installation designer 窗口

    点击左边树导航中的 installscript

    要使用 installshild自带的向导窗口 必须先 添加两个头文件

    #include "ifx.h"
    #include "SdDialog.h"  

    定义变量 必须在 program 与endprogram之外

    比如 添加 变量

    STRING title; 
    string path,asktext;   

    在intallscript中式区分大小写的   除了BOOL、HWND及LIST类型不能使用小写外,其余的数据类型还有其小写形式

    函数的定义必须在开头  也是 program之外

    prototype alert(BYREF STRING);

    后面必须要实现该函数

    实现代码 为

    function alert(title)
    begin  
            SetDialogTitle(DLG_MSG_INFORMATION,title);
               MessageBox(title,INFORMATION) ;
      
    end;

    BYREF 表示是引用调用

    比如 我们现在添加下面一段代码

    program   
          start:
          SetTitle("开始",24,BLACK);
          title="liaomin";
          path="c:/dlp";  
          Welcome("欢迎使用",0);
          //SdAskDestPath添加一个选择安装路径的对话框        
          //第一个参数表示 窗口标题 ,第二个参数是窗口的描述 如果是“”则使用默认的 第三个参数
          //是默认的路径 如果重新选择 新的值会被赋予给path
          if(SdAskDestPath(title,"我的东西我做主",path,0)=NEXT)  then   
          TARGETDIR=path;
          endif;
       
          //和messagebox一样的方法   
          SprintfBox(INFORMATION,"日你","你选择的路径是:"+path);  
          //添加一个输入对话框的窗口 值会自动赋给asktext变量
          while(TRUE)
          //第二个参数是默认值
          if(AskText("请输入没完成的理由","理由",asktext)==NEXT) then     
             if(StrLengthChars(asktext)<6) then        
                MessageBox("请输入的理由大于6位",INFORMATION);
             else
                goto endthis;
             endif;
          endif;
          endwhile;  
          endthis:
          //第二个参数是默认选中的是YES      当然也有 if then  elseif then endif语句
          result=AskYesNo("你确定要完成了吗",YES);
          if(result=YES) then
            MessageBox("完成了关闭它,sb",INFORMATION);
          else
            MessageBox("没完成重新来一遍",INFORMATION); 
           
            goto start;
          endif;
    endprogram 

    program 就是安装程序一直在运行的过程就是在该语句块中定义的

    比如要加什么对话框 之类的

    点击左边树窗口的dialog    右边列出了所有的窗口

    你要调用什么就用  窗口的名字  调用就行了  入口不知道传递什么参数  选中函数名 按F1  帮组文档讲的非常详细

    如果要查什么函数 也是一样的  按F1 后 想个大概名称  比如 删除文件  

    大概 想到是 DeleteFile  帮助文档搜索一下 果然有

  • 相关阅读:
    (转)A*算法详解及习题
    BZOJ1444[Jsoi2009]有趣的游戏——AC自动机+概率DP+矩阵乘法
    交通——set+dsu on tree
    [Codeforces1132G]Greedy Subsequences——线段树+单调栈
    BZOJ4482[Jsoi2015]套娃——贪心+set
    BZOJ4477[Jsoi2015]字符串树——可持久化trie树
    BZOJ4475[Jsoi2015]子集选取——递推(结论题)
    [UOJ86]mx的组合数——NTT+数位DP+原根与指标+卢卡斯定理
    BZOJ2428[HAOI2006]均分数据——模拟退火
    BZOJ4712洪水——动态DP+树链剖分+线段树
  • 原文地址:https://www.cnblogs.com/liaomin416100569/p/9331574.html
Copyright © 2020-2023  润新知