• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>

            轉(zhuǎn)自 http://hi.csdn.net/jinglidong

            !include "LogicLib.nsh"
            使用 NSIS 的宏來提供各種邏輯基本語句,不需要預(yù)先添加函數(shù)。
            • 基本語句

            If|Unless..{ElseIf|ElseUnless}..[Else]..EndIf|EndUnless
            - 有條件的執(zhí)行一個語句區(qū)塊,取決于表達式。

            AndIf|AndUnless|OrIf|OrUnless
            - 給 If、Unless、ElseIf 和 ElseUnless 增加額外的條件語句。

            IfThen..|..|
            - 有條件的執(zhí)行一個內(nèi)聯(lián)語句,取決于表達式。

            IfCmd..||..|
            - 條件的執(zhí)行一個內(nèi)聯(lián)語句,取決于 NSIS 函數(shù)提供的真值。

            Select..{Case[2|3|4|5]}..[CaseElse|Default]..EndSelect
            - 執(zhí)行多個語句區(qū)塊之一,取決于表達式的值。

            Switch..{Case|CaseElse|Default}..EndSwitch
            - 跳轉(zhuǎn)到多個標(biāo)記之一,取決于表達式的值。

            Do[While|Until]..{ExitDo|Continue|Break}..Loop[While|Until]
            - 重復(fù)一個語句區(qū)塊直到停止 取決于表達式的值。

            While..{ExitWhile|Continue|Break}..EndWhile
            - DoWhile..Loop的別名(向后兼容)

            For[Each]..{ExitFor|Continue|Break}..Next
            - 重復(fù)語句區(qū)塊來連續(xù)改變變量的值。

            • 表達式

            標(biāo)準(zhǔn)(內(nèi)建的)字串判斷(不區(qū)分大小寫):
            a == b; a != b

            另外的不區(qū)分大小寫的字串判斷(使用 System.dll):
            a S< b; a S>= b; a S> b; a S<= b
            - 需要在 !include LogicLib.nsh 之前 !define LOGICLIB_STRCMP

            區(qū)分大小寫字串判斷(使用 System.dll):
            a S== b; a S!= b
            - 需要在 !include LogicLib.nsh 之前 !define LOGICLIB_STRCMP

            標(biāo)準(zhǔn)(內(nèi)建的)有符號整數(shù)判斷:
            a = b; a <> b; a < b; a >= b; a > b; a <= b

            標(biāo)準(zhǔn)(內(nèi)建的)無符號整數(shù)判斷:
            a U< b; a U>= b; a U> b; a U<= b

            64位整數(shù)判斷(使用System.dll):
            a L= b; a L<> b; a L< b; a L>= b; a L> b; a L<= b
            - 需要在 !include LogicLib.nsh 之前 !define LOGICLIB_INT64CMP

            內(nèi)建的NSIS標(biāo)記判斷:
            ${Abort};
            ${Errors};
            ${RebootFlag};
            ${Silent}

            內(nèi)建的 NSIS 其它判斷:
            ${FileExists} a;

            任何有條件的 NSIS 指令判斷:
            ${Cmd} a;

            區(qū)段標(biāo)記判斷:
            ${SectionIsSelected} a;
            ${SectionIsSectionGroup} a;
            ${SectionIsSectionGroupEnd} a;
            ${SectionIsBold} a;
            ${SectionIsReadOnly} a;
            ${SectionIsExpanded} a;
            ${SectionIsPartiallySelected} a;

            posted @ 2012-05-15 09:43 Mumoo 閱讀(1590) | 評論 (0)編輯 收藏
             
            頭文件引用:
            !include "LogicLib.nsh"

             基本語句

            If|Unless..{ElseIf|ElseUnless}..[Else]..EndIf|EndUnless
            - 有條件的執(zhí)行一個語句區(qū)塊,取決于表達式。

            AndIf|AndUnless|OrIf|OrUnless
            - 給 If, Unless, ElseIf 和 ElseUnless 增加額外的條件語句。

            IfThen..|..|
            - 有條件的執(zhí)行一個內(nèi)聯(lián)語句,取決于表達式。

            IfCmd..||..|
            - 條件的執(zhí)行一個內(nèi)聯(lián)語句,取決于 NSIS 函數(shù)提供的真值。

            Select..{Case[2|3|4|5]}..[CaseElse|Default]..EndSelect
            - 執(zhí)行多個語句區(qū)塊之一,取決于表達式的值。

            Switch..{Case|CaseElse|Default}..EndSwitch
            - 跳轉(zhuǎn)到多個標(biāo)記之一,取決于表達式的值。

            Do[While|Until]..{ExitDo|Continue|Break}..Loop[While|Until]
            - 重復(fù)一個語句區(qū)塊直到停止 取決于表達式的值。

            While..{ExitWhile|Continue|Break}..EndWhile
            - DoWhile..Loop 的別名 (向后兼容)

            For[Each]..{ExitFor|Continue|Break}..Next
            - 重復(fù)語句區(qū)塊來連續(xù)改變變量的值。

            Goto
            要跳轉(zhuǎn)的標(biāo)記 | +偏移| -偏移| 用戶變量(目標(biāo)地址)
            如果指定了標(biāo)記,則跳轉(zhuǎn)到 “要跳轉(zhuǎn)的標(biāo)記:”。

            如果指定了 +偏移 或 -偏移 ,跳轉(zhuǎn)會根據(jù)偏移指令相對的跳轉(zhuǎn)。Goto +1 跳轉(zhuǎn)到下一條指令,Goto -1 跳轉(zhuǎn)到上一條指令,等等。

            Goto label
            Goto +2
            Goto -2
            Goto $0

            這是原生支持的跳轉(zhuǎn),利用跳轉(zhuǎn)可以寫循環(huán)。
            posted @ 2012-05-14 10:30 Mumoo 閱讀(6276) | 評論 (0)編輯 收藏
             

            邏輯語句的宏文件: !include logiclib.nsh
            IF語句:
               ${If} $0 == 'some value'
                  MessageBox MB_OK '$$0 is some value'
               ${ElseIf} $0 == 'some other value'
                  MessageBox MB_OK '$$0 is some other value'
               ${Else}
                  MessageBox MB_OK '$$0 is "$0"'
                 ${EndIf}

            while循環(huán):

               StrCpy $R1 0 ——————————字符串賦值為整型
               ${While} $R1 < 5
                     IntOp $R1 $R1 + 1
                     DetailPrint $R1——————————打印字符串
            ${EndWhile}

             

            posted @ 2012-05-11 10:25 Mumoo 閱讀(9216) | 評論 (0)編輯 收藏
             
            !include logiclib.nsh

            Var tmpInst
            ReadRegStr $0 HKLM ${PRODUCT_INST_KEY} "InstallDir"
            MessageBox MB_OK "tmpInst 有沒有值: $0"

            ${If} $0 == ""
            MessageBox MB_OK "沒值"
            ${Else}
            MessageBox MB_OK "有值"
            ${EndIf}
            posted @ 2012-05-11 10:12 Mumoo 閱讀(2092) | 評論 (0)編輯 收藏
             
            ; OpenReg.nsi
            ; 檢查某注冊表鍵是否存在的NSIS例子
            ; 編寫:zhfi <zhfi1022@tom.com>
             
            ;--------------------------------
            ;定義注冊表主鍵
            !define HKEY_CLASSES_ROOT           0x80000000
            !define HKEY_CURRENT_USER           0x80000001
            !define HKEY_LOCAL_MACHINE          0x80000002
            !define HKEY_USERS                  0x80000003
             
            OutFile OpenReg.exe
             
            XPStyle on
             
            !include LogicLib.nsh
             
            ;--------------------------------
            Name OpenReg
             
            Section Nil
            SectionEnd
             
            Function .onInit
            ;為鍵的句柄創(chuàng)建一個緩存
            System::Call "*(i 0) i .R0"
            ;將要檢測的鍵放入內(nèi)存中
            Push "SOFTWARE\TENCENT\QQPinYin"
            ;調(diào)用API進行檢查,返回值在$R1中
            system::call 'Advapi32::RegOpenKey(i ${HKEY_LOCAL_MACHINE}, t s, i R0) .iR1'
            ;關(guān)閉該鍵的句柄
            system::call 'Advapi32::RegCloseKey(i R0)'
            ;釋放內(nèi)存
            system::free
            ;返回值:
            ;0代表鍵存在
            ;2代表鍵不存在
            ;其它值表示出錯
            ${If} $R1 == 0
            Contact usthis is my email signatureMessagebox mb_ok "Key Exists!"
            ${ElseIf} $R1 == 2
            Messagebox mb_ok "Key doesn't Exists!"
            ${Else}
            Messagebox mb_ok "Error!"
            ${EndIf}
            Pop $R1
            Pop $R0
            Quit
            FunctionEnd

            posted @ 2012-05-09 16:12 Mumoo 閱讀(1141) | 評論 (0)編輯 收藏
            僅列出標(biāo)題
            共4頁: 1 2 3 4 
             
            久久亚洲精品国产精品| 久久国产免费观看精品| 久久综合九色综合久99| 日本久久久久久久久久| 伊人久久大香线蕉av不卡 | 国产精品99久久久久久www| 国产精品欧美久久久久无广告 | 久久精品国产亚洲av麻豆图片| 国内精品伊人久久久久777| 成人资源影音先锋久久资源网| 久久国产视频网| 久久亚洲美女精品国产精品| 久久亚洲欧美日本精品| 久久99九九国产免费看小说| 国产精品久久久久久福利漫画 | 丰满少妇人妻久久久久久| 久久久久国色AV免费看图片| 精品多毛少妇人妻AV免费久久| 久久亚洲国产精品一区二区| 99久久99久久精品国产片果冻| 99久久国产综合精品五月天喷水| 久久99九九国产免费看小说| 成人亚洲欧美久久久久| 久久精品国产第一区二区三区 | 国产69精品久久久久9999| 97精品伊人久久久大香线蕉| 99久久综合狠狠综合久久| 97久久国产亚洲精品超碰热| 久久乐国产综合亚洲精品| 久久久久久国产精品美女| 久久精品国产一区二区三区日韩| 久久亚洲日韩精品一区二区三区| 久久这里只精品99re66| 久久综合精品国产一区二区三区 | 狠狠色丁香久久婷婷综合蜜芽五月 | 99久久成人国产精品免费| 久久99精品国产麻豆宅宅| 久久亚洲国产最新网站| 久久久无码精品亚洲日韩蜜臀浪潮| 亚洲另类欧美综合久久图片区| 亚洲а∨天堂久久精品9966|