aas*_*soo 1 c++ winapi desktop-wallpaper
我尝试更改桌面壁纸.当我像这样使用它时它工作得很好:
SystemParametersInfo(SPI_SETDESKWALLPAPER, 0, "C:\\1.jpg", SPIF_SENDCHANGE);
Run Code Online (Sandbox Code Playgroud)
但是当我像这样使用它时,桌面壁纸设置为完全黑色:
std::string s = "C:\\1.jpg";
SystemParametersInfo(SPI_SETDESKWALLPAPER, 0, &s, SPIF_SENDCHANGE);
Run Code Online (Sandbox Code Playgroud)
我试图通过使用获得更多信息GetLastError(),但返回值只是0.我也尝试使用.png文件,但这不会改变任何东西.
我有什么想法我做错了吗?
试试这个:
SystemParametersInfo(SPI_SETDESKWALLPAPER, 0, (void*)s.c_str(), SPIF_SENDCHANGE);
Run Code Online (Sandbox Code Playgroud)
该SystemParametersInfo函数不接受std::string指针作为路径,它接受以null结尾的char数组.这是提供的c_str()方法std::string.
| 归档时间: |
|
| 查看次数: |
3055 次 |
| 最近记录: |