<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
	<title type="html"><![CDATA[Серый форум &mdash; AutoHotkey: Сохранение веб-страницы в формат mht одной клавишей]]></title>
	<link rel="self" href="http://forum.script-coding.com/extern.php?action=feed&amp;tid=242&amp;type=atom" />
	<updated>2006-12-15T17:46:06Z</updated>
	<generator>PunBB</generator>
	<id>http://forum.script-coding.com/viewtopic.php?id=242</id>
		<entry>
			<title type="html"><![CDATA[AutoHotkey: Сохранение веб-страницы в формат mht одной клавишей]]></title>
			<link rel="alternate" href="http://forum.script-coding.com/viewtopic.php?pid=1289#p1289" />
			<content type="html"><![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>]]></content>
			<author>
				<name><![CDATA[YMP]]></name>
				<uri>http://forum.script-coding.com/profile.php?id=81</uri>
			</author>
			<updated>2006-12-15T17:46:06Z</updated>
			<id>http://forum.script-coding.com/viewtopic.php?pid=1289#p1289</id>
		</entry>
</feed>
