亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? setup.rul

?? visual c++網絡通信程序開發指南附帶的程序所有的源碼。
?? RUL
?? 第 1 頁 / 共 2 頁
字號:

////////////////////////////////////////////////////////////////////////////////
//
//  IIIIIII SSSSSS
//    II    SS                          InstallShield (R)
//    II    SSSSSS      (c) 1996-1997, InstallShield Software Corporation
//    II        SS      (c) 1990-1996, InstallShield Corporation
//  IIIIIII SSSSSS                     All Rights Reserved.
//
//
//  This code is generated as a starting setup template.  You should
//  modify it to provide all necessary steps for your setup.
//
//
//    File Name:  Setup.rul
//
//  Description:  InstallShield script
//
//     Comments:  This template script performs a basic setup on a
//                Windows 95 or Windows NT 4.0 platform. With minor
//                modifications, this template can be adapted to create
//                new, customized setups.
//
////////////////////////////////////////////////////////////////////////////////


  // Include header file
#include "sdlang.h"
#include "sddialog.h"

////////////////////// string defines ////////////////////////////

#define UNINST_LOGFILE_NAME      "Uninst.isu"

//////////////////// installation declarations ///////////////////

  // ----- DLL prototypes -----


     // your DLL prototypes


  // ---- script prototypes -----

     // generated
     prototype ShowDialogs();
     prototype MoveFileData();
     prototype HandleMoveDataError( NUMBER );
     prototype ProcessBeforeDataMove();
     prototype ProcessAfterDataMove();
     prototype SetupRegistry();
     prototype SetupFolders();
     prototype CleanUpInstall();
     prototype SetupInstall();
     prototype SetupScreen();
     prototype CheckRequirements();
     prototype DialogShowSdWelcome();
     prototype DialogShowSdLicense();
     prototype DialogShowSdRegisterUserEx();
     prototype DialogShowSdAskDestPath();
     prototype DialogShowSdSetupType();
     prototype DialogShowSdComponentDialog2();
     prototype DialogShowSdSelectFolder();
     prototype DialogShowSdFinishReboot();

     // your prototypes


  // ----- global variables ------

     // generated
     BOOL        bWinNT, bIsShellExplorer, bInstallAborted, bIs32BitSetup;
     STRING      svDir;
     STRING      svName, svCompany, svSerial;
     STRING      szAppPath;
     STRING      svSetupType;


     // your global variables


///////////////////////////////////////////////////////////////////////////////
//
//   MAIN PROGRAM
//
//      The setup begins here by hiding the visible setup
//      window.  This is done to allow all the titles, images, etc. to
//      be established before showing the main window.  The following
//      logic then performs the setup in a series of steps.
//
///////////////////////////////////////////////////////////////////////////////
program
    Disable( BACKGROUND );

    CheckRequirements();

    SetupInstall();

    SetupScreen();

    if (ShowDialogs()<0) goto end_install;

    if (ProcessBeforeDataMove()<0) goto end_install;

    if (MoveFileData()<0) goto end_install;

    if (ProcessAfterDataMove()<0) goto end_install;

    if (SetupRegistry()<0) goto end_install;

    if (SetupFolders()<0) goto end_install;

  end_install:

    CleanUpInstall();

     // If an unrecoverable error occurred, clean up the partial installation.
     // Otherwise, exit normally.

    if (bInstallAborted) then
        abort;
    endif;

endprogram

