czhiはwindowsデスクトップの背景コードの例を取得します。



#region windows
        [System.Runtime.InteropServices.DllImport("user32.dll", CharSet = System.Runtime.InteropServices.CharSet.Auto, SetLastError = true)]
        public static extern int SystemParametersInfo(int uAction, int uParam, StringBuilder lpvParam, int fuWinIni);

        private const int SPI_GETDESKWALLPAPER = 0x0073;
        #endregion


void WindowsBtn_Click(object sender, RoutedEventArgs e)
        {
            //
            StringBuilder s = new StringBuilder(300);
            // Window ,
            SystemParametersInfo(SPI_GETDESKWALLPAPER, 300, s, 0);
            //
            string wallpaper_path = s.ToString(); //
         }

windowsアプリを呼び出して取得します。
使う時はStringBuiderのサイズが255以下にならないように注意してください。windowsのパスは最大で255をサポートします。もし定義が小さいなら…
現在のシステムのデスクトップに背景がないか、純色がない場合は空に戻ります。