Тема: HTA: FlashPlayer
Увлёкся я как-то логическими flash-играми.
Флэш-плеер для *.swf у меня не установлен, а запускать их через браузер слишком накладно.
Решил я накидать "за пару минут" этот самый плеер.
- Чтобы перейти в полноэкранный режим и обратно необходимо нажать Alt+Enter (не кликая мышкой по форме, иначе контрол "проглатывает" и не обрабатывает нажатия клавиш).
- Чтобы зарегистрировать плеер как основной (по двойному щелчку), необходимо запустить программу с параметром /install, примерно так:
HTA-FlashPlayer.hta /install
<!--
HTA-FlashPlayer предназначен для просмотра SWF-файлов (flash-games & movies).
Не требует предварительной установки никаких библиотек, т.е. работает на свежеустановленной ОС.
Весь интерфейс предоставляет контрол "Flash.ocx" установленный в системе по умолчанию.
Чтобы перейти в полноэкранный режим и обратно необходимо нажать Alt+Enter (не кликая мышкой по форме, иначе контрол "проглатывает" и не обрабатывает нажатия клавиш).
Для того чтобы зарегистрировать программу в качестве основного swf-проигрывателя (по двойному щелчку),
необходимо запустить программу с параметром "/install", примерно так:
HTA-FlashPlayer.hta /install
(C) Gorelov Alexander, aug 2011
-->
<head>
<HTA:APPLICATION
APPLICATIONNAME="HTA-FlashPlayer"
AUTHOR="Аскет"
BORDER="thin"
ICON="SHELL32.DLL"
ID="oHTA"
INNERBORDER="no"
VERSION="1.0"
WINDOWSTATE=""
/>
</head>
<BODY topmargin=0 leftmargin=0 rightmargin=0 bottommargin=0 scroll=no border=1>
<input id=openfile type=file style="display:none">
<OBJECT id="Flash1" width=100% height=100% classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000">
<PARAM NAME="BGColor" VALUE="000000"/>
<PARAM NAME="Loop" VALUE="true"/>
</OBJECT>
<script language=VBS>
'---------- извлечение параметра запуска ----------
DIM FullName
cmd = ohta.CommandLine
FullName = mid (cmd,1,instr(2,cmd,"""")+1)
cmd = mid (cmd,instr(2,cmd,"""")+1)
if trim(lcase(cmd))="/install" then call install()
if trim(cmd)<>"" then
'---------- запускаем кино ----------
WITH Flash1
.Movie = cmd
.Play
end with
else
openfile.click()
if (openfile.value<>"") then
Flash1.Movie = openfile.value
else
window.close()
end if
end if
'--------------------
DIM HTA,WINSTATE,x,y,z,w,flag::flag=false
SET HTA = document.getElementByID("OHTA")
sub document_onkeydown()
if (window.event.altkey=true) AND (window.event.keycode=13) then
hta.removenode()
if flag=false then
flag= true
'---------- сохранение размеров и позиции окна ----------
z = window.screenLeft
w = window.screenTop
x = document.body.clientWidth
y = document.body.clientHeight
hta.windowstate="maximize"
hta.border="none"
else
flag= false
'---------- восстановление размеров и позиции окна ----------
window.resizeTo x,y
window.moveTo z,w
hta.windowstate="normal"
hta.border=""
end if
document.getElementsbytagname("head")(0).appendChild(hta)
end if
end sub
sub install()
with CreateObject ("Wscript.Shell")
.RegWrite "HKCR\ShockwaveFlash.ShockwaveFlash\shell\open\command\", _
"mshta.exe " & FullName & " %1"
end with
Msgbox "Программа успешно зарегистрирована в качестве SWF-проигрывателя!",64
window.close()
end sub
'--------------------
</script>
</body>