我试图通过谷歌找到答案,但我想我没有使用正确的术语。
我创建的是一个简单的Windows应用程序,由menustrip组成。该程序假设找到已经运行的现有应用程序的焦点并且"附加"本身到顶部。
这是一款较旧的窗口游戏,我正试图为它创建一个工具集。
我喜欢它是持久的,如果游戏也被移动也会跟随。但是一步一步。
我想我的问题是我试图完成的正确术语是什么。一旦我知道我会去做一些功课
答案 0 :(得分:0)
您可以使用uiacomwrapper关注窗口,我甚至可以在github上提供示例应用程序。在按钮上单击应用程序将附加到IE并一起移动。
private void Button_Click(object sender, RoutedEventArgs e)
{
string lpszParentClass = "IEFrame";
IntPtr ParenthWnd = new IntPtr(0);
ParenthWnd = FindWindow(lpszParentClass, null);
if (!ParenthWnd.Equals(IntPtr.Zero))
{
var parent = AutomationElement.FromHandle(ParenthWnd);
Automation.AddAutomationPropertyChangedEventHandler(parent, TreeScope.Element, WindowMoved, AutomationElement.BoundingRectangleProperty);
}
}
private void WindowMoved(object sender, AutomationPropertyChangedEventArgs e)
{
App.Current.Dispatcher.BeginInvoke(new Action(() =>
{
if (e.NewValue != null)
{
var newPosition = (Rect)e.NewValue;
this.Left = newPosition.Left;
this.Top = newPosition.Top;
}
}));
}