1 (изменено: Аскет, 2011-08-07 01:11:24)

Тема: 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>