l_Instructor_l
Full Member | Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Код: /// Run AkelPad and insert date // // Usage: // WScript "c:\Program Files\AkelPad\AkelFiles\Plugs\Scripts\RunInsertDate.js" "c:\Program Files\AkelPad\AkelPad.exe" var AkelPad=new ActiveXObject("AkelPad.document"); var WshShell=new ActiveXObject("WScript.shell"); var hMainWnd=AkelPad.GetMainWnd(); var oFunction=AkelPad.SystemFunction(); var pText; var nWaitMax=1000; var bInitRun; if (!hMainWnd) { bInitRun=false; WshShell.Run(WScript.Arguments(0), 1, false); while (!(hMainWnd=AkelPad.GetMainWnd())) { oFunction.AddParameter(100); oFunction.Call("kernel32::Sleep"); nWaitMax-=100; if (nWaitMax <= 0) { //Show "AkelPad's window not found." AkelPad.GetEditWnd(); break; } } } else { bInitRun=true; if (oFunction.Call("user32::GetForegroundWindow") != hMainWnd) { oFunction.AddParameter(hMainWnd); if (oFunction.Call("user32::IsIconic")) { oFunction.AddParameter(hMainWnd); oFunction.AddParameter(9 /*SW_RESTORE*/); oFunction.Call("user32::ShowWindow"); } else { oFunction.AddParameter(hMainWnd); oFunction.Call("user32::SetForegroundWindow"); } } } if (hMainWnd) { pText=TimeFormat("dd.MM.yyyy\n"); if (bInitRun) { AkelPad.SendMessage(hMainWnd, 273 /*WM_COMMAND*/, 4101 /*IDM_FILE_NEW*/, 0); } AkelPad.SetSel(0, -1); AkelPad.ReplaceSel(pText); } //Functions function TimeFormat(pFormat) { var DT_ANSI =0 var DT_UNICODE =1 var DT_WORD =2 var DT_DWORD =3 var lpFormatBuffer; var lpTimeBuffer; var pTime=""; if (lpFormatBuffer=AkelPad.MemAlloc(256)) { AkelPad.MemCopy(lpFormatBuffer, pFormat.substr(0, 255), DT_ANSI); if (lpTimeBuffer=AkelPad.MemAlloc(256)) { oFunction.AddParameter(1024); //LOCALE_USER_DEFAULT oFunction.AddParameter(0); oFunction.AddParameter(0); oFunction.AddParameter(lpFormatBuffer); oFunction.AddParameter(lpTimeBuffer); oFunction.AddParameter(256); oFunction.Call("kernel32::GetTimeFormatA"); oFunction.AddParameter(1024); //LOCALE_USER_DEFAULT oFunction.AddParameter(0); oFunction.AddParameter(0); oFunction.AddParameter(lpTimeBuffer); oFunction.AddParameter(lpFormatBuffer); oFunction.AddParameter(256); oFunction.Call("kernel32::GetDateFormatA"); pTime=AkelPad.MemRead(lpFormatBuffer, DT_ANSI); AkelPad.MemFree(lpTimeBuffer); } AkelPad.MemFree(lpFormatBuffer); } return pTime; } |
|