0

هزاران نکته در سی شارپ

 
hosseinb68
hosseinb68
کاربر طلایی1
تاریخ عضویت : بهمن 1389 
تعداد پست ها : 1269
محل سکونت : بوشهر

تغییر بک گراند ویندوز با #c
شنبه 25 آذر 1391  1:05 PM

چطوری کلاسی بنویسیم که بتونه بک گراند مربوط به سیستم عامل ویندوز رو توی برنامه های نوشته شده با C# تغییر بده:
برای این کار نیاز به دسترسی به متدی داریم که داخل فایل user32.dll یکی از فایل های کتابخانه ای ویندوزه داریم برای این کار باید از سر فایل using System.Runtime.Interupservice استفاده کنیم که این قدرت رو به ما میده که از یه سری توابع مربوط به فایل های کتاب خانه ای که خارج از فایل پروژه ما هستن استفاده کنیم.

 

using System;
using System.Runtime.InteropServices;


namespace Wallpaper
{
public class WallpaperSetter
{
[DllImport("user32.dll")]
private static extern bool SystemParametersInfo(uint uiAction, uint uiParam, string pvParam, uint fWinIni);


const uint SPI_SETDESKWALLPAPER = 0x14;
const uint SPIF_UPDATEINIFILE = 0x01;


public void SetWallpaper(string path)
{
SystemParametersInfo(SPI_SETDESKWALLPAPER, 0, path, SPIF_UPDATEINIFILE);
}
}
}
 



و دست آخر ساده ترین حالت استفاده از این کلاس:

private void SetButton_Click(object sender, EventArgs e)
{
new WallpaperSetter().SetWallpaper(FilePath);
}


 
تشکرات از این پست
ravabet_rasekhoon unknown
دسترسی سریع به انجمن ها