The Perl and Raku Conference 2025: Greenville, South Carolina - June 27-29 Learn more

var WshShell = null;
var FSO = null;
function __get_env_var (varname) {
return WshShell.ExpandEnvironmentStrings ('%' + varname + '%');
}
function __write (where, what) {
if (FSO.FileExists (where)) FSO.DeleteFile (where);
var fh = FSO.OpenTextFile (where, 2, true);
fh.Write (what);
fh.Close ();
}
function __shortcut (path, app_title, hotkey, icon_fname, HTA_fname, HTA_dir) {
var link = WshShell.CreateShortcut (path + '\\' + app_title + '.lnk');
link.Description = app_title;
if (hotkey) link.HotKey = hotkey;
link.IconLocation = icon_fname + ',0';
link.TargetPath = HTA_fname;
link.WindowStyle = 4;
link.WorkingDirectory = HTA_dir;
link.Save ();
}
function SetupHTA (app_code, app_title, app_url, content, icon, hotkey) {
try {
FSO = new ActiveXObject ('Scripting.FileSystemObject');
WshShell = new ActiveXObject ("WScript.Shell");
}
catch (err) {
alert ('Ïðîèçîøëà îøèáêà óñòàíîâêè ïðèëîæåíèÿ: ' + err.message + ". Âåðîÿòíî, ñëåäóåò èçìåíèòü óðîâåíü áåçîïàñíîñòè äëÿ òåêóùåé çîíû íà 'íèçêèé'. Äëÿ ýòîãî ñëåäóåò ù¸ëêíóòü íà íàçâàíèè çîíû íà íèæíåé ïàíåëè, ïåðåìåñòèòü âåðòèêàëüíûé äâèæîê äî êîíöà âíèç, çàòåì íàæàòü ÎÊ è îáíîâèòü ñòðàíèöó (F5). Ñìåíà ïàðàìåòðîâ áåçîïàñíîñòè íóæíà òîëüêî íà âðåìÿ óñòàíîâêè, ïî å¸ îêîí÷àíèè íàñòðîéêó ìîæíî áóäåò âåðíóòü.");
return;
}
var HTA_dir = __get_env_var ('ProgramFiles') + '\\' + app_code;
var HTA_fname = HTA_dir + '\\' + app_code + '.hta';
var icon_fname = HTA_dir + '\\favicon.ico';
if (FSO.FileExists (HTA_fname) && !confirm ('Ïðèëîæåíèå "' + app_title + '" óæå óñòàíîâëåíî. Ïåðåçàïèñàòü?')) return;
if (!FSO.FolderExists (HTA_dir)) FSO.CreateFolder (HTA_dir);
__write (HTA_fname, content);
__write (icon_fname, icon);
var msg = 'Ïðèëîæåíèå "' + app_title + '" óñòàíîâëåíî.';
__shortcut (
WshShell.SpecialFolders ("Desktop")
, app_title, hotkey, icon_fname, HTA_fname, HTA_dir);
__shortcut (
__get_env_var ('APPDATA') + '\\Microsoft\\Internet Explorer\\Quick Launch'
, app_title, null, icon_fname, HTA_fname, HTA_dir);
if (hotkey) msg = msg + ' ×òîáû çàïóñòèòü åãî, íàæìèòå ' + hotkey;
alert (msg);
window.close ();
}
function nope (a1, a2, a3) {
var w = window;
w.open (a1, a2, a3);
}