<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
	<channel>
		<title><![CDATA[Серый форум &mdash; Ahk: Мастер очистки рабочего стола 2]]></title>
		<link>https://forum.script-coding.com/viewtopic.php?id=5285</link>
		<atom:link href="https://forum.script-coding.com/extern.php?action=feed&amp;tid=5285&amp;type=rss" rel="self" type="application/rss+xml" />
		<description><![CDATA[Недавние сообщения в теме «Ahk: Мастер очистки рабочего стола 2».]]></description>
		<lastBuildDate>Mon, 20 Dec 2010 21:36:50 +0000</lastBuildDate>
		<generator>PunBB</generator>
		<item>
			<title><![CDATA[Re: Ahk: Мастер очистки рабочего стола 2]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=42896#p42896</link>
			<description><![CDATA[<div class="quotebox"><cite>ypppu пишет:</cite><blockquote><p>Хорошо, поищу по форуму способ обойтись без файлов.</p></blockquote></div><p>Искать лучше всего <a href="http://www.autohotkey.com/forum/topic32238.html">здесь</a>.<br />Вот тебе в помощь рабочий примерчик. Скрипт получает bitmap экрана, предварительно на время скрыв развёрнутые окна, и помещает полученную картинку в GUI. Требует наличия в пользовательской библиотеке скрипта <a href="http://www.autohotkey.net/~tic/Gdip.ahk">Gdip.ahk</a><br /></p><div class="codebox"><pre><code>   SetBatchLines, -1

   Gui, Add, Pic
      , % &quot;x0 y0 w&quot; A_ScreenWidth/3 &quot; h&quot; A_ScreenHeight/3 &quot; hwndhPic +0xE&quot; ; SS_BITMAP := 0xE

   If !pToken := Gdip_Startup()
   {
      MsgBox, 48, Ошибка GDI+!
         , Убедитесь в наличии gdiplus.dll в вашей системе!
      ExitApp
   }
   
   WinGet, List, List
   Loop % List
   {
      WinGet, MinMax, MinMax, % &quot;ahk_id &quot; List%A_Index%
      if (MinMax = -1 || List%A_Index% = WinExist(&quot;Program Manager ahk_class Progman&quot;)
         || List%A_Index% = WinExist(&quot;ahk_class Shell_TrayWnd&quot;))
         Continue
      WinList .= List%A_Index% . &quot;`n&quot;
   }
   StringTrimRight, WinList, WinList, 1

   Loop, parse, WinList, `n
      WinHide, ahk_id %A_LoopField%

   pBitmap := Gdip_BitmapFromScreen()

   Sort, WinList, F ReverseDirection D`n

   Loop, parse, WinList, `n
   {
      WinShow, ahk_id %A_LoopField%
      WinActivate, ahk_id %A_LoopField%
   }

   SetImageToControl(pBitmap, hPic)
   Gdip_DisposeImage(pBitmap)
   Gdip_Shutdown(pToken)
   
   Gui, Show, % &quot;w&quot; A_ScreenWidth/3 &quot; h&quot; A_ScreenHeight/3
   Return
   
GuiClose:
   ExitApp
   
ReverseDirection(a1, a2, offset)
{
   return offset
}

SetImageToControl(pBitmap, hwnd)
{
   ControlGetPos,,, W, H,, ahk_id %hwnd%
   hBitmapPic := CreateDIBSection(W, H)
   pBitmapPic := Gdip_CreateBitmapFromHBITMAP(hBitmapPic)
   G := Gdip_GraphicsFromImage(pBitmapPic)
   Gdip_SetInterpolationMode(G, 7)
   Width := Gdip_GetImageWidth(pBitmap), Height := Gdip_GetImageHeight(pBitmap)
   Gdip_DrawImage(G, pBitmap, 0, 0, W, H, 0, 0, Width, Height)
   DeleteObject(hBitmapPic)

   hBitmapPic := Gdip_CreateHBITMAPFromBitmap(pBitmapPic)
   SetImage(hwnd, hBitmapPic)

   Gdip_DeleteGraphics(G)
   Gdip_DisposeImage(pBitmapPic)
   DeleteObject(hBitmapPic)
}</code></pre></div>]]></description>
			<author><![CDATA[null@example.com (teadrinker)]]></author>
			<pubDate>Mon, 20 Dec 2010 21:36:50 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=42896#p42896</guid>
		</item>
		<item>
			<title><![CDATA[Re: Ahk: Мастер очистки рабочего стола 2]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=42892#p42892</link>
			<description><![CDATA[<p>Непрозрачный фон - это поправимо.<br /></p><div class="quotebox"><blockquote><p>Кстати, файл скриншота вообще не нужен, достаточно получить bitmap.</p></blockquote></div><p>Хорошо, поищу по форуму способ обойтись без файлов.<br />Кстати, поначалу думал сделать полезную программу, а не просто шутку. Например, если человек отлучился от компьютера на 2 минуты, и нужно скрыть рабочий стол от посторонних глаз. Вот только один &quot;юнит&quot; будет долго трудиться, а вызвать толпу - у меня не хватило терпения. В общем пока вот так, когда время появится - будут катапульты и т. д.</p>]]></description>
			<author><![CDATA[null@example.com (ypppu)]]></author>
			<pubDate>Mon, 20 Dec 2010 19:52:57 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=42892#p42892</guid>
		</item>
		<item>
			<title><![CDATA[Re: Ahk: Мастер очистки рабочего стола 2]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=42890#p42890</link>
			<description><![CDATA[<p>Нужно было просто пояснить, что это программа-шутка. Попробовал — выглядит несколько архаично, такие лет 10 назад писали. Принципиальные ошибки: у персонажа непрозрачный фон; использование paint&#039;а для получения файла скриншота. Эти темы здесь уже разбирались. Кстати, файл скриншота вообще не нужен, достаточно получить bitmap.</p>]]></description>
			<author><![CDATA[null@example.com (teadrinker)]]></author>
			<pubDate>Mon, 20 Dec 2010 16:39:25 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=42890#p42890</guid>
		</item>
		<item>
			<title><![CDATA[Re: Ahk: Мастер очистки рабочего стола 2]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=42889#p42889</link>
			<description><![CDATA[<p>Так Вы ещё не запускали его?<br />Объекты ни куда не деваются. Просто поверх рабочего стола появляются несколько окон, создаётся впечатление постепенной очистки рабочего стола. По нажатию клавиши Esc окна закрываются, и мы видим, что все объекты остались на своих местах.</p>]]></description>
			<author><![CDATA[null@example.com (ypppu)]]></author>
			<pubDate>Mon, 20 Dec 2010 16:29:32 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=42889#p42889</guid>
		</item>
		<item>
			<title><![CDATA[Re: Ahk: Мастер очистки рабочего стола 2]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=42887#p42887</link>
			<description><![CDATA[<p>В смысле,&nbsp; &quot;убирает&quot;? Мне нужны мои объекты!</p>]]></description>
			<author><![CDATA[null@example.com (teadrinker)]]></author>
			<pubDate>Mon, 20 Dec 2010 15:17:31 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=42887#p42887</guid>
		</item>
		<item>
			<title><![CDATA[Re: Ahk: Мастер очистки рабочего стола 2]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=42886#p42886</link>
			<description><![CDATA[<p>Описание: пользователь видит, как на экране появляется персонаж и &quot;убирает&quot; с рабочего стола все имеющиеся объекты. Сам скрипт немного сыроват (&amp;#946;-версия): в коде присутствуют лишние закомментированные строки, где-то наоборот, не хватает пояснений. И работает всё это пока при стандартных размерах значков. Нет возможности изменить громкость (выключить) звук.<br />Вопрос, как сделать этот скрип&nbsp; заставкой пока не рассматривался.</p>]]></description>
			<author><![CDATA[null@example.com (ypppu)]]></author>
			<pubDate>Mon, 20 Dec 2010 13:30:35 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=42886#p42886</guid>
		</item>
		<item>
			<title><![CDATA[Re: Ahk: Мастер очистки рабочего стола 2]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=42884#p42884</link>
			<description><![CDATA[<p>А описание скрипта где?</p>]]></description>
			<author><![CDATA[null@example.com (teadrinker)]]></author>
			<pubDate>Mon, 20 Dec 2010 09:50:19 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=42884#p42884</guid>
		</item>
		<item>
			<title><![CDATA[Ahk: Мастер очистки рабочего стола 2]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=42879#p42879</link>
			<description><![CDATA[<p>Выкладываю скрипт на тестирование. Программа-заставка &quot;Мастер очистки рабочего стола 2&quot; <img src="//forum.script-coding.com/img/smilies/smile.png" width="15" height="15" /><br />Ищу недочёты&nbsp; и ошибки. Интересует и мнение об уровне громкости.<br />Скрипт и прилагаемые файлы в архиве. <a href="http://files.mail.ru/Q6EMV6">http://files.mail.ru/Q6EMV6</a></p><p>Внимание! Для завершения работы скрипта нужно нажать Escape.</p>]]></description>
			<author><![CDATA[null@example.com (ypppu)]]></author>
			<pubDate>Sun, 19 Dec 2010 20:43:48 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=42879#p42879</guid>
		</item>
	</channel>
</rss>
