CmdStartCTIProc(Application.ExecutablePath, "cmd params")//放到捕获事件的处理代码后,重启程序,需要时加上重启的参数。
C#实现启动远程计算机的原理是"视窗管理规范"。就是所谓的"WMI"(Windows Management Instrumentation)。Windows 管理规范 (WMI) 支持通过 Internet 管理系统的结构。
如果程序需要重启只需要在捕获的事件处理时启动当前应用程序的代码即可。参考如下:
//重启程序,需要时加上重启的参数
System.Diagnostics.ProcessStartInfo cp = new System.Diagnostics.ProcessStartInfo()
cp.FileName = Application.ExecutablePath
cp.Arguments = "cmd params"
cp.UseShellExecute = true
System.Diagnostics.Process.Start(cp)
/// <summary>/// 设置自动启动
/// </summary>
/// <param name="sFileName">文件名</param>
/// <param name="blIsAutoRun">是否自动启动</param>
private void SetAutoRun(string sFileName, bool blIsAutoRun)
{
RegistryKey reg = null
try
{
if (!System.IO.File.Exists(sFileName))
return
String name = sFileName.Substring(sFileName.LastIndexOf(@"\") + 1)
reg = Registry.LocalMachine.OpenSubKey(@"SOFTWARE\Microsoft\Windows\CurrentVersion\Run", true)
if (reg == null)
reg = Registry.LocalMachine.CreateSubKey(@"SOFTWARE\Microsoft\Windows\CurrentVersion\Run")
if (reg == null)
return
if (blIsAutoRun)
reg.SetValue(name, sFileName)
else
reg.SetValue(name, false)
}
catch (Exception ex)
{
throw new Exception(ex.ToString())
}
finally
{
if (reg != null)
reg.Close()
}
}
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)