j'obtiens le même résultat, pouvez-vous nous donner une description plus détaillée de la façon dont vous l'avez corrigé, pour nous novices. PowerShell dans le champ Programme / script? où est-ce exactement? et où se trouve le dossier des scripts PS, etc. Merci
Génial, c'est bon à savoir. Merci beaucoup, Dan. :)
Hey mec, je reçois du papier peint noir. Toute solution?
ts = New-TimeSpan -Hours -2 -Minutes -30 #Nombre d'heures et de minutes à ajouter / soustraire à la date. Ajustez cela pour décaler la date de votre système vers environ GMT (je pense?)
$ now = ((Get-Date -Second 00) + $ ts)
$ maintenant = $ maintenant. AddMinutes (- ($ now.minute% 10))
$ width = 550
$ level = "4d" #Level peut être 4d, 8d, 16d, 20d
$ numblocks = 4 # cela correspond apparemment directement au niveau, gardez-le exactement le même que le niveau sans le 'd'
$ time = $ now. ToString ("HHmmss")
$ année = $ maintenant. ToString ("aaaa")
$ month = $ now. ToString ("MM")
$ day = $ now. ToString ("dd")
#Créez le dossier Mes images \ Himawari \ s'il n'existe pas
$ outpath = [Environment]:: GetFolderPath ("MyPictures") + "\ Himawari \"
if (! (Test-Path -Path $ outpath))
{
[void] (New-Item -ItemType directory -Path $ outpath)
}
#Le nom de fichier qui sera enregistré:
# Décommentez ceci pour que les fichiers s'accumulent dans le répertoire:
# $ outfile = "$ year $ month $ day" + "_" + $ time + ".jpg"
#Utilisez ceci pour que le script stocke uniquement le dernier fichier:
$ outfile = "latest.jpg"
$ url = " http://himawari8-dl.nict.go.jp/himawari8/img/D531106/$level/$width/$year/$month/$day/$time"
[void] [réflexion.assemblage]:: LoadWithPartialName ("Système. Les fenêtres. Formes")
[void] [réflexion.assemblage]:: LoadWithPartialName ("Système. Dessin")
$ image = Système New-Object. Dessin. Bitmap (($ width * $ numblocks), ($ width * $ numblocks))
$ graphics = [Système. Dessin. Graphics]:: FromImage ($ image)
$ graphiques. Effacer ([Système. Dessin. La couleur noire)
pour ($ y = 0; $ y -lt $ numblocks; $ y ++)
{
pour ($ x = 0; $ x -lt $ numblocks; $ x ++)
{
$ thisurl = $ url + "_" + [String] $ x + "_" + [String] $ y + ".png"
Sortie en écriture "Téléchargement: $ thisurl"
essayer
{
$ request = [Système. Net. WebRequest]:: create ($ thisurl)
$ response = $ request.getResponse ()
$ HTTP_Status = [int] $ response. StatusCode
If ($ HTTP_Status -eq 200)
{
$ imgblock = [Système. Dessin. Image]:: fromStream ($ response.getResponseStream ())
$ graphiques. DrawImage ($ imgblock, ($ x * $ width), ($ y * $ width), $ width, $ width)
$ imgblock.dispose ()
$ response. Proche()
}
}
Capture
{
$ ErrorMessage = $ _. Exception. Message
$ FailedItem = $ _. Exception. Nom de l'article
Écriture-sortie "a échoué! $ ErrorMessage avec $ FailedItem "
}
}
}
$ qualityEncoder = [Système. Dessin. Imagerie. Encodeur]:: Qualité
$ encoderParams = Système New-Object. Dessin. Imagerie. EncoderParameters (1)
# Définissez le niveau de qualité JPEG ici: 0 - 100 (bornes incluses)
$ encoderParams. Param [0] = Système New-Object. Dessin. Imagerie. EncoderParameter ($ qualityEncoder, 90)
$ jpegCodecInfo = [Système. Dessin. Imagerie. ImageCodecInfo]:: GetImageEncoders () | où {$ _. MimeType -eq 'image / jpeg'}
$ image.save (($ outpath + $ outfile), $ jpegCodecInfo, $ encoderParams)
$ image. Disposer()
Sortie en écriture "Définition du fond d'écran ..."
Set-ItemProperty -path "HKCU: Control Panel \ Desktop" -name Wallpaper Wallpaper -value ($ outpath + $ outfile)
Set-ItemProperty -path "HKCU: Control Panel \ Desktop" -name WallpaperStyle -value 6
Set-ItemProperty -path "HKCU: Control Panel \ Desktop" -name TileWallpaper -value 0
Set-ItemProperty 'HKCU: \ Control Panel \ Colors' -name Background -Value "0 0 0"
# rundll32.exe user32.dll, UpdatePerUserSystemParameters
$ setwallpapersource = @ "
en utilisant le système. Durée. InteropServices;
fond d'écran de classe publique
{
public const int SetDesktopWallpaper = 20;
public const int UpdateIniFile = 0x01;
const public int SendWinIniChange = 0x02;
[DllImport ("user32.dll", SetLastError = true, CharSet = CharSet. Auto)]
int statique externe int SystemParametersInfo (int uAction, int uParam, string lpvParam, int fuWinIni);
public static void SetWallpaper (chemin de chaîne)
{
SystemParametersInfo (SetDesktopWallpaper, 0, chemin, UpdateIniFile | SendWinIniChange);
}
}
"@
Add-Type -TypeDefinition $ setwallpapersource
[fond d'écran]:: SetWallpaper (($ outpath + $ outfile))
Sortie écriture "Terminé"