WFU

[ 精選文章 ]

自行車 入門 Escape 3 , Snap 21 , Revel

最近周末想運動 , 平日想通勤 , 想買台自行車 , 把自己找的資料跟大家分享 , 如果你是玩家級的 就不用看了 這是給跟我一樣的新新新手 參考的 騎車半年後的補充: 如果你有把握你是真的有時間有興趣會一直騎,建議還是存點錢買好一點的彎把公路車, 或是可以考慮買2手的自...

2016年1月28日 星期四

Checked Build ACPI.sys for Win10 TH2 (10586)


ACPI Checked Build for Win10 TH2 (10586) : MEGA

基本知識 :
TrustedInstaller它是一個Windows的Services,而它的服務名稱為Windows Modules Installer.它的工作是模擬一個虛擬的權限,並且可在檔案中被賦予.這個服務是從Windows Vista開始,而在Windows7以後被大量使用.

微軟開發這個功能,是基於過去很多電腦被感染病毒,或重要系統檔案遭竄改刪除,主要是這些惡意程式拿到擁有最高權限的管理者帳號密碼,才能對電腦任意的發動攻擊而TrustedInstaller的出現,就是要防止這種事情發生.

在Windows7以後的版本中微軟對於重要的系統檔,不管是System或Administrator帳號,只賦予讀取的功能.而完整的控制功能,則交給TrustedInstaller這個虛擬帳號.

因此你會發現,雖然你是系統的最高管理員,但是在Windows忠想要修改或刪除某些系統檔,它會出現拒絕存取檔案的訊息.

要解決這個問題,首先必須將檔案的擁有權拿回來,再將檔案控制權交給你想要使用的帳號.

Location : C:\Windows\System32\drivers\ACPI.SYS
原始的 ACPI.sys 位置
 10586 -> Win 10 TH2 版本號

Checked build ACPI.sys for Win10 TH2

內容 - 安全性 - 進階 -> 修改擁有者 (點選變更)

輸入 USERS 點選 檢查名稱

 或是使用尋找

授予權限 , 選擇稽核 - 新增






2016年1月21日 星期四

ReleasePackage.2016 v02

Note : Please Install Winrar before use this package

Brief :  the Release package first try to locate the winrar.exe in program files , if not found , ask for user input. after WinRAR.exe is located , Generate the packed EXE file for easy release.
use the packed EXE file (named "ReleasePackage.exe") to build the release package

File Requires:
1.Changes.txt  For JY Release package use , the bios release history
2.Bios , EC release note and BVT Report in XLS or XLSX format
3.xxxCTnnA.bin     EC binary file
4.xxxKTnnA.8MB  BIOS 8MB File
5.xxxKTnnA.CAP  BIOS 6MB File
6.TC-xxx.rom          OA2 File , location : "ReleasePackage\MFG\OA2\TC-xxx.bin"
7.Informations in \ReleasePackage\MFG\SMBIOS\DOS\DMI.bat must update manually

File Descriptions:
ReleasePackage.2016.02.7z  : Main Package file
DEMO File.7z : for DEMO release

Usage:
1. Uncompress "ReleasePackage.2016.02.7z" to a Folder 
2. You MUST put your own OA2 file before next step (Can be skip if  for DEMO only)
Double click BUILD.BAT


3.If there is no Winrar installed in "C:\Program Files\WinRAR\WinRAR.exe" , will skip this step is winrar already installed in program files.

4.Please input the path for your WINRAR.EXE
(eg , my Winrar is in D:\utility\WinRAR\WinRAR.exe)

If the WinRAR.exe is found , the screen will back to Black , and closed soon.

5.Now the Package is Generated , named "ReleasePackage.exe"

6.Copy "ReleasePackage.exe" to another folder to try to release

7. Uncompress the DEMO File.7z to the folder

8.Double click "ReleasePackage.exe" , the release package is generated once you see the dos prompt as below

1.Check the OA2 Binary is the one you need (Can be ignored for DEMO)
2.Please update informations in \ReleasePackage\MFG\SMBIOS\DOS\DMI.bat
3.Generate the HASH code for JY package
4.Check if the release note is correct

9.Please Do ALL the test in the package 



2016年1月18日 星期一

Visual Studio 2015 繁中 ISO


中文專業版 連結檔名為 vs2015.pro_cht.iso
繁中Pro

簡中社區版 改連結檔名為 vs2015.com_chs.iso
簡中板 Simplified chinese

英文企業版 改連結檔名為 vs2015.ent_enu.iso
English Enterprise

