Запуск скринсейвера
небольшая фича, которая позволяет запустить программно скринсэйвер, установленный в системе по умолчанию
Код:
// go-стандартная кнопка
go.label = "screensaver";
mdm.Application.doEvents();
formTitle = mdm.Forms.MainForm.title = "form";
appTitle = mdm.Application.title = "app";
// получаем хэндл окна
var wList = mdm.System.getWindowList();
var i = 0;
while (wList[i][1]) {
if (wList[i][0] == formTitle || wList[i][0] == appTitle) {
hwnd = wList[i][1];
}
i++;
}
go.onRelease = function() {
// шлем WM_SYSCOMMAND с wParam = SC_SCREENSAVE и lParam = 0
mdm.System.postMessage(hwnd, 0x0112, 0xF140, 0);
};
title у формы устанавливается программно, чтобы получить хэндл окна приложения через getWindowsList, но можно устанвить титле и вручную. Важно только чтоб фактический титле совпал со строкой сравнения в цикле while.
Далее окно само себе шлет системное сообщение на запуск скринсейвера.