我认为直接传递 args 不会在 C# 中起作用。如果您c:\windows\system32\sspipes.scr /c
在开始|运行框中键入,这也将直接进入屏幕保护程序,而不是显示配置屏幕。
但是,我已经能够通过 cmd 文件来做到这一点,所以一个解决方案(虽然不完美)是在某处创建一个只有一行的 cmd 文件%1 /c
然后您可以将屏幕保护程序的路径和文件名传递给 cmd 文件,这将调出配置屏幕
一些快速而肮脏的VB代码将说明
Public Class Form1
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim path As String = "C:\temp\scr.cmd"
Dim args As String = "C:\WINDOWS\system32\sspipes.scr"
Dim psi As New ProcessStartInfo
psi.Arguments = args
psi.FileName = path
Process.Start(psi)
End Sub
Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
Dim app As String = "C:\WINDOWS\system32\sspipes.scr"
Process.Start(app)
End Sub
End Class
这是一个带有 2 个按钮的表单。Button1 调出配置屏幕,Button 2 运行屏幕保护程序。显然你会删除硬编码等,所以请原谅糟糕的编码风格。
您只需要在其中创建一个名为 scr.cmd 的文本文件并将%1 /c
其保存到c:\temp