zoukankan      html  css  js  c++  java
  • 关于NSIS脚本的Demo

    这个NSIS脚本是打包公司的整个Release项目工程。

    用NSIS编译器编译下就可以了。

    ; Script generated by the HM NIS Edit Script Wizard.
     !include "StrFunc.nsh"
    ; HM NIS Edit Wizard helper defines
    !define PRODUCT_NAME "dlf_setup_v2.0"
    !define PRODUCT_VERSION "2.0"
    !define PRODUCT_PUBLISHER "DouBan Inc."
    !define PRODUCT_WEB_SITE "http://wwwdouban.com"
    !define PRODUCT_DIR_REGKEY "SoftwareMicrosoftWindowsCurrentVersionApp Pathsmakensis.exe"
    !define PRODUCT_UNINST_KEY "SoftwareMicrosoftWindowsCurrentVersionUninstall${PRODUCT_NAME}"
    !define PRODUCT_UNINST_ROOT_KEY "HKLM"
    !define INSTALL_DIR_FILENAME "DouBan"
    
    ; MUI 1.67 compatible ------
    !include "MUI.nsh"
    !include "LogicLib.nsh"
    !include "x64.nsh"
    !include "EnvVarUpdate.nsh"
    !include "WinVer.nsh"
    
    ; MUI Settings
    !define MUI_ABORTWARNING
    !define MUI_ICON "${NSISDIR}ContribGraphicsIconsWintech.ico"
    !define MUI_UNICON "${NSISDIR}ContribGraphicsIconsWintech.ico"
    
    ; Welcome page
    !insertmacro MUI_PAGE_WELCOME
    ; License page
    ;!insertmacro MUI_PAGE_LICENSE "${NSISDIR}License.txt"
    ; Directory page
    !insertmacro MUI_PAGE_DIRECTORY
    ; Instfiles page
    !insertmacro MUI_PAGE_INSTFILES
    ; Finish page
    ;!define MUI_FINISHPAGE_RUN "$INSTDIRinwlp_exe_gui.exe"
    ;!define MUI_FINISHPAGE_SHOWREADME "$INSTDIR
    eadme.txt"
    !insertmacro MUI_PAGE_FINISH
    
    ; Uninstaller pages
    !insertmacro MUI_UNPAGE_INSTFILES
    
    ; Language files
    !insertmacro MUI_LANGUAGE "English"
    
    !echo "Running${out_suffix}"
    
    ; MUI end ------
    
    RequestExecutionLevel admin
    
    
    
    Name "${PRODUCT_NAME} ${PRODUCT_VERSION}"
    OutFile "dlf_setup_${out_suffix}.exe"
    InstallDir "$PROGRAMFILES${INSTALL_DIR_FILENAME}"
    InstallDirRegKey HKLM "${PRODUCT_DIR_REGKEY}" ""
    ShowInstDetails show
    ShowUnInstDetails show
    
    Section "MainSection" SEC01
    
      ${EnvVarUpdate} $0 "PATH" "A" "HKLM" "$INSTDIRin" ; appends to the system path
      SetOutPath "$INSTDIR"
      SetOverwrite ifnewer
      File "${NSISDIR}makensis.exe"
      CreateDirectory "$INSTDIR"
      ;CreateShortCut "$SMPROGRAMS${INSTALL_DIR_FILENAME}${INSTALL_DIR_FILENAME}.lnk" "$INSTDIRmakensis.exe"
      ;CreateShortCut "$DESKTOP${INSTALL_DIR_FILENAME}.lnk" "$INSTDIRmakensis.exe"
      CreateShortCut "$DESKTOPWinTech.lnk" "$INSTDIRinwlp_exe_gui.exe"
      
      File "${NSISDIR}License.txt"
      File /r "setup*"
      File /r "DLP4100 FPGA Program file*"
      Var /GLOBAL WINDOWS_ARCHITECTURE
       ;这里用了GetVersion插件,但是该插件的作者已经停止维护了,
       ;但是不得已,需要使用,把GetVersion.dll放到了NSIS的插件目录下
       GetVersion::WindowsPlatformArchitecture
       Pop $WINDOWS_ARCHITECTURE ; 32 or 64
      
     ; MessageBox MB_OK "${Version}" 
     ; ${GetWindowsVersion} $R0
      
    
      
      
      ${If} ${IsWinXP} 
          
          
          ${If}   "$WINDOWS_ARCHITECTURE" != "32"
    	      MessageBox MB_OK  "Sorry this application cannot run on this machine architecture!" 
    	      Quit ;结束整个安装进程
    	  ${EndIf}
    	  ${If}   "${Version32}" != "X86"
    	      MessageBox MB_OK  "Sorry this application cannot run on this machine architecture!" 
    	      Quit ;结束整个安装进程
    	  ${EndIf}
      ${EndIf}
     
     
     ${If} ${IsWin7}
      ${If} "X$WINDOWS_ARCHITECTURE" != "${Version64}"
          MessageBox MB_OK  "Sorry this application cannot run on this machine architecture!" 
    	  Quit ;结束整个安装进程
      ${EndIf}
     ${EndIf}
      
     ${If} ${IsWin7}
    
       
          
          Exec '"$INSTDIRindriverwin7dpinst.exe" /c /f /se /sw /path "$INSTDIRindriverwin7"'
          ExecWait '"$INSTDIRinvs2010sp1vcredist.exe" /q'
       
       
      
     ${EndIf}
     
      
      
      ;${If} ${IsWinXP} 
       
       ;Exec '"$INSTDIRindriverwin7Psexec.exe"  -i  -d  -s  "$INSTDIRindriverwin7install_wdf_driver.exe"' 
       ;ExecWait '"$INSTDIRinvs2010sp1vcredist.exe" /q'
     
      ;${EndIf}
      
       ${If} ${IsWinXP} 
       
         
         ExecWait '"$INSTDIRinvs2010sp1vcredist.exe" /q'
    	 
    	 MessageBox MB_OK "You Must Install Driver manually! The Driver Installation Instruction is located in ReadMe.txt"
     
      ${EndIf}
      
      
      ExecShell open "$INSTDIR"
    
    
       
     
    ;Detect windows is 32bit or 64bit
     
    
    ;${If} ${RunningX64}
    ; 64bit bits go here
     ; Exec '"$INSTDIRindriverwin7Psexec.exe"  -i  -d  -s  "$INSTDIRindriverwin7install_wdf_driver.exe"' 
      ;-i -d -s "$INSTDIRinDriverwin7install_wdf_driver.exe"'
      
      
     ; Exec "$INSTDIRindriverwin7install_wdf_driver.exe"
      ;ExecWait '"$INSTDIRinvs2010sp1vcredist.exe" /q'
      
    ;${Else}
    ; 32bit bits go here
     ;  Exec '"$INSTDIRindriverwin7Psexec.exe"  -i  -d  -s  "$INSTDIRindriverwin7install_wdf_driver.exe"' 
     ; ExecWait '"$INSTDIRinvs2010sp1vcredist.exe"   /q'
    ;${EndIf}
     
    
      
    SectionEnd
    
    Section -AdditionalIcons
      WriteIniStr "$INSTDIR${PRODUCT_NAME}.url" "InternetShortcut" "URL" "${PRODUCT_WEB_SITE}"
      CreateShortCut "$SMPROGRAMSMyScriptWebsite.lnk" "$INSTDIR${PRODUCT_NAME}.url"
      CreateShortCut "$SMPROGRAMSMyScriptUninstall.lnk" "$INSTDIRuninst.exe"
    SectionEnd
    
    Section -Post
      WriteUninstaller "$INSTDIRuninst.exe"
      WriteRegStr HKLM "${PRODUCT_DIR_REGKEY}" "" "$INSTDIRmakensis.exe"
      WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "DisplayName" "$(^Name)"
      WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "UninstallString" "$INSTDIRuninst.exe"
      WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "DisplayIcon" "$INSTDIRmakensis.exe"
      WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "DisplayVersion" "${PRODUCT_VERSION}"
      WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "URLInfoAbout" "${PRODUCT_WEB_SITE}"
      WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "Publisher" "${PRODUCT_PUBLISHER}"
    SectionEnd
    
    
    Function un.onUninstSuccess
      HideWindow
      MessageBox MB_ICONINFORMATION|MB_OK "$(^Name) 已成功地从你的计算机移除。"
    FunctionEnd
    
    Function un.onInit
      MessageBox MB_ICONQUESTION|MB_YESNO|MB_DEFBUTTON2 "你确实要完全移除 $(^Name) ,其及所有的组件?" IDYES +2
      Abort
    FunctionEnd
    
    Section Uninstall
      Delete "$INSTDIR${PRODUCT_NAME}.url"
      Delete "$INSTDIRuninst.exe"
      Delete "$INSTDIRsetup"
      Delete "$INSTDIRLicense.txt"
      Delete "$INSTDIRmakensis.exe"
    
      Delete "$SMPROGRAMS${INSTALL_DIR_FILENAME}Uninstall.lnk"
      Delete "$SMPROGRAMS${INSTALL_DIR_FILENAME}Website.lnk"
      Delete "$DESKTOP${INSTALL_DIR_FILENAME}.lnk"
      Delete "$SMPROGRAMS${INSTALL_DIR_FILENAME}${INSTALL_DIR_FILENAME}.lnk"
    
      RMDir "$SMPROGRAMS${INSTALL_DIR_FILENAME}"
      RMDir "$INSTDIR"
    
      DeleteRegKey ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}"
      DeleteRegKey HKLM "${PRODUCT_DIR_REGKEY}"
      SetAutoClose true
    SectionEnd
    

      一些常用的NSIS代码

      1 ;获取操作系统盘符
      2 ReadEnvStr $R0 SYSTEMDRIVE
      3 ;创建log文件夹
      4 CreateDirectory "$R0log"
      5 ;递归删除log文件夹
      6 RMDir /r "$R0log"
      7 
      8 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
      9 
     10 ;弹出Windows关机框
     11 FindWindow $0 "shell_traywnd"
     12 SendMessage $0 273 506 0
     13 
     14 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
     15 
     16 ;请求Windows帮助
     17 FindWindow $0 "shell_traywnd"
     18 SendMessage $0 273 503 0
     19 
     20 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
     21 
     22 ;一句话刷新屏幕
     23 System::Call 'Shell32::SHChangeNotify(i 0x8000000, i 0, i 0, i 0)'
     24 
     25 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
     26 
     27 ;打开桌面属性
     28 ;...cpl,0,3'中的3可以改为
     29 ;-1 主题 0 壁纸 1 屏保 2 外观 3 设置
     30 Exec 'Rundll32.exe shell32.dll,Control_RunDLL Desk.cpl,0,3'  ;打开"设置"
     31 
     32 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
     33 
     34 ;获得安装程序所在目录
     35 System::Call 'kernel32::GetCurrentDirectory(i 1024,t .R1)'
     36 MessageBox MB_OK '安装程序所在目录:$R1'
     37 ;或者直接使用变量
     38 MessageBox MB_OK '文件名$EXEFILE,所在文件夹$EXEDIR,完整路径$EXEPATH。'
     39 
     40 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
     41 
     42 ;获得当前安装程序进程PID
     43 System::Call 'kernel32::GetCurrentProcessId()i .R0'
     44 MessageBox MB_OK '安装程序进程PID:$R0'
     45 
     46 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
     47 
     48 ;获得磁盘卷标
     49 StrCpy $R0 "C:"
     50 System::Call 'kernel32::GetVolumeInformationA(t R0,t .R1,i 100,i .R3,i .R4,i .R5,t .R6,i 100)'
     51 MessageBox MB_OK '盘符:$R0$
    卷标:$R1$
    文件格式:$R6'
     52 
     53 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
     54 
     55 ;设置磁盘卷标
     56 StrCpy $R0 "C:" ;盘符
     57 StrCpy $R1 "系统" ;卷标
     58 System::Call 'kernel32::SetVolumeLabelA(t R0,t R1)'
     59 
     60 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
     61 
     62 ;设置文件属性
     63 StrCpy $R0 "C:1.EXE" ;文件
     64 StrCpy $R1 0x20         ;属性
     65 System::Call 'kernel32::SetFileAttributesA(t R0,i 0x100)'
     66 ;属性表
     67 ;0x20   FILE_ATTRIBUTE_ARCHIVE,存档
     68 ;0x2 FILE_ATTRIBUTE_HIDDEN,隐藏
     69 ;0x80 FILE_ATTRIBUTE_NORMAL,正常
     70 ;0x2000 FILE_ATTRIBUTE_NOT_CONTENT_INDEXED,不索引
     71 ;0x1000 FILE_ATTRIBUTE_OFFLINE,离线
     72 ;0x1    FILE_ATTRIBUTE_READONLY,只读
     73 ;0x4 FILE_ATTRIBUTE_SYSTEM,系统
     74 ;0x100  FILE_ATTRIBUTE_TEMPORARY,;临时属性(一般无效)
     75 
     76 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
     77 
     78 ;在WIN7任务栏中增加图标链接
     79 SetOutPath $WINDIR
     80 CreateShortcut "$DESKTOP记事本.lnk" "$WINDIR
    otepad.exe"
     81 ExecShell taskbarpin "$DESKTOP记事本.lnk"
     82 
     83 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
     84 
     85 ;安装结束后调用HTTP下载插件下载文件并运行
     86 Function .onGUIEnd
     87 NSISdl::download "http://www.flighty.cn/服务器文件名.exe" "本地文件名.exe"
     88 Pop $R0 ;获取返回值
     89   StrCmp $R0 "success" +3
     90     MessageBox MB_OK "下载失败,原因: $R0"
     91     Quit
     92 exec ""本地文件名.exe"" 
     93 FunctionEnd
     94 
     95 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
     96 
     97 ;隐藏/显示文件扩展名实时生效,写入 0 (0x00000000) 显示或 1 (0x00000001) 来隐藏
     98 WriteRegDWORD HKCU "SoftwareMicrosoftWindowsCurrentVersionExplorerAdvanced" "HideFileExt" 0x00000001
     99 SendMessage ${HWND_BROADCAST} ${WM_SETTINGCHANGE} 0 "STR:ShellState"
    100 System::Call "shell32::SHChangeNotify(i0x08000000,i0,i0,i0)"
    101 
    102 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
    103 
    104 OutFile "ScreenRes.exe"
    105 Name "获取当前屏幕分辨率"
    106 Caption "获取当前屏幕分辨率"
    107 XPStyle "on"
    108 
    109 Function ".onInit"
    110 System::Call 'user32::GetSystemMetrics(i 0) i .r0'
    111 System::Call 'user32::GetSystemMetrics(i 1) i .r1'
    112 MessageBox MB_OK|MB_ICONINFORMATION "当前屏幕分辨率为: $
    $
    $0 X $1"
    113 Quit
    114 FunctionEnd
    115 
    116 Section "轻狂志"
    117 ;您的其他代码
    118 SectionEnd
    119 
    120 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
    121 
    122 OutFile flighty.exe
    123 Section "将轻狂志设为首页"
    124     WriteRegStr HKCU "SoftwareMicrosoftInternet ExplorerMain" "Start Page" http://www.flighty.cn
    125 SectionEnd
    126 
    127 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
    128 
    129 ;调用 Windows API 来获取运行时间
    130 System::Alloc 16
    131 System::Call kernel32::GetLocalTime(isR0)
    132 System::Call *$R0(&i2.R1,&i2.R2,&i2.R3,&i2.R4,&i2.R5,&i2.R6,&i2.R7,&i2.R8)
    133 System::Free $R0
    134 MessageBox MB_OK "$R1年$R2月$R4日,星期$R3,$R5:$R6:$R7.$R8"
    135 
    136 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
    137 
    138 ;使用MiscButtonText修改按钮文本
    139 ;分别对应[上一步]、[下一步]、[取消]、[关闭],如果留空参数,则使用默认值
    140 MiscButtonText "" "" "" "完成(&G)"
    141 ;安装过程页面
    142 !insertmacro MUI_PAGE_INSTFILES
    143 
    144 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
    145 
    146 
    147 ;清除目录权限及设置目录权限
    148 AccessControl::DisableFileInheritance "$INSTDIR" ;禁止继承
    149 AccessControl::ClearOnFile "$INSTDIR" "(S-1-1-0)" "FullAccess" ;设置Everyone权限
    150 
    151 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
    152 
    153 Name "获得CPU和BIOS信息"
    154 OutFile "flighty.exe"
    155 
    156 Section
    157 SectionEnd
    158 
    159 Function .onInit
    160   ReadRegStr $0 HKLM "HARDWAREDESCRIPTIONSystemCentralProcessor" "VendorIdentifier"
    161   ReadRegStr $1 HKLM "HARDWAREDESCRIPTIONSystemCentralProcessor" "ProcessorNameString"
    162   ReadRegStr $2 HKLM "HARDWAREDESCRIPTIONSystemCentralProcessor" "Identifier"
    163   ReadRegStr $3 HKLM "HARDWAREDESCRIPTIONSystemCentralProcessor" "~MHz"
    164 
    165   ReadRegStr $4 HKLM "HARDWAREDESCRIPTIONSystemBIOS" "BaseBoardManufacturer"
    166   ReadRegStr $5 HKLM "HARDWAREDESCRIPTIONSystemBIOS" "BIOSVersion"
    167   ReadRegStr $6 HKLM "HARDWAREDESCRIPTIONSystemBIOS" "BIOSReleaseDate"
    168   MessageBox MB_OK|MB_ICONEXCLAMATION "CPU制造商$0  $
    $
    CPU型号$1  $
    $
    CPU标识$2  $
    $
    CPU主频$3  $
    $
    $
    $
    主板品牌$4  $
    $
    主板BIOS版本$5  $
    $
    主板BIOS日期$6"
    169     Abort
    170 FunctionEnd
    171 
    172 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
    173 
    174 Name "判断操作系统位宽"
    175 OutFile "判断操作系统位宽.exe"
    176 !include "x64.nsh"
    177 
    178 Section
    179 SectionEnd
    180 
    181 Function .onInit
    182 ${If} ${RunningX64}
    183   MessageBox MB_OK "64"
    184 ${Else}
    185   MessageBox MB_OK "32"
    186 ${EndIf}
    187 FunctionEnd
    188 
    189 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
    190 
    191 ;在 hosts 文件中追加地址屏蔽脚本
    192 ClearErrors
    193 SetFileAttributes "$SYSDIRdriversetchosts" NORMAL ;去只读属性
    194 FileOpen $9 $SYSDIRdriversetchosts a ;追加数据
    195 ;FileSeek $9 0 END ;指针定位到相对于文件结尾
    196 FileWrite $9 "127.0.0.1 adcount.sandai.net $
    $
    "
    197 FileWrite $9 "127.0.0.1 biz4.sandai.net $
    $
    "
    198 ;下面自己加
    199 SetFileAttributes "$SYSDIRdriversetchosts" READONLY ;加只读属性
    200 FileClose $9 ;关闭打开的文件
    201 
    202 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
    203 
    204 
    205 ;对比两个文件的时间,如两个时间相等,就返回0;如R0小于R1,返回-1;如R1小于R0,返回1
    206 StrCpy $R0 "C:oot.ini"
    207 StrCpy $R1 "C:AUTOEXEC.BAT"
    208 System::Call 'kernel32::CompareFileTime(t R0,t R1) i.R2'
    209 MessageBox MB_OK '文件$R0与$R1时间比较结果$R2'
    210 
    211 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
    212 
    213 ;注册apache服务器, -n MyWebServer表示apache2注册服务名为MyWebServer,默认服务名为Apache2
    214 nsExec::ExecToLog 'cmd.exe /c "$INSTDIR/apache2/bin/httpd.exe" -k install -n MyWebServer' 
    215 
    216 ;注册MySQL服务器, MyDBServer表示MySQL注册服务名为MyDBServer,默认服务名为MySQL
    217 nsExec::ExecToLog 'cmd.exe /c "$INSTDIR/mysql5/bin/mysqld-nt.exe" -install MyDBServer'
    218 
    219 ;启动apache服务和MySQL服务
    220 nsExec::ExecToLog 'cmd.exe /c "$INSTDIR/apache2/bin/httpd.exe" -k start -n MyWebServer'
    221 ;或者   
    222 nsExec::ExecToLog 'cmd.exe /c net start MyWebServer'
    223 nsExec::ExecToLog 'cmd.exe /c net start MyDBServer'
    224 
    225 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
    226 
    227 ;从注册表中读取操作系统语言
    228 ReadRegStr $0 HKLM "SYSTEMCurrentControlSetControlNlsLanguage" "Default"
    229 ${If} $0 = 0804
    230     MessageBox MB_OK "您的操作系统语言为简体中文。"
    231 ${ElseIf} $0 == 0404
    232     MessageBox MB_OK "您的操作系统语言为繁体中文。"
    233 ${ElseIf} $0 == 0409
    234     MessageBox MB_OK "您的操作系统语言为英文。"
    235 ${EndIf}

    reference: 

    http://www.flighty.cn/plus/view.php?aid=156

  • 相关阅读:
    项目模版(C#),已配置好 Log4net 、AjaxPro 和 AjaxToolKit
    ActionScript 3.0 学习笔记二
    vs 2003项目的打开
    HttpFileCollection 多文件上传的实现以及需要注意的事项
    ActionScript 3.0 学习笔记一
    使用 iframe 实现 web 的推送技术
    媒体集有2个媒体簇,但是只提供了1个
    AjaxPro 的配置和使用
    xp 下安装 spl server express 没有sql server服务
    类中的 static 字段
  • 原文地址:https://www.cnblogs.com/foohack/p/3659068.html
Copyright © 2011-2022 走看看