
рдпреВрд░реЛ 2012 рдХреА рдкреНрд░рддреНрдпрд╛рд╢рд╛ рдореЗрдВ рдореИрдВрдиреЗ рдПрдХ рдкреНрд░реЛрдЧреНрд░рд╛рдо рд▓рд┐рдЦрдиреЗ рдХрд╛ рдлреИрд╕рд▓рд╛ рдХрд┐рдпрд╛ рд╣реИ рдЬреЛ рдЖрдкрдХреЗ рдбреЗрд╕реНрдХрдЯреЙрдк рдкрд░ рдбреЛрдирдмрд╛рд╕ рдПрд░рд┐рдирд╛
рд╡реЗрдмрдХреИрдо рд╕реЗ рдЫрд╡рд┐ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рддрд╛ рд╣реИред
рдПрд▓реНрдЧреЛрд░рд┐рдереНрдо рдмрд╣реБрдд рд╕рд░рд▓ рд╣реИ рдФрд░ рдЗрд╕рдореЗрдВ рдХреЗрд╡рд▓ рдХреБрдЫ рдмрд┐рдВрджреБ рд╣реЛрддреЗ рд╣реИрдВ:
- рдЙрд╕ рдлрд╝рд╛рдЗрд▓ рдХрд╛ рдкрде рдкреНрд░рд╛рдкреНрдд рдХрд░реЗрдВ рдЬрд╣рд╛рдВ Windows рд╡рд░реНрддрдорд╛рди рдбреЗрд╕реНрдХрдЯреЙрдк рдЫрд╡рд┐ рдмрдЪрд╛рддрд╛ рд╣реИред
- рдЫрд╡рд┐ рдХреЛ рд╕рд╛рдЗрдЯ рд╕реЗ рдбрд╛рдЙрдирд▓реЛрдб рдХрд░реЗрдВ рдФрд░ рдЗрд╕реЗ рдкрде рдХреЗ рдкрд╣рд▓реЗ рдЪрд░рдг рдкрд░ рдкреНрд░рд╛рдкреНрдд рд╣реЛрдиреЗ рд╕реЗ рдмрдЪрд╛рдПрдВред
- рдбреЗрд╕реНрдХрдЯреЙрдк рдЫрд╡рд┐ рдХреЛ рдЕрдкрдбреЗрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдХрдорд╛рдВрдб рджреЗрдВред
рд╡рд░реНрддрдорд╛рди рдбреЗрд╕реНрдХрдЯреЙрдк рдЫрд╡рд┐ рдХреА рдлрд╝рд╛рдЗрд▓ рдХрд╛ рдкрде "HKEY_CURRENT_USER \ рдХрдВрдЯреНрд░реЛрд▓ рдкреИрдирд▓ \ рдбреЗрд╕реНрдХрдЯреЙрдк" рдХреБрдВрдЬреА рдХреЗ "рд╡реЙрд▓рдкреЗрдкрд░" рдкреИрд░рд╛рдореАрдЯрд░ рдХреЛ рдкрдврд╝рдХрд░ рд░рдЬрд┐рд╕реНрдЯреНрд░реА рд╕реЗ рдкреНрд░рд╛рдкреНрдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ:
String value = ""; try { RegistryKey hkey = Registry.CurrentUser.OpenSubKey("Control Panel\\Desktop", false); value = (String) hkey.GetValue("Wallpaper"); hkey.Close(); } catch (Exception) { value = ""; }
рдорд╛рди "C: \ Users \% рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдирд╛рдо% \ AppData \ Roaming \ Microsoft \ Windows \ Themes \ TranscodedWallpaper.jpg" рдЬреИрд╕реЗ рдХреБрдЫ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд░реЗрдЧрд╛
C # рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рд╡рд╛рд▓рд╛ рджреВрд╕рд░рд╛ рдЪрд░рдг рджреЛ рд▓рд╛рдЗрдиреЛрдВ рдореЗрдВ рд▓рд╛рдЧреВ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ:
WebClient client = new WebClient(); client.DownloadFile(fromUrl, pathToFile);
FromUrl рдкрд░ рдлрд╝рд╛рдЗрд▓ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдкрде рдкрд░ рдбрд╛рдЙрдирд▓реЛрдб рдХреА рдЬрд╛рддреА рд╣реИ, рдХрд┐рд╕реА рднреА рдкреНрд░рд╢реНрди рдХреЗ рдмрд┐рдирд╛ рдкрд┐рдЫрд▓реЗ рдПрдХ рдХреА рдЬрдЧрд╣, рдХрд┐рд╕реА рдПрдХ рдХреЛ рдмрджрд▓ рджрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред
рддреАрд╕рд░реЗ рдЪрд░рдг рдореЗрдВ рдореБрдЭреЗ рдереЛрдбрд╝рд╛ рдЪрд┐рдврд╝рдирд╛ рдкрдбрд╝рд╛ред WinAPI рдореЗрдВ рдбреЗрд╕реНрдХрдЯреЙрдк рдЫрд╡рд┐ рдХреЛ рдЕрдкрдбреЗрдЯ рдХрд░рдиреЗ рдХрд╛ рдЖрджреЗрд╢ рдЗрд╕ рддрд░рд╣ рджрд┐рдЦрддрд╛ рд╣реИ:
SystemParametersInfo(SPI_SETDESKWALLPAPER, 0, NULL, SPIF_UPDATEINIFILE | SPIF_SENDCHANGE);
рд▓реЗрдХрд┐рди рдореБрдЭреЗ рдкрддрд╛ рдирд╣реАрдВ рдерд╛ рдХрд┐ .NET рдЯреВрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЗрд╕ рдХрдорд╛рдВрдб рдХреЛ рдХреИрд╕реЗ рдХреЙрд▓ рдХрд┐рдпрд╛ рдЬрд╛рдП, рд╣рд╛рд▓рд╛рдВрдХрд┐ рдЕрд▓реЗрдХреНрдЬреЗрдВрдбрд░ рдХреНрд▓рд┐рдореЛрд╡ рдХреА рдХрд┐рддрд╛рдмреЛрдВ рдореЗрдВ рдХрд╛рдлреА рд╕рдордп рдмрд╛рдж рдореИрдВрдиреЗ рджреЗрдЦрд╛ рдХрд┐ рдпрд╣ рд╕рдВрднрд╡ рдерд╛ред
Pinvoke.net рд╡реЗрдмрд╕рд╛рдЗрдЯ рдореЗрд░реА рд╕рд╣рд╛рдпрддрд╛ рдХреЗ рд▓рд┐рдП рдЖрдИ рдФрд░ рдЗрд╕ рд╕рд░рд▓ рдХреЛрдб рдХреЛ рд▓рд┐рдЦрдиреЗ рдореЗрдВ рдореЗрд░реА рдорджрдж рдХреА:
public static void updateWallpaper() { SystemParametersInfo(SPI.SETDESKWALLPAPER, 0, null, SPIF.SENDCHANGE | SPIF.UPDATEINIFILE); } [DllImport("user32.dll", SetLastError = true)] [return: MarshalAs(UnmanagedType.Bool)] private static extern bool SystemParametersInfo(SPI uiAction, uint uiParam, String pvParam, SPIF fWinIni); private enum SPI { SETDESKWALLPAPER = 0x0014 } private enum SPIF { UPDATEINIFILE = 0x01, SENDCHANGE = 0x02 }
рдмрд╛рдХреА рд╕рдордп рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдкрд░ рдмрд┐рддрд╛рдпрд╛ рдЧрдпрд╛ рдерд╛:

