[英]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.