如何在一个程序中限制另一个程序运行,如限制QQ登入
求相关代码
------解决方案-------------------- C# code
Process[] p = System.Diagnostics.Process.GetProcessesByName("QQ2009");
for (int i = p.Length; i > 0; i--)
{
p[i].Kill();
}
------解决方案-------------------- 探讨 C# codeProcess[] p= System.Diagnostics.Process.GetProcessesByName("QQ2009");for (int i= p.Length-1; i>=0; i--) { p[i].Kill(); }
------解决方案-------------------- 加上个定时器 QQ执行的是QQ.exe,进程名:QQ
------解决方案-------------------- 单一实例 bool bCreatedNew = true; System.Threading.Mutex mt = new System.Threading.Mutex(false, "", out bCreatedNew); if (bCreatedNew) { Application.Run(new Form1()); } else { MessageBox.Show("程序已启动"); } 或 System.Diagnostics.Process current = System.Diagnostics.Process.GetCurrentProcess(); System.Diagnostics.Process[] processes = System.Diagnostics.Process.GetProcessesByName(current.ProcessName); foreach (System.Diagnostics.Process pro in processes) {}
------解决方案-------------------- C# code
private void button1_Click(object sender, EventArgs e) // 可以放到 Form_load中
{
timer1.Interval = 200; // 200ms 检测一次
timer1.Start();
}
private void timer1_Tick(object sender, EventArgs e)
{
Process[] p = System.Diagnostics.Process.GetProcessesByName("QQ");
for (int i = p.Length - 1; i >= 0; i--)
{
p[i].Kill();
}
}
------解决方案-------------------- 探讨 C# codeprivatevoid button1_Click(object sender, EventArgs e)// 可以放到 Form_load中{ timer1.Interval=200;// 200ms 检测一次 timer1.Start(); }privatevoid timer1_Tick(object sender, EventArgs e) { Process[] p= System.Diagnostics.Process.GetProcessesByName("QQ");for (int i= p.Length-1; i>=0; i--) { p[i].Kill(); } }
------解决方案-------------------- 探讨 最好是在网关的地方去限制 程序限制的话不太好
------解决方案-------------------- 学习一下 遍历所有进程 在做判断。。。。。