0

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

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

4

1 回答 1

0

Vimal Raj 在此线程上的回答中的信息是一个主要帮助: 如何在一个 Windows 窗体面板中的一个 Csharp 面板中使用多个表单?

这是我的整个屏幕保护程序测试程序,忽略了 Visual Studio 设计器的东西:

   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);
      }
   }
于 2013-02-25T05:34:26.180 回答