public static void RenderWallpaper(DisplayInformation dpInfo, LayoutManager lm, bool isDesktopMode, string location) { if (isDesktopMode) { string p = location + dpInfo.ToString() + ".bmp"; Renderer r = new Renderer(); r.ImageFormat = ImageFormat.Bmp; r.OutputPath = p; r.Render(dpInfo, lm, isDesktopMode); WallpaperController.SetWallpaper(p); } else { string p = location + "Logon.jpg"; string execPath = System.Reflection.Assembly.GetExecutingAssembly().Location; string execDir = System.IO.Path.GetDirectoryName(execPath); Renderer r = new Renderer(); r.ImageFormat = ImageFormat.Jpeg; r.OutputPath = p; r.FileSizeLimit = 256 * 1024; r.Render(dpInfo, lm, isDesktopMode); try { System.Diagnostics.ProcessStartInfo procInfo = new System.Diagnostics.ProcessStartInfo(); procInfo.UseShellExecute = true; procInfo.FileName = "PaperStitcher.Helper.exe"; procInfo.WorkingDirectory = execDir; procInfo.Arguments = "--logon " + p; procInfo.CreateNoWindow = false; procInfo.Verb = "runas"; System.Diagnostics.Process.Start(procInfo); } catch (Exception ex) { System.Diagnostics.Debug.WriteLine(ex.Message.ToString()); } } }