///////////////////////////////////////////////////////////////////////////////
//                                                                           //
// Function:  ShowDialogs                                                    //
//                                                                           //
//  Purpose:  This function manages the display and navigation               //
//            the standard dialogs that exist in a setup.                    //
//                                                                           //
///////////////////////////////////////////////////////////////////////////////
function ShowDialogs()
    NUMBER  nResult;
 begin

    Dlg_Start:
        // beginning of dialogs label

    Dlg_SdWelcome:
        nResult = DialogShowSdWelcome();
        if (nResult = BACK) goto Dlg_Start;

    // 刪除上一幅位圖
    PlaceBitmap ( "" , 1 , 0, 0, REMOVE );

    // 在新位置顯示新位圖
    PlaceBitmap ( SUPPORTDIR ^"step2.bmp" , 2 , 10, 10, UPPER_RIGHT );

    Dlg_SdLicense:
        nResult = DialogShowSdLicense();
        if (nResult = BACK) goto Dlg_SdWelcome;

    // 刪除上一幅位圖
    PlaceBitmap ( "" , 2 , 0, 0, REMOVE );

    // 在新位置顯示新位圖
    PlaceBitmap ( SUPPORTDIR ^"step3.bmp" , 3 , 10, 10, LOWER_RIGHT );

    Dlg_SdRegisterUserEx:
        nResult = DialogShowSdRegisterUserEx();
        if (nResult = BACK) goto Dlg_SdLicense;

    // 刪除上一幅位圖
    PlaceBitmap ( "" , 3 , 0, 0, REMOVE );

    // 在新位置顯示新位圖
    PlaceBitmap ( SUPPORTDIR ^"step4.bmp" , 4 , 10, 100, UPPER_LEFT );

    Dlg_SdAskDestPath:
        nResult = DialogShowSdAskDestPath();
        if (nResult = BACK) goto Dlg_SdRegisterUserEx;

    Dlg_SdSetupType:
        nResult = DialogShowSdSetupType();
        if (nResult = BACK) goto Dlg_SdAskDestPath;

    // 刪除上一幅位圖
    PlaceBitmap ( "" , 4 , 0, 0, REMOVE );

    // 在新位置顯示新位圖
    PlaceBitmap ( SUPPORTDIR ^"step5.bmp" , 5 , 10, 10, LOWER_RIGHT );

    Dlg_SdComponentDialog2:
        if ((nResult = BACK) && (svSetupType != "Custom") && (svSetupType != "")) then
           goto Dlg_SdSetupType;
        endif;
        nResult = DialogShowSdComponentDialog2();
        if (nResult = BACK) goto Dlg_SdSetupType;

    Dlg_SdSelectFolder:
        nResult = DialogShowSdSelectFolder();
        if (nResult = BACK) goto Dlg_SdComponentDialog2;

    return 0;

 end;

///////////////////////////////////////////////////////////////////////////////
//                                                                           //
// Function: ProcessBeforeDataMove                                           //
//                                                                           //
//  Purpose: This function performs any necessary operations prior to the    //
//           actual data move operation.                                     //
//                                                                           //
///////////////////////////////////////////////////////////////////////////////
function ProcessBeforeDataMove()
    STRING svLogFile;
    NUMBER nResult;
 begin

  InstallationInfo( @COMPANY_NAME, @PRODUCT_NAME, @PRODUCT_VERSION, @PRODUCT_KEY );

  svLogFile = UNINST_LOGFILE_NAME;

  nResult = DeinstallStart( svDir, svLogFile, @UNINST_KEY, 0 );
  if (nResult < 0) then
      MessageBox( @ERROR_UNINSTSETUP, WARNING );
  endif;

  szAppPath = TARGETDIR; // TODO : if your application .exe is in a subdir of TARGETDIR then add subdir

  if ((bIs32BitSetup) && (bIsShellExplorer)) then
      RegDBSetItem( REGDB_APPPATH, szAppPath );
      RegDBSetItem( REGDB_APPPATH_DEFAULT, szAppPath ^ @PRODUCT_KEY );
      RegDBSetItem( REGDB_UNINSTALL_NAME, @UNINST_DISPLAY_NAME );
  endif;

  // TODO : update any items you want to process before moving the data
  //

  return 0;
 end;

///////////////////////////////////////////////////////////////////////////////
//                                                                           //
// Function:  MoveFileData                                                   //
//                                                                           //
//  Purpose:  This function handles the data movement for                    //
//            the setup.                                                     //
//                                                                           //
///////////////////////////////////////////////////////////////////////////////
function MoveFileData()
    NUMBER nResult, nDisk;
 begin

  nDisk = 1;
  SetStatusWindow( 0, "" );
  Disable( DIALOGCACHE );
  Enable( STATUS );
  StatusUpdate( ON, 100 );
  nResult = ComponentMoveData( MEDIA, nDisk, 0 );

  HandleMoveDataError( nResult );

  Disable( STATUS );

  return nResult;

 end;


///////////////////////////////////////////////////////////////////////////////
//                                                                           //
// Function: HandleMoveDataError                                             //
//                                                                           //
//  Purpose: This function handles the error (if any) during the move data   //
//           operation.                                                      //
//                                                                           //
///////////////////////////////////////////////////////////////////////////////
function HandleMoveDataError( nResult )
    STRING szErrMsg, svComponent , svFileGroup , svFile;
 begin

  svComponent = "";
  svFileGroup = "";
  svFile = "";

  switch (nResult)
  case 0:
       return 0;
  default:
       ComponentError ( MEDIA , svComponent , svFileGroup , svFile , nResult );
       szErrMsg = @ERROR_MOVEDATA  + "\n\n" +
                  @ERROR_COMPONENT + " " + svComponent + "\n" +
                  @ERROR_FILEGROUP + " " + svFileGroup + "\n" +
                  @ERROR_FILE      + " " + svFile;
       SprintfBox( SEVERE, @TITLE_CAPTIONBAR, szErrMsg, nResult );
       bInstallAborted = TRUE;
       return nResult;
  endswitch;

 end;

