Cześć. mam krótki skrypt (C# .NET Console) który zmienia tapetę ale nie ustawia aby ta tapeta była na cały ekran i nie wiem jak to zmienić
Kod:
using Microsoft.Win32;
using System;
using System.Runtime.InteropServices;
using System.IO;
namespace WLP
{
class Program
{
[DllImport("user32.dll", CharSet = CharSet.Auto)]
private static extern Int32 SystemParametersInfo(
UInt32 action, UInt32 uParam, String vParam, UInt32 winIni);
private static readonly UInt32 SPI_SETDESKWALLPAPER = 0x14;
private static readonly UInt32 SPIF_UPDATEINIFILE = 0x01;
private static readonly UInt32 SPIF_SENDWININICHANGE = 0x02;
static public void SetWallpaper(String path)
{
RegistryKey key = Registry.CurrentUser.OpenSubKey(@"Control Panel\Desktop", true);
key.SetValue(@"WallpaperStyle", 0.ToString());
key.SetValue(@"TileWallpaper", 0.ToString());
SystemParametersInfo(SPI_SETDESKWALLPAPER, 0, path, SPIF_UPDATEINIFILE | SPIF_SENDWININICHANGE);
}
static void Main(string[] args)
{
string imgWallpaper = @"C:\Users\GIABYTE\Pictures\Bez_tytuu.png";
// verify
if (File.Exists(imgWallpaper))
{
SetWallpaper(imgWallpaper);
}
}
}
}
znalazłem taki link ale nic mi konkretnego nie mówi może komuś się przyda: https://docs.microsoft.com/en-us/windows/win32/api/winuser/nf-winuser-systemparametersinfoa