<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
	<channel>
		<title><![CDATA[Серый форум &mdash; AHK: Смена обоев рабочего стола]]></title>
		<link>http://forum.script-coding.com/viewtopic.php?id=5417</link>
		<atom:link href="http://forum.script-coding.com/extern.php?action=feed&amp;tid=5417&amp;type=rss" rel="self" type="application/rss+xml" />
		<description><![CDATA[Недавние сообщения в теме «AHK: Смена обоев рабочего стола».]]></description>
		<lastBuildDate>Tue, 25 Jan 2011 10:32:29 +0000</lastBuildDate>
		<generator>PunBB</generator>
		<item>
			<title><![CDATA[AHK: Смена обоев рабочего стола]]></title>
			<link>http://forum.script-coding.com/viewtopic.php?pid=44393#p44393</link>
			<description><![CDATA[<p>Требует наличия <a href="http://www.autohotkey.net/~tic/Gdip.ahk">Gdip.ahk</a> в <a href="http://www.autohotkey.com/docs/Functions.htm#lib">пользовательской библиотеке</a> (папка Мои документы\AutoHotkey\Lib\).<br /></p><div class="codebox"><pre><code>SetWallpaper(sWallpaperPath, nStyle = 3)
{
/*
Функция меняет обои рабочего стола.

sWallpaperPath — путь к файлу с изображением

nStyle = 1 — по центру
nStyle = 2 — замостить
nStyle = 3 — растянуть

Только для Win 7:
nStyle = 4 — по размеру
nStyle = 5 — заполнение

Требует наличия Gdip.ahk в пользовательской библиотеке.
http://www.autohotkey.net/~tic/Gdip.ahk
*/

   SPI_SETDESKWALLPAPER = 0x14
   SPIF_SENDWININICHANGE = 0x2
   SPIF_UPDATEINIFILE = 0x1

   bTile := nStyle = 2 ? 1 : 0
   iStyle := (nStyle = 1 || nStyle = 2) ? 0 : nStyle = 4 ? 6 : nStyle = 5 ? 10 : 2

   if !FileExist(A_AppData &quot;\Wallpaper&quot;)
      FileCreateDir, %A_AppData%\Wallpaper
   dFile := A_AppData &quot;\Wallpaper\Wallpaper.bmp&quot;

   SplitPath, sWallpaperPath,,, OutExtension
   if OutExtension != bmp
   {
      if !pToken := Gdip_Startup()
      {
         MsgBox, 48, Ошибка GDI+, Убедитесь в наличии gdiplus.dll в вашей системе!
         Return
      }
      if !pBitmap := Gdip_CreateBitmapFromFile(sWallpaperPath)
      {
         MsgBox, 48, Ошибка GDI+, Невозможно извлечь изображение из файла.
         Gdip_Shutdown(pToken)
         Return
      }
      Gdip_SaveBitmapToFile(pBitmap, dFile)
      Gdip_DisposeImage(pBitmap)
      Gdip_Shutdown(pToken)
   }
   Else
      FileMove, %sWallpaperPath%, %dFile%, 1

   RegWrite, REG_SZ, HKCU, Control Panel\Desktop, TileWallpaper, %bTile%
   RegWrite, REG_SZ, HKCU, Control Panel\Desktop, WallpaperStyle, %iStyle%

   DllCall(&quot;SystemParametersInfo&quot;, UInt, SPI_SETDESKWALLPAPER, UInt, 0
      , Str, dFile, UInt, SPIF_SENDWININICHANGE | SPIF_UPDATEINIFILE)
}</code></pre></div><p>Авторы скрипта — <strong>teadrinker</strong> и <strong>YMP</strong>.<br />Задавайте вопросы по работе скрипта и сообщайте о замеченных багах в <a href="http://forum.script-coding.com/viewtopic.php?id=5414">этой</a> теме.</p>]]></description>
			<author><![CDATA[null@example.com (teadrinker)]]></author>
			<pubDate>Tue, 25 Jan 2011 10:32:29 +0000</pubDate>
			<guid>http://forum.script-coding.com/viewtopic.php?pid=44393#p44393</guid>
		</item>
	</channel>
</rss>
