Hello, Win32 API(JScript) World!

Posted on 4月 21st, 2012 by cx20

Win32 API(JScript)

Win32 API は、Windows の機能にアクセスする為の API(Application Programming Interface)である。
JScript には Win32 API を直接呼び出す機能は存在しないが、他のコンポーネントを経由することで、呼び出すことが可能である。
Win32 API を呼び出すことが可能なコンポーネントとしては「DynamicWrapper」「SFC mini」「Excel」等がある。
以下は DynamicWrapper を経由した Win32 API 呼出し例である。

ソースコード(JScript + COM + DynamicWrapper + Win32 API)

main();
 
function main() {
    var win32 = new ActiveXObject("DynamicWrapper");
    win32.Register( "user32.dll", "MessageBoxA", "i=hssu", "f=s", "r=l" );
    win32.MessageBoxA( 0, "Hello, Win32 API(JScript) World!", "Hello, World!", 0 );
}

以下は SFC mini を経由した Win32 API 呼出し例である。

ソースコード(JScript + COM + SFC miin + Win32 API)

main();
 
function main() {
   var messageBox = new ActiveXObject("SfcMini.DynaCall");
   messageBox.Declare( "user32", "MessageBoxA" );
   messageBox( 0, "Hello, Win32 API(JScript) World!", "Hello, World!", 0 );
}

以下は Excel を経由した Win32 API 呼出し例である。実際には、Excel の「Call 関数」を ExecuteExcel4Macro メソッド経由で呼び出す例となっている。

ソースコード(JScript + COM + Excel + Call 関数 + Win32 API)

main();
 
function main() {
    var excel = new ActiveXObject("Excel.Application");
    var strMacro = 'CALL("user32", "MessageBoxA", "JJCCJ", 0,"Hello, Win32 API(JScript) World!", "Hello, World!", 0)'
    excel.ExecuteExcel4Macro( strMacro );
}

実行方法

C:¥> CSciprt hello.js

実行結果

---------------------------
Hello, World!
---------------------------
Hello, Win32 API(JScript) World!
---------------------------
OK   
---------------------------

Tags:

Categories: JScript, library, Win32 API

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

WP-SpamFree by Pole Position Marketing