Dostávám stejný výsledek, můžete nám poskytnout podrobnější popis toho, jak jste to vyřešili, pro nás nováčky. PowerShell v poli Program / script? kde přesně to je? a kde je umístěna složka skriptů PS atd. dík
Úžasné, to je dobré vědět. Díky moc, Dane. :)
Ahoj kamaráde, dostávám černou tapetu. nějaké řešení?
ts = New-TimeSpan -Hours -2 -Minutes -30 #Počet hodin a minut pro přidání / odečtení data. Upravte to tak, aby se vaše systémové datum posunulo kolem GMT (myslím?)
$ now = ((Get-Date -Second 00) + $ ts)
$ now = $ now. AddMinutes (- ($ now.minute% 10))
$ width = 550
$ level = "4d" #Level může být 4d, 8d, 16d, 20d
$ numblocks = 4 #this zjevně přímo odpovídá úrovni, udržujte toto přesně stejné jako úroveň bez 'd'
$ time = $ now. ToString ("HHmmss")
$ year = $ now. ToString ("rrrr")
$ month = $ now. ToString („MM“)
$ day = $ now. ToString ("dd")
#Vytvořte složku Moje obrázky \ Himawari \, pokud neexistuje
$ outpath = [Prostředí]:: GetFolderPath ("MyPictures") + "\ Himawari \"
if (! (Test-Path - Cesta $ outpath))
{
[void] (New-Item -ItemType directory -Path $ outpath)
}
# Název souboru, který bude uložen:
#Uncomment to, aby se soubory hromadily v adresáři:
# $ outfile = "$ rok $ měsíc $ den" + "_" + $ čas + ".jpg"
# Použijte toto, chcete-li, aby skript uložil pouze nejnovější soubor:
$ outfile = "latest.jpg"
$ url = " http://himawari8-dl.nict.go.jp/himawari8/img/D531106/$level/$width/$year/$month/$day/$time"
[void] [reflection.assembly]:: LoadWithPartialName ("Systém. Okna. Formuláře")
[void] [reflection.assembly]:: LoadWithPartialName ("Systém. Výkres")
$ image = Nový objektový systém. Výkres. Bitmapa (($ width * $ numblocks), ($ width * $ numblocks))
$ graphics = [Systém. Výkres. Graphics]:: FromImage ($ image)
$ grafika. Vymazat ([Systém. Výkres. Černá barva)
pro ($ y = 0; $ y -lt $ numblocks; $ y ++)
{
pro ($ x = 0; $ x -lt $ numblocks; $ x ++)
{
$ thisurl = $ url + "_" + [String] $ x + "_" + [String] $ y + ".png"
Zápis-výstup "Stahování: $ thisurl"
Snaž se
{
$ request = [Systém. Síť. WebRequest]:: create ($ thisurl)
$ response = $ request.getResponse ()
$ HTTP_Status = [int] $ odpověď. StatusCode
Pokud ($ HTTP_Status -eq 200)
{
$ imgblock = [Systém. Výkres. Obrázek]:: fromStream ($ response.getResponseStream ())
$ grafika. DrawImage ($ imgblock, ($ x * $ width), ($ y * $ width), $ width, $ width)
$ imgblock.dispose ()
$ response. Zavřít()
}
}
Chytit
{
$ ErrorMessage = $ _. Výjimka. Zpráva
$ FailedItem = $ _. Výjimka. Název položky
Zápis-výstup „Selhalo! $ ErrorMessage s $ FailedItem "
}
}
}
$ qualityEncoder = [Systém. Výkres. Zobrazování. Encoder]:: Kvalita
$ encoderParams = Systém nových objektů. Výkres. Zobrazování. EncoderParameters (1)
# Zde nastavte úroveň kvality JPEG: 0 - 100 (včetně limitů)
$ encoderParams. Param [0] = Systém nových objektů. Výkres. Zobrazování. EncoderParameter ($ qualityEncoder, 90)
$ jpegCodecInfo = [Systém. Výkres. Zobrazování. ImageCodecInfo]:: GetImageEncoders () | kde {$ _. MimeType -eq 'image / jpeg'}
$ image.save (($ outpath + $ outfile), $ jpegCodecInfo, $ encoderParams)
$ image. Dispose ()
Zápis-výstup "Nastavení tapety ..."
Set-ItemProperty - cesta "HKCU: Ovládací panely \ Plocha" - název Tapeta - hodnota ($ outpath + $ outfile)
Set-ItemProperty - cesta "HKCU: Ovládací panely \ Desktop" - jméno WallpaperStyle - hodnota 6
Set-ItemProperty - cesta "HKCU: Ovládací panely \ Desktop" - jméno TileWallpaper - hodnota 0
Set-ItemProperty 'HKCU: \ Control Panel \ Colors' -name Background -Value "0 0 0"
# rundll32.exe user32.dll, UpdatePerUserSystemParameters
$ setwallpapersource = @ "
pomocí systému. Runtime. InteropServices;
veřejná třída tapety
{
public const int SetDesktopWallpaper = 20;
public const int UpdateIniFile = 0x01;
public const int SendWinIniChange = 0x02;
[DllImport ("user32.dll", SetLastError = true, CharSet = CharSet. Auto)]
soukromý statický externí int SystemParametersInfo (int uAction, int uParam, string lpvParam, int fuWinIni);
public static void SetWallpaper (cesta k řetězci)
{
SystemParametersInfo (SetDesktopWallpaper, 0, path, UpdateIniFile | SendWinIniChange);
}
}
"@
Add-Type -TypeDefinition $ setwallpapersource
[tapeta]:: SetWallpaper (($ outpath + $ outfile))
Zápis-výstup "Hotovo"