繁中企業版 SHA1: D9B76AC7021CCCCB1E427CF2161C297AA9C820C1
繁中專業版 SHA1: 7F51CBF6BA98D4B40E911A477D9112AFA7F96750

From Visual Studio 2015 序號
繁體中文專業版序號 HMGNV-WCYXV-X7G9W-YCX63-B98R2

Visual Studio Enterprise 2015 ENT:
HM6NR-QXX7C-DFW2Y-8B82K-WTYJV
2XNFG-KFHR8-QV3CP-3W6HT-683CH

2016年1月7日 星期四

Windows Scripting

https://msdn.microsoft.com/en-us/library/bstcxhf7(v=vs.84).aspx

批次檔 基本變數

@echo off
@echo *** 可從檔案總管拖檔案到這個 bat 看效果... ***
@echo _

@echo 用 "^" 可以串接及顯示多行^

這是第二行^

這是第三行

@echo _

@echo 目前日期時間: %Date% %Time%
@echo 目前目錄: %CD%
@echo 目前磁碟: %CD:~0,2%
@echo 取子字串的方式: %Date:~2,8%
@echo _

@echo 本批次檔是 %0
@echo 加上 ~ 會移除包起來的 quotas : %~0
@echo 第 1 個參數是 "%~1"
@echo 第 2 個參數是 "%~2"
@echo 第 3 個參數是 "%~3"
@echo _

@echo 本批次檔所在路徑 (要呼叫同目錄下的執行檔時需要): %~dp0
@echo 像是這樣呼叫 (加上 "" 才保險): "%~dp0OtherProgram.exe" "%1"
@echo 本批次檔所在磁碟: %~d0
@echo _

@echo f d p n x s a t z ※ 可複合使用:
@echo f (檔案路徑): %~f0
@echo d (所在磁碟): %~d0
@echo p (檔案目錄): %~p0
@echo n (純 檔 名): %~n0
@echo x (附 加 名): %~x0
@echo s (短 檔 名): %~s0
@echo a (檔案屬性): %~a0
@echo t (檔案時間): %~t0
@echo z (檔案大小): %~z0
@echo _

@echo 複合例: %~dp1
@echo 複合例: %~nx1
@echo 複合例: %~fs1
@echo ($PATH: 會搜尋路徑裡符合的檔) 呼叫例:"%~f0" cmd.exe
@echo 複合例: %~fs$PATH:1
@echo 複合例: %~ftza1
@echo _

@echo 電腦名稱: %ComputerName%
@echo _

@echo pause 是用來暫停, 等待按下任意鍵.
@pause

VBScript 語法彙總

http://ycchen.im.ncnu.edu.tw/www2000/html/h.htm
網際網路應用--附錄H VBScript 語法彙總


                   附錄 H  VBScript 語法彙總


H.1 VBScript

VBScript 是微軟公司程式語言 Visual Basic (VB) 家族的一個新的成員,對
於 active scripting 提供多樣的環境,包括客戶端的 IE 瀏覽器以及伺服器
端的 PWS、IIS 伺服器。

有關 VBScript 在 HTML 裡的使用方法,您可選按瀏覽器的的功能

              檔案 (F) | 開啟舊檔 (O)...

選 vbstutor.htm 網頁,該網頁提供簡要的說明。

  C:\Program Files\WEBSVR\DOCS\ASPDocs\ref\vbs\vbscript\vbstutor.htm

有關 VBScript 的語法 (Language Reference),可參考 vbstoc.htm 網頁。

  C:\Program Files\WEBSVR\DOCS\ASPDocs\ref\vbs\vbscript\vbstoc.htm

本小節對 VBScript 只提供彙總性之說明。

在說明 VBScript 語法之前先對於撰寫 VBScript 程式的一些習慣稍作說明。

● 常數命名習慣

   以大寫字母命名,字組間以底線隔開。例如:
   LINE_COUNT、MAX_NUMBER 等。

● 變數命名習慣

   變數名稱前加上表示資料型態的字頭,例如:
   intQuantity 表示整數數量。
   lngDistance 表示長整數距離。
   strMyName   表示我的名子識字串。

● 文件說明
   函數或程序之前應該有簡短的說明。



H.2 資料型態


