Last Updated 2003/11/13
Windows
壁紙変更
2003/11/13

壁紙(デスクトップなのになぜか壁紙である)を変更するには

SystemParametersInfo(SPI_SETDESKWALLPAPER, 0, ファイル名, SPIF_UPDATEINIFILE);

とする.

また,レジストリを変更する方法もある.(Win32s なら WIN.INI を変更する)
レジストリや WIN.INI を変更すれば Windows が変更されたことを察知して壁紙を変更してくれる.

void WriteWallPaperSection(LPCSTR szWallPaper)
{
    HKEY hKey;

    if( bWin95 == 0 ) {
        // Win32s
        WriteProfileString("Desktop", "Wallpaper", szWallPaper);
    } else {
        if( RegCreateKey(HKEY_CURRENT_USER, "Control Panel\\Desktop", &hKey) == ERROR_SUCCESS ) {
            RegSetValueEx(hKey, "Wallpaper", 0, REG_SZ, (BYTE *)szWallPaper, strlen(szWallPaper) + 1);
        if( hKey ) {
            RegCloseKey(hKey);
        }
    }
}


参照
前後のTips
壁紙変更

DSS ProgrammingTipsCGI Ver1.02