コード例 #1
0
        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());
                }
            }
        }