VBScript 只有一種 Variant 資料型態。依使用的情形,可包含各種資料,稱
為 Variant 型態的次型態 (subtype)。函數所傳回來的也是 Variant 型態。
VBScript 型態 Variant 的次型態如表 H.1 所示。您可使用 VarType() 函
數傳回指定變數的次型態。


                表 H.1  型態 Variant 的次型態

      次型態    說明
      --------  ----------------------------------------------------
      Empty     沒設定初值。數值變數值為 0,字串變數值為空字串。
      Null      不含正確資料。
      Boolean   包含 True 或 False。
      Byte      包含整數 0 至 255。
      Integer   包含整數 -32768 至 32767。
      Currency  包含整數 -922,337,203,685,477.5808
                至 922,337,203,685,477.5807。
      Long      包含整數 -2,147,483,648 至 2,147,483,647。
      Single    包含單精度值。
                負值 -3.402823E38 至 -1.402823E-45。
                正值 1.401298E-45 至 3.402823E38。
      Double    包含雙精度值。負值
                -1.79769313486232E308 至 -4.94065645841247E-324。
                正值 4.94065645841247E-324 至 1.79769313486232E308。
      Date      January 1, 100 至 December 31, 9999。
      Time      January 1, 100 至 December 31, 9999。
      String    包含變長字串,最長可達 2 百萬字元。
      Object    包含物件。
      Error     包含錯誤編號。


H.3 變數


變數可存放數值,該數值可隨您的意思改變,故稱為變數。您可使用 Dim 敘
述明確宣告,變數名稱之間以逗號隔開。例如:

          Dim A, B, C, D

宣告 A、B、C、D 為變數。變數名稱必須以 alphabetic character 英文字母
起頭,不能包含句點 (period),不能超過 255 個字元。變數值可用指定敘述
指定,例如:

          A=2
          B=5

陣列變數也使用 Dim 宣告,但在變數名稱之後加上一組小括號,以說明元素
個數,例如:

          Dim K(3)

宣告 K 是一個陣列變數,包含 K(0)、K(1)、K(2)、K(3) 共四個元素。K 稱
為一維陣列,因為它只有一個索引值,0 至 3。陣列若有兩個索引值稱為二維
陣列,例如:

          Dim M(2,2)

宣告 M 是一個二維陣列變數,包含 M(0,0)、M(0,1)、M(0,2)、M(1,0)、
M(1,1)、M(1,2)、M(2,0)、M(2,1)、M(2,2) 共九個元素。陣列變數元素值也
是用指定的,例如:

          K(0)=10
          M(1,2)=12


H.4 常數


您可使用 Const 敘述宣告常數,例如:

          Const MYSTRING, vbMyAge, CUTOFFDATE
          MYSTRING="這是我指定的字串"
          vbMyAge=33
          CUTOFFDATE=#12-31-99#

常數的名稱最好都使用大寫英文字母表示,或使用 vb 起頭的名稱,以便和變
數區隔開來,不過 VBScript 許多已經定義好的常數都以 vb 起頭,因此您自
己所定義的常數最好選用大寫英文字母表示。


以下說明 VBScript 已經定義好的常數。

● 色碼常數

   常數名稱  常數值        說明
   --------  ------------  --------
   vbBlack   &h00          黑色
   vbRed     &hFF          紅色
   vbGreen   &hFF00        綠色
   vbYellow  &hFFFF        黃色
   vbBlue    &hFF0000      藍色
   vbMagenta &hFF00FF      紫紅色
   vbCyan    &hFFFF00      紅色
   vbWhite   &hFFFFFF      白色

● 比較常數

   常數名稱            常數值  說明
   -----------------   ------  --------------------
   vbBinaryCompare       0     執行二進位比較
   vbTextCompare         1     執行文字比較
   vbDatabaseCompare     2     執行資料庫中資料比較

● 日期與時間常數

   常數名稱             常數值  說明
   --------             ------  ----------------------------
   vbSunday               1     星期日
   vbMonday               2     星期一
   vbTuesday              3     星期二
   vbWednesday            4     星期三
   vbThursday             5     星期四
   vbFriday               6     星期五
   vbSaturday             7     星期六
   vbFirstJan1            1     使用包含元月一日的星期
   vbFirstFourDays        2     使用本年第一個最少四天的星期
   vbFirstFullWeek        3     使用本年第一個完整的星期
   vbUseSystem            0     使用系統的日期與時間
   vbUseSystemDayOfWeek   0     使用系統的星期日期

● 日期格式常數

   常數名稱             常數值  說明
   --------------       ------  --------------------------------
   vbGeneralDate          0     顯示日期與時間,格式依系統設定。
   vbLongDate             1     以長格式顯示日期。
   vbShortDate            2     以短格式顯示日期。
   vbLongTime             3     以長格式顯示時間。
   vbShortTime            4     以短格式顯示時間。

