这个问题来自论坛提问,原题目是如何实现win+L效果。第一反应都是模拟按键,其实做开发的人不应该上来就用这个思路,实在不行才应该考虑通过按键解决。
解决代码如下:
using
System;
namespace ConsoleApplication2
... {
class Program
... {
static void Main( string [] args)
... {
System.Diagnostics.Process p = new System.Diagnostics.Process();
p.StartInfo.WorkingDirectory = System.Environment.GetFolderPath(Environment.SpecialFolder.System);
p.StartInfo.FileName = " rundll32.exe " ;
p.StartInfo.Arguments = " user32.dll,LockWorkStation " ;
p.Start();
}
}
}
namespace ConsoleApplication2
... {
class Program
... {
static void Main( string [] args)
... {
System.Diagnostics.Process p = new System.Diagnostics.Process();
p.StartInfo.WorkingDirectory = System.Environment.GetFolderPath(Environment.SpecialFolder.System);
p.StartInfo.FileName = " rundll32.exe " ;
p.StartInfo.Arguments = " user32.dll,LockWorkStation " ;
p.Start();
}
}
}
除此之外,通过调用rundll32还可以调用其它系统对话框,包括的命令格式参考: