.net 正在寻找Windows屏幕保护程序测试启动程序

.net 正在寻找Windows屏幕保护程序测试启动程序,.net,windows,screensaver,.net,Windows,Screensaver,我正在开发一个Windows屏幕保护程序,在开发过程中,我想通过从某种小型测试程序启动它来测试它,该测试程序模拟Windows“屏幕保护程序设置”对话框所完成的启动。这样我就不必一次又一次地将屏幕保护程序和各种支持DLL复制到Windows\System32 特别是,它是以“/p”选项和窗口句柄作为文本字符串启动的,我希望看到一个示例。最好是用C#,但另一种语言的测试启动程序也很有趣。Vimal Raj在这个线程的答案中提供的信息是一个主要帮助: 下面是我的整个屏保测试程序,忽略了Visual

我正在开发一个Windows屏幕保护程序,在开发过程中,我想通过从某种小型测试程序启动它来测试它,该测试程序模拟Windows“屏幕保护程序设置”对话框所完成的启动。这样我就不必一次又一次地将屏幕保护程序和各种支持DLL复制到Windows\System32


特别是,它是以“/p”选项和窗口句柄作为文本字符串启动的,我希望看到一个示例。最好是用C#,但另一种语言的测试启动程序也很有趣。

Vimal Raj在这个线程的答案中提供的信息是一个主要帮助:

下面是我的整个屏保测试程序,忽略了Visual Studio designer的内容:

   public partial class FormTest : Form
   {
      private readonly Form _formTinyView;

      // Constructor
      public FormTest()
      {
         InitializeComponent();

         // Create a tiny preview form and place it inside the Panel control
         _formTinyView = new Form();
         _formTinyView.FormBorderStyle = FormBorderStyle.None;
         _formTinyView.TopLevel = false;
         _formTinyView.Size = panelTinyView.Size;
         panelTinyView.Controls.Add(_formTinyView);
         _formTinyView.Visible = true;
      }


      // Display settings dialog
      private void Settings_Click(object sender, EventArgs e)
      {
         LaunchScreensaver("/c");
      }


      // Preview in tiny window
      private void TinyView_Click(object sender, EventArgs e)
      {
         LaunchScreensaver("/p " + _formTinyView.Handle);
      }


      // Standard preview
      private void Preview_Click(object sender, EventArgs e)
      {
         LaunchScreensaver("/s");
      }


      // Launch screensaver as a new process
      private static void LaunchScreensaver(string argumentString)
      {
         Process.Start(@"..\..\OutBackScreensaver\bin\Merlinia.OutBackScreensaver.exe", 
                       argumentString);
      }
   }