● 檔案輸入輸出常數

   常數名稱             常數值  說明
   --------------       ------  ------------------
   ForReading             1     開啟一個唯讀的檔案
   ForWriting             2     開啟一個寫入的檔案
   ForAppending           8     開啟一個附加的檔案

● 其他常數

   常數名稱             常數值      說明
   --------------       ----------  ------------
   vbObjectError        &h80040000  物件錯誤編號

● MsgBox 常數

   常數名稱             常數值  說明
   --------------       ------  -----------------------------
   vbOKOnly               0     只顯示 OK 鈕
   vbOKCancel             1     顯示 OK 及 Cancel 鈕
   vbAbortRetryIgnore     2     顯示 Abort、Retry、Ignore 鈕
   vbYesNoCancel          3     顯示 Yes、No、Cancel 鈕
   vbYesNo                4     顯示 Yes、No 鈕
   vbRetryCancel          5     顯示 Retry、Cancel 鈕
   vbCritical            16     顯示 Critical Message 圖示
   vbQuestion            32     顯示 Warning Query 圖示
   vbExclamation         48     顯示 Warning Message 圖示
   vbInformation         64     顯示 Information Message 圖示
   vbDefaultButton1       0     預設第一個按鈕
   vbDefaultButton2     256     預設第二個按鈕
   vbDefaultButton3     512     預設第三個按鈕
   vbDefaultButton4     768     預設第四個按鈕
   vbApplicationModal     0     應用程式模式
   vbSystemModal       4096     系統模式

   下面常數用於 MsgBox() 函數用於識別使用者選用那一個按鈕。

   常數名稱       常數值  說明
   ------------   ------  -----------------
   vbOK             1     OK 按鈕被按下
   vbCancel         2     Cancel 按鈕被按下
   vbAbort          3     Abort 按鈕被按下
   vbRetry          4     Retry 按鈕被按下
   vbIgnore         5     Ignore 按鈕被按下
   vbYes            6     Yes 按鈕被按下
   vbNo             7     No 按鈕被按下

● 字串常數

   常數名稱       常數值      說明
   ------------   ------      ----------------------------------
   vbCr           Chr(13)     Carriage Return 即 Enter 鍵
   vbCrLf         Chr(13)     Carriage Return 及 Linefeed 鍵
                  & Chr(10)
   vbFormFeed     Chr(10)     Form feed,微軟 Windows 系統不適用
   vbLf           Chr(10)     Line feed
   vbNewLine      Chr(13)     換列,Windows使用Chr(13)&Chr(10),
                  & Chr(10)   UNIX系統使用Chr(10)
                  或 Chr(10)
   vbNullChar     Chr(0)      字元值為 0
   vbNullString   字串值0     與空白字串(字串長度為0)不同
   vbTab          Chr(9)      Tab 鍵
   vbVerticalTab  Chr(11)     Vertical Tab 鍵

● Tristate常數

   常數名稱           常數值     說明
   -------------      ------     ----------
   TristateTrue        -1        True
   TristateFalse        0        False
   TristateUseDefault  -2        使用預設值

● VarType 常數

   常數名稱       常數值   說明
   -------------  ------   ------------------
   vbEmpty           0     無初值設定 (預設)
   vbNull            1     不含正確值
   vbInteger         2     Integer
   vbLong            3     Long
   vbSingle          4     Single
   vbDouble          5     Double
   vbCurrency        6     Currency
   vbDate            7     Date
   vbString          8     String
   vbObject          9     Object
   vbError          10     Error
   vbBoolean        11     Boolean
   vbVariant        12     Variant
   vbDataObject     13     Data Access object
   vbDecimal        14     Decimal
   vbByte           17     Byte
   vbArray        8192     Array


H.5 運算子


● 算術運算子

   ^
     次方。例如 Y=A^2。A 的平方值取代原來 Y 值。
   -
     單減。例如 Y=-A。將 A 值變負號後取代原來 Y 值。
   *
     乘。例如 Y=A*B。將 A 值乘於 B 值後取代原來 Y 值。
   /
     除。例如 Y=A/B。將 A 值除於 B 值後取代原來 Y 值。
   \
     整數除法。例如 Y=A/B。將 A 值除於 B 值後取整數取代原來 Y 值。
   Mod
     餘數除法。例如 Y=A\B。將 A 值除於 B 值後取餘數取代原來 Y 值。
   +
     相加。例如 Y=A+B。將 A 值與 B 值相加後取代原來 Y 值。
   -
     相減。例如 Y=A-B。將 A 值減去 B 值後取代原來 Y 值。
   &
     字串相連結。例如 Y=A&B。將 A 值與 B 值相連結後取代原來 Y 值。