///////////////////////////////////////////////////////////////////////////////
//                                                                           //
// Function: ProcessAfterDataMove                                            //
//                                                                           //
//  Purpose: This function performs any necessary operations needed after    //
//           all data has been moved.                                        //
//                                                                           //
///////////////////////////////////////////////////////////////////////////////
function ProcessAfterDataMove()
 begin

  // TODO : update self-registered files and other processes that
  //        should be performed after the data has been moved.


  return 0;
 end;

///////////////////////////////////////////////////////////////////////////////
//                                                                           //
// Function: SetupRegistry                                                   //
//                                                                           //
//  Purpose: This function makes the registry entries for this setup.        //
//                                                                           //
///////////////////////////////////////////////////////////////////////////////
function SetupRegistry()
 NUMBER nResult;

 begin

  // TODO : Add all your registry entry keys here
  //
  //
  //    RegDBCreateKeyEx, RegDBSetKeyValueEx....
  //

  nResult = CreateRegistrySet( "" );

  return nResult;
 end;

///////////////////////////////////////////////////////////////////////////////
//
// Function: SetupFolders
//
//  Purpose: This function creates all the folders and shortcuts for the
//           setup.  This includes program groups and items for Windows 3.1.
//
///////////////////////////////////////////////////////////////////////////////
function SetupFolders()
 NUMBER nResult;

 begin


  // TODO : Add all your folder (program group) along with shortcuts (program items)
  //
  //
  //    CreateProgramFolder, AddFolderIcon....
  //

  nResult = CreateShellObjects( "" );

  return nResult;
 end;

