<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
	<channel>
		<title><![CDATA[Серый форум &mdash; AutoHotkey: Сохранение веб-страницы в формат mht одной клавишей]]></title>
		<link>http://forum.script-coding.com/viewtopic.php?id=242</link>
		<atom:link href="http://forum.script-coding.com/extern.php?action=feed&amp;tid=242&amp;type=rss" rel="self" type="application/rss+xml" />
		<description><![CDATA[Недавние сообщения в теме «AutoHotkey: Сохранение веб-страницы в формат mht одной клавишей».]]></description>
		<lastBuildDate>Fri, 15 Dec 2006 17:46:06 +0000</lastBuildDate>
		<generator>PunBB</generator>
		<item>
			<title><![CDATA[AutoHotkey: Сохранение веб-страницы в формат mht одной клавишей]]></title>
			<link>http://forum.script-coding.com/viewtopic.php?pid=1289#p1289</link>
			<description><![CDATA[<p>Скрипт предназначен для работы в браузерах Internet Explorer, Opera, Avant Browser. При нажатии клавиши F2 скрипт совершает за пользователя действия по вызову диалога сохранения, выбору формата mht, изменению имени сохраняемого файла в случае, если имя совпадает с уже имеющимися (добавляет или увеличивает номер).<br />Файл сохраняется в папку по умолчанию. Изменить эту папку можно, нажав комбинацию Ctrl-F2.<br />Работа скрипта проверялась в IE 6.0 (WinXP SP1), Opera 9.02, Avant Browser 8.02 и 11.0<br />В Опере при изменении папки по умолчанию скрипт вызывает диалог настроек, посылая в окно комбинацию Ctrl-F12. Если вы в Опере переназначили это сочетание на какое-нибудь другое действие, учтите этот факт. Также учтите, что навигация в окне настроек к нужной вкладке осуществляется имитацией щелчков мыши в определённых точках (по координатам), так что этот процесс зависит от геометрии этого окошка в конкретной версии Оперы.<br />В IE и Аванте при изменении папки сохранения считывается/изменяется параметр Save Directory в разделе реестра HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\Main .</p><div class="codebox"><pre><code>;--------------------- Internet Explorer --------------------

#ifWinActive, ahk_class IEFrame

F2:: SaveAsMHT(&quot;Сохранение веб-страницы&quot;, 2, 0, 1)
^F2:: ChooseFolder(&quot;IE&quot;)

;--------------------------- Opera --------------------------

#ifWinActive, ahk_class OpWindow

F2:: SaveAsMHT(&quot;Сохранить как&quot;, 3, 4)
^F2:: ChooseFolder(&quot;Op&quot;)

;------------------------ Avant Browser ----------------------

#ifWinActive, ahk_class TfrmAvantBrowser

F2:: SaveAsMHT(&quot;Сохранение веб-страницы&quot;, 2)
^F2:: ChooseFolder(&quot;AB&quot;)

#ifWinActive, ahk_class TfrmAvantBrowser.UnicodeClass

F2:: SaveAsMHT(&quot;Сохранение веб-страницы&quot;, 2)
^F2:: ChooseFolder(&quot;AB&quot;)

;-------------------------------------------------------------

#ifWinActive

;--------------------------- Функции -------------------------

SaveAsMHT(DlgTitle, MHT_line, TrimCount=0, IE=0)
{
  if IE
    Send, {Alt}{Down 5}{Enter}
  else
    Send, ^{vk53}                    ; Ctrl-S
  WinWait, %DlgTitle%,, 3
  if ErrorLevel
    Exit
  Control, Choose, %MHT_line%, ComboBox3
  Loop 30
  {
    Sleep, 100
    ControlGet, Files, List,, SysListView321
    if Files
      Break
  }
  ControlGetText, FileName, Edit1
  StringTrimRight, BaseName, FileName, %TrimCount%
  Loop
  {
    if not InStr(Files, FileName)
      Break
    else
    {
      FileName:=BaseName . &quot;_&quot; . A_Index+1 . &quot;.mht&quot;
    }
  }
  ControlSetText, Edit1, %FileName%
  Sleep, 100
  ControlSend, Button2, {Enter}
}


ChooseFolder(BrowserName)
{
  if(BrowserName=&quot;IE&quot; || BrowserName=&quot;AB&quot;)
  {
    RegRead, SaveDir, HKCU, Software\Microsoft\Internet Explorer\Main
            , Save Directory
    FileSelectFolder, SaveDir, *%SaveDir%, 3
      , Выбор папки сохранения по умолчанию`n          (выделена текущая папка)
    if ErrorLevel
      Return
    RegWrite, REG_SZ, HKCU, Software\Microsoft\Internet Explorer\Main
            , Save Directory, %SaveDir%
  }
  else if(BrowserName=&quot;Op&quot;)
  {
    Send, ^{F12}                   ; Ctrl-F12
    WinWait, Настройки,, 3
    if ErrorLevel
      Return
    CoordMode, Mouse, Relative
    Click, 260, 55
    Click, 50, 190
    Click, 456, 366, 0
  }
}</code></pre></div>]]></description>
			<author><![CDATA[null@example.com (YMP)]]></author>
			<pubDate>Fri, 15 Dec 2006 17:46:06 +0000</pubDate>
			<guid>http://forum.script-coding.com/viewtopic.php?pid=1289#p1289</guid>
		</item>
	</channel>
</rss>