● 比較運算子

   =
     相等。 If A=B Then C=True。
   <>
     不相等。If A<>B Then C=False。
   <
     小於。If A<B Then C=A。
   >
     大於。If A>B Then C=B。
   <=
     不大於。If A<=B Then C=True。
   >=
     不小於。If A>=B Then C=False。
   is
     物件相當。SET A=B。If A is B Then C=True。則 C 值為 True。

● 邏輯運算子

   Not
     邏輯 NOT 運算。例如 NOT A。
   And
     邏輯 AND 運算。例如 A And B。
   Or
     邏輯 OR  運算。例如 A Or B。
   Xor
     邏輯 XOR 運算。例如 A Xor B。
   Eqv
     邏輯 EQV 運算。例如 A Eqv B。
   Imp
     邏輯 IMP 運算。例如 A Imp B。


   邏輯運算的結果如下表所示。F 表 False,T 表 True。

            A   B  | Not A    And   Or   Xor   Eqv    Imp
           --------+--------------------------------------
            F   F  |   T       F    F     T     T      T
            F   T  |   T       F    T     F     F      T
            T   F  |   F       F    T     F     F      F
            T   T  |   F       T    T     T     T      T


H.6 敘述

  [Call] name [argumentlist]
    將執行控制權轉至 name 程序或函數。如 Call MyProc(1)。

  Dim varname[([subscripts])][, varname[([subscripts])]] . . .
    宣告變數 varname 並配置記憶體空間。

  Do [{While | Until} condition]
      [statements]
      [Exit Do]
      [statements]
  Loop
  或
  Do
      [statements]
      [Exit Do]
      [statements]
  Loop [{While | Until} condition]
  當條件 condition 的值為 True 時重複執行 Do 與 Loop 之間的區塊敘述。

  Erase array
    對於固定長度的陣列 array 重新建立初值,對於動態陣列 array 則取消
    原配置的記憶體。

  Exit Do
  Exit For
  Exit Function
  Exit Sub
    從 Do、For、Function、Sub 等的區塊跳出。

  For counter = start To end [Step step]
      [statements]
      [Exit For]
      [statements]
  Next
    重複執行 For 與 Next 間的敘述指定次數。從 start 開始,到 end 結
    束,每一迴圈增加 step,即 start、start+step、start+2*step、...、
    end。若省略 step 則預設為 1。

  For Each element In group
      [statements]
      [Exit For]
      [statements]
  Next [element]
    在陣列或類集 (collection) 裡重複執行 For 與 Next 間的敘述。

  [Public | Private] Function name [(arglist)]
      [statements]
      [name = expression]
      [Exit Function]
      [statements]
      [name = expression]
  End Function
    宣告構成 Function 本體的函數名稱、引數、執行碼。
    arglist 引數的語法如下:
    [ByVal | ByRef] varname[( )]
      ByVal 表傳值呼叫,ByRef 表傳址呼叫。
      varname 為引數變數名稱。

  If condition Then
      [statements]
  [ElseIf condition-n Then
      [elseifstatements]] . . .
  [Else
      [elsestatements]]
  End If
    有條件的執行指定的一組敘述。
    若 condition 值為 True 則執行 statements 敘述。
    若 condition-n 值為 True 則執行 slesifstatements 敘述。
    ...
    若以上的 condition 值皆為 False 則執行 elsestatements 敘述。

  On Error Resume Next
    啟動錯誤處理程序並指定程序中下一個要執行的程式碼位置。

  Option Explicit
    使用於文稿層次,用於強迫所有變數須明顯宣告。

  Private varname[([subscripts])][, varname[([subscripts])]] . . .
    使用於文稿層次,宣告變數 varname 為私用性質。

  Public varname[([subscripts])][, varname[([subscripts])]] . . .
    使用於文稿層次,宣告變數 varname 為公用性質。

  Randomize [number]
    設定隨機數產生器初值。引數 number 可為任何的數值運算式。

  ReDim [Preserve] varname(subscripts) [, varname(subscripts)] . . .
    使用於程序層次,用於宣告動態陣列變數 varname 並配置記憶體。

  Rem comment
  或
  ' comment
    註解。

  Select Case testexpression
      [Case expressionlist-n
          [statements-n]] . . .
      [Case Else expressionlist-n
          [elsestatements-n]]
  End Select
    若 testexpression 值等於 expressionlist-n 中的一個值則執行
    statements-n 敘述。若都不是則執行 elsestatements-n 敘述。

  Set objectvar = {objectexpression | Nothing}
    設定物件變數 objectvar 的值為 objectexpression 或 Nothing。

  [Public | Private] Sub name [(arglist)]
      [statements]
      [Exit Sub]
      [statements]
  End Sub
    宣告構成 Sub 本體的程序名稱、引數、執行碼。
    arglist 引數的語法如下:
    [ByVal | ByRef] varname[( )]
      ByVal 表傳值呼叫,ByRef 表傳址呼叫。
      varname 為引數變數名稱。

  While condition
      [statements]
  Wend
    當條件 condition 的值為 True 時重複執行 statements 敘述。