///////////////////////////////////////////////////////////////////////////////
//                                                                           //
// Function: CleanUpInstall                                                  //
//                                                                           //
//  Purpose: This cleans up the setup.  Anything that should                 //
//           be released or deleted at the end of the setup should           //
//           be done here.                                                   //
//                                                                           //
///////////////////////////////////////////////////////////////////////////////

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
日本一区二区视频在线| 91麻豆免费视频| 日韩一级片网址| 午夜精品久久久久久久久| 在线观看av不卡| 亚洲1区2区3区视频| 91精品国产一区二区三区蜜臀 | 亚洲精品国产精华液| 一本高清dvd不卡在线观看| 亚洲自拍偷拍网站| 欧美一区二区在线观看| 国产一级精品在线| 国产精品二区一区二区aⅴ污介绍| av综合在线播放| 婷婷久久综合九色国产成人 | 欧美国产国产综合| 99精品视频在线免费观看| 天堂午夜影视日韩欧美一区二区| 欧美成人综合网站| 99精品欧美一区二区蜜桃免费| 亚洲女同一区二区| 日韩三级视频在线观看| av亚洲精华国产精华精华 | 国内精品伊人久久久久av一坑| 国产精品视频观看| 欧美日韩国产片| 成人亚洲一区二区一| 亚洲制服欧美中文字幕中文字幕| 欧美成人精品高清在线播放| 色综合色综合色综合色综合色综合| 日韩和欧美一区二区| 国产精品久久久久久久岛一牛影视| 欧美日韩亚洲综合在线| 国产91精品久久久久久久网曝门 | 亚洲人午夜精品天堂一二香蕉| 欧美电影一区二区三区| 成人中文字幕在线| 老司机午夜精品99久久| 国产午夜精品理论片a级大结局| 91丨九色丨黑人外教| 老司机精品视频线观看86| 一区免费观看视频| 26uuu国产日韩综合| 欧美三级在线视频| 自拍偷拍亚洲综合| 91视频免费观看| 精品一区在线看| 亚洲gay无套男同| 最新国产の精品合集bt伙计| 久久老女人爱爱| 欧美一三区三区四区免费在线看 | 日本在线不卡视频| 国产精品成人免费精品自在线观看 | 亚洲国产成人高清精品| 中文字幕中文字幕一区| 精品电影一区二区| 日韩午夜电影在线观看| 在线观看一区二区精品视频| www.亚洲免费av| 高清在线成人网| 国内精品伊人久久久久av影院| 美女在线视频一区| 丝袜诱惑制服诱惑色一区在线观看| 亚洲精品国产成人久久av盗摄| 国产精品五月天| 欧美激情一区三区| 欧美激情一区二区三区蜜桃视频| 欧美刺激脚交jootjob| 日韩美女在线视频 | 久久久激情视频| 欧美精品一区二区精品网| 精品福利一区二区三区| 欧美不卡123| 精品国产乱码久久久久久久久| 欧美成人午夜电影| 2023国产精品自拍| 久久精品夜色噜噜亚洲a∨| 精品粉嫩超白一线天av| 国产午夜精品一区二区三区嫩草| 国产亚洲成av人在线观看导航| 久久免费的精品国产v∧| 久久精品视频一区二区三区| 国产网站一区二区三区| 国产精品成人免费| 亚洲主播在线观看| 奇米在线7777在线精品| 精品一区二区免费在线观看| 国产麻豆精品在线| 99久久精品99国产精品| 在线看日韩精品电影| 欧美日韩中文字幕精品| 日韩欧美亚洲另类制服综合在线| 久久综合久久综合亚洲| 狠狠色狠狠色综合| 国产精品综合一区二区三区| 成人国产精品免费| 91在线观看视频| 欧美日本在线播放| 日韩天堂在线观看| 欧美激情在线免费观看| 亚洲永久精品大片| 日本免费在线视频不卡一不卡二| 精品无码三级在线观看视频| 福利一区福利二区| 欧美中文字幕一二三区视频| 欧美电影免费观看高清完整版在| 国产欧美中文在线| 一区二区免费视频| 精品亚洲porn| 欧美性感一区二区三区| 日韩视频一区二区三区在线播放| 欧美韩日一区二区三区四区| 一二三四社区欧美黄| 久久精品国产秦先生| 91免费视频观看| 精品少妇一区二区三区视频免付费 | 国产日韩欧美一区二区三区乱码| 一区二区三区在线免费观看| 麻豆国产精品一区二区三区 | 91免费观看视频在线| 日韩一二三区视频| 中文字幕一区日韩精品欧美| 日本亚洲天堂网| 99精品一区二区| 26uuu国产日韩综合| 亚洲成a天堂v人片| 成人国产精品免费观看动漫| 欧美一级免费观看| 亚洲欧美视频一区| 国精产品一区一区三区mba视频| 色婷婷av一区二区三区软件| 久久久久亚洲蜜桃| 日韩影院在线观看| 一本一本久久a久久精品综合麻豆 一本一道波多野结衣一区二区 | 午夜精品一区二区三区免费视频| 国产福利一区二区三区| 欧美一区二区三区四区高清| 亚洲女性喷水在线观看一区| 国产黄色精品视频| 精品捆绑美女sm三区| 午夜伦欧美伦电影理论片| 色综合亚洲欧洲| 国产精品免费av| 国产精品一二三四五| 欧美一区二区精品在线| 亚洲妇女屁股眼交7| 色综合网色综合| 国产精品久久久久天堂| 国产乱码精品一区二区三| 精品三级在线看| 三级一区在线视频先锋| 欧美视频一区二区三区在线观看 | 一区二区三区欧美日| 91美女精品福利| 亚洲v精品v日韩v欧美v专区| 免费的成人av| 欧美一区二区成人6969| 亚洲国产cao| 欧美丰满高潮xxxx喷水动漫| 成人精品视频.| 国产亚洲成aⅴ人片在线观看 | 狂野欧美性猛交blacked| 欧美色网站导航| 亚洲国产欧美日韩另类综合| 欧美性受极品xxxx喷水| 亚洲精品乱码久久久久久| 91香蕉视频污在线| 一区二区三区不卡在线观看 | 99久久精品免费看国产免费软件| 国产欧美一区二区三区在线老狼| 国产成人在线视频网站| 久久久国产综合精品女国产盗摄| 久久国内精品自在自线400部| 777久久久精品| 日韩综合一区二区| 欧美成人video| 国产成人在线视频网址| 中文字幕日本不卡| 色综合色综合色综合色综合色综合| 亚洲精品高清在线| 欧美日本在线播放| 美美哒免费高清在线观看视频一区二区| 91精品国产全国免费观看| 蜜桃视频在线观看一区二区| www国产精品av| www.成人网.com| 伊人色综合久久天天| 在线电影院国产精品| 久久99国产精品免费网站| 国产精品免费视频观看| 欧美亚洲愉拍一区二区| 麻豆国产精品一区二区三区| 亚洲国产成人在线| 在线观看av一区二区| 久草中文综合在线| 国产精品动漫网站| 91精品国产综合久久精品app | 韩国精品一区二区| 国产精品久久久久影院| 777精品伊人久久久久大香线蕉|