有一个全屏Windows POS应用程序(Aloha),其中包含用于打开Windows窗体的按钮。表单设置为TopMost=true
,ShowIcon = false
和ShowInTaskbar = 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函数,但没有成功。完全隐藏任务栏是不可能的。