Hier möchte euch an meinem kleinen Script teil haben lassen
Gibt hier bestimmt noch mehr Leute die mehr auf den Desktop glotzen als mal raus
Für die ist es vllt doch mal ganz Interesant wie warm es draußen ist um vllt doch einmal rauszugehen
Das Script hollt sie den Aktuellen Wetter Status ( mit bild und Integriet es in das Hintergrundbild )
Wir das Prog Beendet wird orginalbild wieder gesetzt
Spoiler anzeigen
#cs ----------------------------------------------------------------------------
Script: Wetter.au3
Version: 1.0
Author: Gummibaer
Info: Veränderungen für eigennutzen Erlaubt .. für bekanntmachung an
Andere Untersagt
<Wetter.ini>
[Settings]
PLZ=29359
; Aktualisierungsintervall in Sekunden
Interval=60
; PosX von rechts
PosX=300
; PosY von oben
PosY=1
;0xFF + Farbe Weiß = ffffff Schwarz = 00000 ( Hexefarben )
Color=0xFFffffff
;Schriftart
Font=Arial
;Schriftgröße
FontSize=24
<Wetter.ini Ende>
#ce ----------------------------------------------------------------------------
[/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]#include <Inet.au3>
#include <GDIPlus.au3>
Opt("OnExitFunc","_exit")
Global Const $SPIF_SENDWININICHANGE = 0x2
Global Const $SPIF_UPDATEINIFILE = 0x1
Global Const $SPI_SETDESKWALLPAPER = 20
Global $defaultwallpaper = RegRead("HKEY_CURRENT_USER\Control Panel\Desktop","Wallpaper")
Global $posX = IniRead("Wetter.ini", "Settings", "PosX", 300)
Global $posY = IniRead("Wetter.ini", "Settings", "PosY", 0)
Global $Color = IniRead("Wetter.ini", "Settings", "Color", 0xFFffffff)
Global $Font = IniRead("Wetter.ini", "Settings", "Font", "Arial")
Global $FontSize = IniRead("Wetter.ini", "Settings", "FontSize", "24")
$plz = IniRead("Wetter.ini", "Settings", "PLZ", 29259)
$interval = IniRead("Wetter.ini", "Settings", "Interval", 60)
While 1
$html = _INetGetSource("http://de.weather.com/weather/local/" & $plz)
$var = StringRegExp($html, '<TD COLSPAN="2" CLASS="obsTempText" VALIGN="TOP"> (.*)°C</TD>', 0)
If $var = 1 Then
$var = StringRegExp($html, '<TD COLSPAN="2" CLASS="obsTempText" VALIGN="TOP"> (.*)°C</TD>', 1)
$weather = $var[0] & "°"
Else
$weather = "Keine Verbindung"
EndIf
$var = StringRegExp($html, '<TD><IMG src="http://image.weather.com/web/common/intlwxicons/52/(.*)" height="52" width="52" border="0" ALT="', 0)
If $var = 1 Then
$var = StringRegExp($html, '<TD><IMG src="http://image.weather.com/web/common/intlwxicons/52/(.*)" height="52" width="52" border="0" ALT="', 1)
$pic = "http://image.weather.com/web/common/intlwxicons/52/" & $var[0]
InetGet($pic, "weather.gif", 1)
If FileExists("weather.gif") Then
$pic = "weather.gif"
Else
$pic = "empty.gif"
EndIf
Else
$pic = "empty.gif"
EndIf
_BaueHintergrundbildzusammen($weather)
DllCall("user32.dll", "int", "SystemParametersInfo", "uint", $SPI_SETDESKWALLPAPER, "uint", 0, "str", @ScriptDir & "\BG.bmp", "uint", BitOR($SPIF_SENDWININICHANGE,$SPIF_UPDATEINIFILE))
Sleep($interval * 1000)
WEnd
Func _BaueHintergrundbildzusammen($weather)
_GDIPlus_Startup() ;GDI starten
$LoadPic = _GDIPlus_ImageLoadFromFile($defaultwallpaper)
$wetterPic = _GDIPlus_ImageLoadFromFile(@ScriptDir & "\weather.gif")
$hGraphics = _GDIPlus_ImageGetGraphicsContext ($LoadPic)
$iX = _GDIPlus_ImageGetWidth($LoadPic)
$iX2 = _GDIPlus_ImageGetWidth($wetterPic)
$iy2 = _GDIPlus_ImageGetHeight($wetterPic)
$hBrush = _GDIPlus_BrushCreateSolid($Color)
$hFormat = _GDIPlus_StringFormatCreate()
$hFamily = _GDIPlus_FontFamilyCreate($Font)
$hFont = _GDIPlus_FontCreate($hFamily, $FontSize, 2)
$tLayout = _GDIPlus_RectFCreate($iX- ($posX -$iX2), $posY + (($iy2 - $FontSize) / 2), 0, 0)
$aInfo = _GDIPlus_GraphicsMeasureString($hGraphics, $weather, $hFont, $tLayout, $hFormat)
_GDIPlus_GraphicsDrawStringEx($hGraphics, $weather, $hFont, $aInfo[0], $hFormat, $hBrush)
_GDIPlus_GraphicsDrawImage ($hGraphics, $wetterPic, $iX- $posX, $posY)
_GDIPlus_ImageSaveToFile($LoadPic, @ScriptDir & "\BG.bmp")
_GDIPlus_BrushDispose($hBrush)
_GDIPlus_ImageDispose($LoadPic)
_GDIPlus_ImageDispose($wetterPic)
_GDIPlus_Shutdown()
return @ScriptDir & "\BG.jpg"
EndFunc
Func _exit()
DllCall("user32.dll", "int", "SystemParametersInfo", "uint", $SPI_SETDESKWALLPAPER, "uint", 0, "str", $defaultwallpaper, "uint", BitOR($SPIF_SENDWININICHANGE,$SPIF_UPDATEINIFILE))
EndFunc
Normal
[Blockierte Grafik: http://www.central-irc.de/Nichtgestartet.JPG]
gestartet
[Blockierte Grafik: http://www.central-irc.de/gestartet.JPG]
Hinweis:
Die position wird anhand der Bildauflösung gestezt nicht nach der Bildschirmauflösung
Desweiteren Funktioniert das nur wenn auch ein Hintergundbild gesetzt wurde.
Wo keins ist kann keins geändert werden