<コールバック関数の使用法>
コールバック関数を使用するにはまず、以下の例のようにコールバック関数を含むクラスオブジェクトを作成します。
VBScript
JScript
API呼び出しは、次の例のように行ってください。
VBScript
JScript
VBScript
Class EnumWindowsProc
Public Function CallBack(hWnd,lParam)
Dim wName
if IsWindowVisible(hWnd) then
wName=space(256)
if GetWindowText(hWnd,wName,256)<>0 then
wName=left(wName,instr(1,wName+chr(0),chr(0))-1)
T=T+wName+vbcrlf
end if
End If
CallBack=1
End Function
End Class
Public Function CallBack(hWnd,lParam)
Dim wName
if IsWindowVisible(hWnd) then
wName=space(256)
if GetWindowText(hWnd,wName,256)<>0 then
wName=left(wName,instr(1,wName+chr(0),chr(0))-1)
T=T+wName+vbcrlf
end if
End If
CallBack=1
End Function
End Class
JScript
var EnumWindowsProc=new Object();
EnumWindowsProc.CallBack=
function CallBack(hWnd,lParam) {
if (IsWindowVisible(hWnd)) {
if (GetWindowText(hWnd,wName,256)) {
var wName2=wName.str;
wName2=wName2.substring(0,wName2.indexOf("\0",0));
T=T+wName2+"\r\n";
}
}
}
EnumWindowsProc.CallBack=
function CallBack(hWnd,lParam) {
if (IsWindowVisible(hWnd)) {
if (GetWindowText(hWnd,wName,256)) {
var wName2=wName.str;
wName2=wName2.substring(0,wName2.indexOf("\0",0));
T=T+wName2+"\r\n";
}
}
}
- 関数名は必ず『CallBack』。
API呼び出しは、次の例のように行ってください。
VBScript
EnumWindows EnumWindows.CallBack(new EnumWindowsProc,2),0
JScript
EnumWindows(EnumWindows.CallBack(EnumWindowsProc,2),0)
- 『EnumWindows.CallBack()』の2番目の引数には、コールバック関数の引数の数(EnumWindowsProcの場合は2)を指定。
» サンプルコード
ウィンドウプロシージャについては、SfcMini.MachineCodeオブジェクトを利用して対応可能です。サンプルコードとして、この機能を用いてCreateWindowEx, ShowWindow, UpdateWindow, DispatchMessage関数を作成し、これらを使ってWindowsプログラムを構築する例を挙げてあります。
また、ウインドウプロシージャを簡単に使用するためのクラス『WindowProcedure』がライブラリにあります。
また、ウインドウプロシージャを簡単に使用するためのクラス『WindowProcedure』がライブラリにあります。
» サンプルコード