Code: Select all
var oSys = AkelPad.SystemFunction();
var hInstanceDLL = AkelPad.GetInstanceDll();
var sClassName = "AkelPad::Scripts::" + WScript.ScriptName + "::" + hInstanceDLL;
var hWndDlg;
var hWnd1;
AkelPad.WindowRegisterClass(sClassName);
hWndDlg = oSys.Call("user32::CreateWindowEx" + _TCHAR,
0, //dwExStyle
sClassName, //lpClassName
"Test F5 and F6", //lpWindowName
0x90CA0000, //WS_VISIBLE|WS_POPUP|WS_CAPTION|WS_SYSMENU|WS_MINIMIZEBOX
300, //x
300, //y
300, //nWidth
150, //nHeight
0, //hWndParent
0, //ID
hInstanceDLL, //hInstance
DialogCallback);
AkelPad.ScriptNoMutex();
AkelPad.WindowGetMessage();
AkelPad.WindowUnregisterClass(sClassName);
function DialogCallback(hWnd, uMsg, wParam, lParam)
{
if (uMsg == 1) //WM_CREATE
{
hWnd1 = oSys.Call("user32::CreateWindowEx" + _TCHAR,
0, //dwExStyle
"STATIC", //lpClassName
0, //lpWindowName
0x50000000, //dwStyle
50, //x
50, //y
180, //nWidth
20, //nHeight
hWnd, //hWndParent
-1, //ID
hInstanceDLL, //hInstance
0); //lpParam
oSys.Call("user32::SetWindowText" + _TCHAR, hWnd1, "Press F5 or F6");
}
else if (uMsg == 7 /*WM_SETFOCUS*/)
oSys.Call("user32::SetFocus", hWnd1);
else if (uMsg == 256 /*WM_KEYDOWN*/)
{
if (wParam == 0x74 /*VK_F5*/)
AkelPad.MessageBox(hWnd, "F5 was pressed", "Test", 0);
else if (wParam == 0x75 /*VK_F6*/)
AkelPad.MessageBox(hWnd, "F6 was pressed", "Test", 0);
else if (wParam == 27 /*VK_ESCAPE*/)
oSys.Call("user32::PostMessage" + _TCHAR, hWnd, 16 /*WM_CLOSE*/, 0, 0);
}
else if (uMsg == 257 /*WM_KEYUP*/)
{
if (wParam == 0x75 /*VK_F6*/)
AkelPad.MessageBox(hWnd, "F6 was released", "Test", 0);
}
else if (uMsg == 16) //WM_CLOSE
oSys.Call("user32::DestroyWindow", hWnd);
else if (uMsg == 2) //WM_DESTROY
oSys.Call("user32::PostQuitMessage", 0);
return 0;
}