【发布时间】:2014-02-03 09:37:15
【问题描述】:
以下代码适用于 Windows 8.1(已测试),但不适用于 Windows 7。
std::wstring loc = L"C:\\Users\User\\Desktop\\wallpaper.jpg";
BOOL ret = SystemParametersInfo(SPI_SETDESKWALLPAPER, 0, (PVOID)loc.c_str(), SPIF_UPDATEINIFILE);
当我在 Windows 7 上运行程序时,出现以下异常:
First-chance exception at 0x76E3C41F (KernelBase.dll) in MyApp.exe: 0xC0000002: The requested operation is not implemented.
以前有人遇到过这种情况吗? 我查看了http://msdn.microsoft.com/en-us/library/windows/desktop/ms724947(v=vs.85).aspx 并在 Google 上搜索,但没有成功。
【问题讨论】:
-
第一次机会异常并不总是一个问题,只要有东西处理它。如果继续执行会怎样?
-
@JonathanPotter 它确实继续执行,壁纸没有改变,编辑:我在 VS 中启用了第一次机会异常并 ret = "-858993460"
-
0xCCCCCCCC 看起来像一个“未初始化”模式
-
除非您同时指定
SPIF_SENDWININICHANGE,否则壁纸可能不会改变。 -
@DavidHeffernan SystemParametersInfoW
标签: c++ windows winapi windows-7