[DllImport("user32.dll", CharSet = CharSet.Auto, SetLastError = true)]
private static extern int SystemParametersInfo(int uAction, int uParam, IntPtr lpvParam, int fuWinIni);
private void picturebox1_DragDrop(object sender, DragEventArgs e)
{
var dropfiles = (string[])e.Data.GetData(DataFormats.FileDrop);
foreach (var file in dropfiles)
{
var filename = getFileName(file);
ShowWallpapeR.Image = Image.FromFile(file);
SystemParametersInfo
(
SPI_SETDESKWALLPAPER, 1, Marshal.StringToBSTR(file),
SPIF_UPDATEINIFILE | SPIF_SENDWININICHANGE
);
}
}
static readonly List<string> ImageExtensions = new List<string> { ".JPG", ".BMP"};
private void picturebox1_DragEnter(object sender, DragEventArgs e)
{
if (e.Data.GetDataPresent(DataFormats.FileDrop, false))
{
var allowFilesDrop = true;
foreach (var f in (string[])e.Data.GetData(DataFormats.FileDrop, true))
{
allowFilesDrop = ImageExtensions.Contains(Path.GetExtension(f).ToUpperInvariant());
}
if (allowFilesDrop)
{
e.Effect = DragDropEffects.Move;
}
}
}
На windows 7 не всегда меняются обои, есть ли этому решение?
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости