Windows窗体在特定进程之上

时间:2015-12-28 09:28:51

标签: c# forms winforms taskbar topmost

有一个全屏Windows POS应用程序(Aloha),其中包含用于打开Windows窗体的按钮。表单设置为TopMost=trueShowIcon = falseShowInTaskbar = false。按下按钮后,POS在任务栏顶部保持全屏打开,上面有一个表格。

如果表单关闭\没有焦点,它的进程退出并且一切都保持不变。但是如果在窗体打开时按下按钮,则会杀死其自身的另一个实例,然后在POS上弹出任务栏(一旦其他实例被杀死)。

KillRunningProcess Function

 private void KillRunningProccess()
{
    try
    {
        Process[] proc = System.Diagnostics.Process.GetProcessesByName(System.IO.Path.GetFileNameWithoutExtension(System.Reflection.Assembly.GetEntryAssembly().Location));
        Process currentProcess = Process.GetCurrentProcess();
        if (proc != null)
        {
            foreach (Process currProc in proc)
            {
                if (currentProcess.Id != currProc.Id)
                {
                    currProc.Kill();
                }
            }
        }
    }
    catch
    { }
}

我尝试在Shown \ GotFocus事件中使用不同的PINVOKE API函数,但没有成功。完全隐藏任务栏是不可能的。

0 个答案:

没有答案