我试图弄清楚我如何能够从本质上欺骗一个窗口,让它认为它有焦点。我通过一些搜索发现,我需要某种沙箱来完成此操作。操作系统和窗口之间的中间层。
我会很感激一些帮助,为我指出如何通过 C# 实现这一目标的正确方向(如有必要,使用 pinvoke 等)。从本质上从 C# 程序启动另一个可执行文件,并以某种方式将其设置为在人造桌面上,并具有恒定的窗口焦点。但是仍然能够像往常一样与窗口交互(就像一个窗口包装器,如果你愿意的话,它可以失去它想要的所有焦点,但包含在其中的窗口永远不会认为它失去焦点)。
我确信这是一项艰巨的任务(虽然,也许不会,也许有人知道一个优雅的解决方案),但我知道这是可能的,因为我在商业产品中看到过类似的事情。(我试图模仿这个沙盒产品的一种行为)。