H.7 函數

以下依英文字母順序列出 VBScript 的函數:

  Abs(number)
    傳回 number 的絕對值。
    若 number 為 Null 則傳回 Null。
    若 number 為沒有初值的變數則傳回 0。
    Abs(2) 與 Abs(-2) 均傳回 2。
  Array(arglist)
    引數 arglist 為以逗號隔開的數值,指定為陣列元素值。
    若省略 arglist 則建立一個 0 元素的陣列。下例 B 值為 30。
    Dim A
    A=Array(10,20,30)
    B=A(2)
  Asc(string)
    傳回 string 字串第一個字元的 ANSI 的 ASCII 碼。
    若 string 為空字串則產生執行時期錯誤。
  Atn(number)
    傳回 number 的正切值。
  CBool(expression)
    傳回 expression 的布林值。
  CByte(expression)
    傳回 expression 的位元組值。
  CCur(expression)
    傳回 expression 的 Currency 值。
  CDate(date)
    傳回 date 的日期。
  CDbl(expression)
    傳回 expression 的雙精度數值。
  Chr(charcode)
    傳回 charcode 相對應 ANSI 的 ASCII 碼字元。
  CInt(expression)
    傳回 expression 的整數值。
  CLng(expression)
    傳回 expression 的長整數值。
  Cos(number)
    傳回 number 的餘弦值。number 以 radians 計值。
  CreateObject(class)
    建立並傳回一個 class 物件。如:
    Dim ExcelSheet
    Set ExcelSheet = CreateObject("Excel.Sheet")
  CSng(expression)
    傳回 expression 的單精度值。
  CStr(expression)
    傳回 expression 的字串值。
  Date
    傳回目前的系統日期。
  DateAdd(interval, number, date)
    傳回一個 date 加上 number 個 interval 後的日期。下例為 99 年
    1 月 1 日加上一個月的日期。
    NewDate = DateAdd("m", 1, "1-Jan-99")
  DateDiff(interval, date1, date2 [,firstdayofweek [,firstweekofyear]])
    傳回兩個日期間的 interval 個數。
  DatePart(interval, date [,firstdayofweek [,firstweekofyear]])
    傳回 date 的 interval 個數。
  DateSerial(year, month, day)
    將年year、月month、日day等轉為日期型態並傳回。
  DateValue(date)
    傳回 date 的日期型態值。
  Day(date)
    傳回 date 日期中日數的整數值(1-31)。
  Exp(number)
    傳回 e 的 number 次方值。
    e 為自然對數基底(the base of natural logarithms)。
  Filter(InputString, Value [, Include [, Compare]])
    傳回 Value 在 InputString 一維陣列搜尋的結果。
  Fix(number)
    傳回 number 的整數值。
  FormatCurrency(Expression [,NumDigitsAfterDecimal
    [,IncludeLeadingDigit [,UserParentsForNegativeNumbers
    [,GroupDigits ]]]])
    傳回使用定義於系統控制盤(system control panel)中的currency符號
    所格式化後的currency值。
  FormatDateTime(Date [,NamedFormat])
    傳回格式化後的日期或時間。
  FormatNumber(Expression [,NumDigitsAfterDecimal
    [,IncludeLeadingDigit [,UserParentsForNegativeNumbers
    [,GroupDigits]]]])
    傳回格式化後的數字。
  FormatPercent(Expression [,NumDigitsAfterDecimal
    [,IncludeLeadingDigit [,UserParentsForNegativeNumbers
    [,GroupDigits]]]])
    傳回格式化後的百分比,尾端跟隨著 %。
  GetObject([pathname] [,class])
    從指定檔 pathname 傳回一個 ActiveX 物件。
  Hex(number)
    傳回 number 所代表的16進位值的字串。
  Hour(time)
    傳回 time 時間中的小時整數值(0-23)。
  InputBox(prompt [,title] [,default]
    [,xpos] [,ypos] [,helpfile, context])
    顯示一個對話框,讓使用者輸入資料,並傳回資料內容。
  InStr([start,] string1, string2 [,compare])
    傳回子字串 string2 在字串 string1 中的啟始位置,若找不到該子字串
    ,則傳回 0。
  InStrRev(string1, string2 [,start [,compare]])
    傳回子字串 string2 在字串 string1 中從尾端算起的位置,若找不到該
    子字串,則傳回 0。
  Int(number)
    傳回小於或等於 number 的整數值。
  IsArray(varname)
    若 varname 為陣列則傳回 True,否則傳回 False。
  IsDate(expression)
    若 expression 為日期則傳回 True,否則傳回 False。
  IsEmpty(expression)
    若 expression 為 empty 則傳回 True,否則傳回 False。
  IsNull(expression)
    若 expression 為 Null 則傳回 True,否則傳回 False。
  IsNumeric(expression)
    若 expression 為數字則傳回 True,否則傳回 False。
  IsObject(expression)
    若 expression 為物件則傳回 True,否則傳回 False。
  Join(list [, delimiter])
    傳回一維陣列 list 中每一個元素字串的連結字串,若省略 delimiter
    則以空白隔開。
  LBound(arrayname [, dimension])
    傳回 arrayname 第 dimension 維的最小索引值。若省略 dimension
    則預設為 1。
  LCase(string)
    將 string 轉換為英文小寫字母。
  Left(string, length)
    傳回 string 字串最左邊 length 個字元。
  Len(string | varname)
    傳回 string 字串或 varname 字串變數的長度。
  LoadPicture(picturename)
    傳回從 picturename 檔案載入的物件。
  Log(number)
    傳回 number 數值的對數值。
  LTrim(string)
    將 string 字串前的空白去除。
  Mid(string, start [, length])
    傳回 string 字串中由 start 開始,長度 length 的子字串。
  Minute(time)
    傳回 time 時間中的分鐘數值(0-59)。
  Month(date)
    傳回 date 日期中的月份數值(1-12)。
  MonthName(month [, abbreviate])
    傳回 month 數值相對應的月份名稱。若 abbreviate 值為 True 則傳回
    月份簡稱。
  MsgBox(prompt [, buttons] [, title] [, helpfile, context])
    顯示一個對話框,當用戶選擇適當按鈕後,將該按鈕值傳回。
  Now
    傳回現在的系統時間。
  Oct(number)
    將 number 數值轉為八進位後傳回。
  Replace(expression,find,replacewith [,start [,count [,compare]]])
    在 expression 字串中找到 find 子字串後以 replacewith 字串取代後
    傳回。
  Right(string, length)
    傳回 string 字串最右邊的 length 個字元。
  Rnd[(number)]
    傳回一個介於 0 (含) 至 1 (不含) 間的隨機數。
  Round(expression [, numdecimalplaces])
    將 expression 第 numdecimalplaces 為小數四捨五入後傳回。
  RTrim(string)
    去除 string 字串尾部的空白並傳回。
  ScriptEngine()
    傳回使用中的文稿語言字串。VBScript 或 JScript 或 VBA。
  ScriptEngineBuildVersion()
    傳回使用中的文稿語言 build 版本。
  ScriptEngineMajorVersion()
    傳回使用中的文稿語言主版本。
  ScriptEngineMinorVersion()
    傳回使用中的文稿語言副版本。
  Second(time)
    傳回 time 時間的秒數(0-59)。
  Sgn(number)
    傳回 number 的符號,當 number 大於 0 傳回 1,等於 0,傳回 0,
    小於 0 傳回 -1。
  Sin(number)
    傳回 number 的正弦值。number 以 radians 計值。
  Space(number)
    傳回一個長度為 number 的空白字串。
  Split(expression [, delimiter [, count [, compare]]])
    將以 delimiter 為隔開符號的 expression 字串剖開後存入一個一維陣
    列後傳回。
  Sqr(number)
    傳回 number 的平方值。
  StrComp(string1, string2 [, compare])
    將 string1、string2 二字串相比較,結果以整數表示,若 string1 較
    小則傳回 -1,相等則傳回 0,較大則傳回 1。若其中有一個為 Null 則
    傳回 Null。
  String(number, character)
    傳回一個 number 個 character 字元的字串。
  StrReverse(string)
    傳回一個 string 字串的反向字串。
  Tan(number)
    傳回 number 的正切值。number 以 radians 計值。
  Time
    傳回目前的系統時間。
  TimeSerial(hour, minute, second)
    將時hour、分minute、秒second值轉為日期型態並傳回。
  TimeValue(time)
    將 time 的時間轉為日期型態並傳回。
  Trim(string)
    去除 string 字串頭尾的空白並傳回。
  TypeName(varname)
    傳回變數名稱 varname 的 Variant 次型態 (subtype) 字串。可能值為
    Byte、Integer、Long、Single、Double、Currency、Decimal、Date、
    String、Boolean、Empty、Null、<ObjectType>、Object、Unknown、
    Nothing、Error。
  UBound(arrayname [, dimension])
    傳回 arrayname 第 dimension 維的最大索引值。若省略 dimension
    則預設為 1。
  UCase(string)
    將 string 字串轉為英文大寫字母後傳回。
  VarType(varname)
    傳回 varname 變數的次型態整數值。

    整數值  常數           次型態
    ------  ------------   --------------------------------------
        0   vbEmpty        Empty (uninitialized)
        1   vbNull         Null (not valid data)
        2   vbInteger      Integer
        3   vbLong         Long integer
        4   vbSingle       Single-precision floating-point number
        5   vbDouble       Double-precision floating-point number
        6   vbCurrency     Currency
        7   vbDate         Date
        8   vbString       String
        9   vbObject       Automation object
       10   vbError        Error
       11   vbBoolean      Boolean
       12   vbVariant      Variant (used only with arrays of Variants)
       13   vbDataObject   A data-access object
       17   vbByte         Byte
     8192   vbArray        Array
  Weekday(date [, firstdayofweek])
    傳回 date 日期所代表的星期,1 表星期日,7 表星期六。
  WeekdayName(weekday, abbreviate, firstdayofweek)
    傳回 weekday 數值的星期名稱。
  Year(date)
    傳回 date 日期中的年份。



