Aynı sonucu alıyorum, bize acemiler için nasıl düzelttiğinize dair daha ayrıntılı bir açıklama verebilir misiniz? Program / komut dosyası alanında PowerShell? tam olarak nerede? ve PS komut dosyaları klasörü nerede bulunur? Teşekkürler
Harika, bunu bilmek güzel. Çok teşekkürler Dan. :)
Hey dostum siyah duvar kağıdı alıyorum. herhangi bir çözüm?
ts = New-TimeSpan -Hours -2 -Minutes -30 # Tarihe ekleme / çıkarma için saat ve dakika sayısı. Sistem tarihinizi GMT hakkında dengelemek için bunu ayarlayın (sanırım?)
$ now = ((Get-Date -Saniye 00) + $ ts)
$ now = $ now. AddMinutes (- (şimdi $. Dakika% 10))
$ genişlik = 550
$ level = "4d" #Seviye 4d, 8d, 16d, 20d olabilir
$ numblocks = 4 #Bu görünüşte doğrudan seviyeye karşılık geliyor, bunu 'd' olmadan seviyeyle tamamen aynı tutun
$ time = $ şimdi. ToString ( "SSDDSS")
$ yıl = $ şimdi. ToString ( "yyyy")
$ month = $ now. ToString ( "AA")
$ day = $ şimdi. ToString ( "dd")
# Resimlerim \ Himawari \ klasörünü oluşturma
$ outpath = [Çevre]:: GetFolderPath ("MyPictures") + "\ Himawari \"
if (! (Test Yolu -Yol $ yolu))
{
[void] (Yeni Öğe -ItemType dizini -Path $ çıkış yolu)
}
# Kaydedilecek dosya adı:
# Dosyaları dizinde biriktirmek için bunu kaldırın:
# $ outfile = "$ yıl $ ay $ gün" + "_" + $ zaman + ".jpg"
# Betiğin yalnızca en son dosyayı saklaması için bunu kullanın:
$ outfile = "latest.jpg"
$ url = " http://himawari8-dl.nict.go.jp/himawari8/img/D531106/$level/$width/$year/$month/$day/$time"
[Boşluk] [reflection.assembly]:: LoadWithPartialName ( "Sistemi. Pencereler. Formlar")
[Boşluk] [reflection.assembly]:: LoadWithPartialName ( "Sistemi. Çizim")
$ image = Yeni Nesne Sistemi. Çizim. Bitmap (($ width * $ numblocks), ($ width * $ numblocks))
$ graphics = [Sistem. Çizim. Grafik]:: FromImage ($ resim)
$ Grafikler. Temizle ([Sistemi. Çizim. Siyah renk)
için ($ y = 0; $ y -lt $ numblocks; $ Y ++)
{
için ($ x = 0; $ x -lt $ numblocks; $ X ++)
{
$ thisurl = $ url + "_" + [Dize] $ x + "_" + [Dize] $ y + ".png"
Write-Output "İndiriliyor: $ thisurl"
Deneyin
{
$ request = [Sistem. Ağ. WebRequest]:: oluşturmak ($ thisurl)
$ response = $ request.getResponse ()
$ HTTP_Status = [int] $ yanıt. Durum kodu
Eğer ($ HTTP_Status -eq 200)
{
$ imgblock = [Sistem. Çizim. Resim]:: fromStream ($ response.getResponseStream ())
$ Grafikler. DrawImage ($ imgblock, ($ x * $ width), ($ y * $ width), $ width, $ width)
) (İmgblock.dispose, $
$ Yanıt. Kapat()
}
}
Tutmak
{
$ ErrorMessage = $ _. İstisna. İleti
$ FailedItem = $ _. İstisna. Öğe adı
Yazma-Çıktı "Başarısız! $ FailedItem ile $ ErrorMessage "
}
}
}
$ qualityEncoder = [Sistem. Çizim. Görüntüleme. Encoder]:: Kalite
$ encoderParams = Yeni Nesne Sistemi. Çizim. Görüntüleme. Kodlayıcı Parametreleri (1)
# JPEG kalite seviyesini buradan ayarlayın: 0 - 100 (dahil sınırlar)
$ EncoderParams. Param [0] = Yeni Nesne Sistemi. Çizim. Görüntüleme. Kodlayıcı Parametresi ($ qualityEncoder, 90)
$ jpegCodecInfo = [Sistem. Çizim. Görüntüleme. ImageCodecInfo]:: GetImageEncoders () | burada {$ _. MimeType -eq 'image / jpeg'}
$ image.save (($ outpath + $ outfile), $ jpegCodecInfo, $ encoderParams)
$ Görüntüsü. Elden çıkarmak()
Yazma-Çıktı "Duvar Kağıdı Ayarlanıyor ..."
Set-ItemProperty -path "HKCU: Denetim Masası \ Masaüstü" -ads Duvar Kağıdı -değer ($ outpath + $ outfile)
Set-ItemProperty -path "HKCU: Denetim Masası \ Masaüstü" -adı WallpaperStyle -değer 6
Set-ItemProperty -path "HKCU: Denetim Masası \ Masaüstü" adı TileWallpaper -value 0
Set-ItemProperty 'HKCU: \ Denetim Masası \ Renkler' -adı Arka Plan -Değer "0 0 0"
# rundll32.exe user32.dll, UpdatePerUserSystemParameters
$ setwallpapersource = @ "
Sistem kullanarak. Çalışma süresi. InteropServices;
kamu sınıfı duvar kağıdı
{
public const int SetDesktopWallpaper = 20;
public const int UpdateIniFile = 0x01;
public const int SendWinIniChange = 0x02;
[DllImport ("user32.dll", SetLastError = true, CharSet = CharSet. Oto)]
özel statik extern int SystemParametersInfo (int uAction, int uParam, dize lpvParam, int fuWinIni);
genel statik geçersiz SetWallpaper (dize yolu)
{
SystemParametersInfo (SetDesktopWallpaper, 0, yol, UpdateIniFile | SendWinIniChange);
}
}
"@
Add-Type -TypeDefinition $ setwallpapersource
[duvar kağıdı]:: SetWallpaper (($ outpath + $ outfile))
Yazma-Çıktı "Tamamlandı"