[英]How can i programmatically use aero snap features from C# code
我有一个简单的问题。 如何从C#代码以编程方式访问aero snap。 就像,如果我单击“向左对齐”按钮,我希望程序窗口向左对齐,就像手动将药物停在那儿一样。 我到处都是,但是所有的问题似乎都与aero snap不与表单一起工作,并阻止它捕捉表单有关。 没有以编程方式对齐表格。 我很高兴使用插值。 谢谢
假设您使用的是Windows 7,您可以做的是将AreoSnap按键发送到当前活动的窗口。
该代码项目中有一篇非常不错的文章。
还要检查这个 SO问题。
似乎执行此操作的一种方法是在User32.dll中使用sendmessage
。
这是一个示例,假设“记事本”是您要将按键发送到的程序:
[DllImport("user32.dll", EntryPoint = "FindWindowEx")]
public static extern IntPtr FindWindowEx(IntPtr hwndParent, IntPtr hwndChildAfter, string lpszClass, string lpszWindow);
[DllImport("User32.dll")]
public static extern int SendMessage(IntPtr hWnd, int uMsg, int wParam, string lParam);
private void button1_Click(object sender, EventArgs e)
{
Process [] notepads=Process.GetProcessesByName("notepad");
if(notepads.Length==0)return;
if (notepads[0] != null)
{
IntPtr child= FindWindowEx(notepads[0].MainWindowHandle, new IntPtr(0), "Edit", null);
SendMessage(child, 0x000C, 0, textBox1.Text);
}
}
我还需要这样做,并且发现Windows Input Simulator非常有用。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.