Win10 開機自動執行

Step1. 把你要執行的程式建立一個捷徑到桌面上
Step2. 按下 Win+R, 輸入"shell:startup"並按下Enter
Step3. 把剛剛建立在桌面的捷徑搬過去或複製過去都可以

2016年1月4日 星期一

PSP of COM and EXE

COM檔的PSP(僅供參考)
0000Hdw OCD20HINT 20H
0002Hdw 可用記憶體最大節位址
0004Hdb 
0005Hdb 5 dup(?)用於完成DOS INT 21H的功能呼叫﹐此時CL = AH (OOH - 23H)
000AHdd  INT 22H 中斷的進入位址
000EHdd  INT 23H 中斷的進入位址
0012Hdd  INT 24H 中斷的進入位址
0016Hdw 父程式 PSP 位址
0018Hdb 20 dup(?)檔案頭銜表 (FHF)﹐決定該行程可以同時開20個檔案
002CHdw 環境變數區的節位址
002EHdd 堆疊指標紀錄區
0032Hdw 檔案頭銜表的大小﹐預設值為20
0034Hdd 檔案頭銜表的起始位址﹐預設為DS0018H
0038Hdd 
003CHdb 
003DHdw 
003FHdb 
0040Hdw 所對應的DOS版本
0042Hdw 14 dup(?)
0050Hdb 3 dup(?)INT 21H retf
0053Hdw 
0055Hdb 7 dup(?)FCB控制塊的擴充部分
005CHdb 16 dup(?)第一個FCB的控制塊
006CHdb 16 dup(?)第二個FCB的控制塊
007CHdd ?
0080Hdb 80h dup(?)磁碟資料傳送區(DTA)
EXE檔的PSP(僅供參考)
0000Hdw ?'MZ'表示是EXE檔﹐如果沒有DOS就認為是COM
0002Hdw ?EXE檔案長度除以512的餘數
0004Hdw ?EXE檔案長度除以512的商數
0006Hdw ?
重定位表的數目\cell 0008Hdw ?檔頭的para
000AHdw ?程式所需最少記憶體
000CHdw ?程式所需最多記憶體
000EHdw ?初始化SS值﹐(相對於起始節位址)
0010Hdw ?SP
0012Hdw ?Checksum
0014Hdw ?IP
0016Hdw ?初始化CS值﹐(相對於起始節位址)
0018Hdw ?重定位表起始值﹐(相對於檔頭)
COM檔被載入的時候﹐DSES都會指向PSP﹐而 PSP的大小是100H bytes﹐所以 IP會指向 0100H