ytftdkjxkj
ytftdkjxkj
采纳率50%
2016-04-21 12:02

vs2012 c# SystemParametersInfo 在win7下无法设置桌面背景

程序在win10下可用.在win7下一直返回值:0
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Runtime.InteropServices;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;

namespace WindowsFormsApplication1
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}

    private void Form1_Load(object sender, EventArgs e)
    {
        int temp = SystemParametersInfo(20,0,"C:\\Windows\\Web\\Wallpaper\\img0.bmp",0);
        Console.WriteLine(temp);
    }


    [DllImport("user32.dll", EntryPoint = "SystemParametersInfo")]
    public static extern int SystemParametersInfo(
     int uAction,
     int uParam,
     string lpvParam,
     int fuWinIni
     );


}

}

在win10下正常.在WIN7下一直返回零,麻烦各位大神支个招

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 复制链接分享
  • 邀请回答

4条回答

  • wq1282 wq1282 3年前
    'after Public Class class_name
    Public Const SPI_SetWallpaper As Integer = &H14
    'Win.ini flag values (intWinIniFlag)
    Public Const SPIF_UpdateIni As Integer = 1
    Public Const SPIF_SendIniChange As Integer = 2
    Public Const SPIF_UpdateAndSend As Integer = SPIF_UpdateIni Or SPIF_SendIniChange '3
    Public Const SPI_GETDESKWALLPAPER = &H73
    
    点赞 评论 复制链接分享
  • wq1282 wq1282 3年前
        SystemParametersInfo(20, 0, strFile, SPIF_UpdateAndSend)
    
    点赞 评论 复制链接分享
  • caozhy 从今以后生命中的每一秒都属于我爱的人 5年前
     "C:\\Windows\\Web\\Wallpaper\\img0.bmp"
    这个图片存在么?
    
    点赞 评论 复制链接分享
  • ytftdkjxkj ytftdkjxkj 5年前

    修改注册也只在WIN10有用.WIN7无用.真是奇了怪了

    点赞 评论 复制链接分享

相关推荐