2

プログラムで壁紙を設定したい。これが私がこれまでに見つけた唯一の解決策です:

SystemParametersInfoW(SPI_SETDESKWALLPAPER, 1, (void*)wallpaperImageFilePath.utf16(), SPIF_UPDATEINIFILE | SPIF_SENDCHANGE);

私の質問は、壁紙画像を中央に配置する(サイズ変更しない)ようにWindowsに指示する方法です。上記の解決策は、常に画像をストレッチモードに設定します。MSDNによると、付随するフラグはありませんSPI_SETDESKWALLPAPER

4

2 に答える 2

11

Windows 8以降、デスクトップの背景を設定するための公開されたインターフェイスがあります。具体的にはIDesktopBackground::SetWallpaperメソッド。MSDNドキュメント

インターフェイスには、スライドショーの構成を取得および設定し、必要なモニターデバイスパスを取得するためのいくつかの方法もあります。

于 2017-10-09T13:27:08.910 に答える
5

壁紙の向きを設定するためのAPI関数はありません。代わりに、レジストリに直接移動する必要があります。具体的には、キーの値"WallpaperStyle""TileWallpaper"値です。HKEY_CURRENT_USER\Control Panel\Desktop例については、次の記事を参照してください。

デスクトップの壁紙を設定する(CppSetDesktopWallpaper)

于 2013-01-06T20:36:31.150 に答える