рдкрд░рд┐рдгрд╛рдо
рдХрд╛рд░реНрдпрдХреНрд░рдо рдЯреНрд░реЗ рдореЗрдВ рд▓рдЯрдХрд╛ рд╣реБрдЖ рд╣реИ
рдФрд░ рдбреЗрд╕реНрдХрдЯреЙрдк рдХреЛ рдЕрдкрдбреЗрдЯ рдХрд░рддреЗ рд╣реБрдП
рдирд┐рд░реНрджрдпрддрд╛ рд╕реЗ рдЯреНрд░реИрдлрд╝рд┐рдХ рдЦрд╛рддрд╛ рд╣реИ ред
рд╕реВрддреНрд░реЛрдВ рдХреЛ
рдпрд╣рд╛рдВ рдбрд╛рдЙрдирд▓реЛрдб рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛
рд╣реИ , рдФрд░
рдпрд╣рд╛рдВ рдХрд╛рд░реНрдпрдХреНрд░рдо рд╣реАред
рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ .NET рдлреНрд░реЗрдорд╡рд░реНрдХ 2.0 рдпрд╛ рдЙрдЪреНрдЪрддрд░ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред
рдЖрдкрдХрд╛ рдзреНрдпрд╛рди рджреЗрдиреЗ рдХреЗ рд▓рд┐рдП рдЖрдк рд╕рднреА рдХрд╛ рдзрдиреНрдпрд╡рд╛рдж!