使用C#,我想帶一個特定的窗口到屏幕的頂部,然後我會運行一個宏。如何獲得應用程序窗口頂部
試過,
[DllImportAttribute("User32.dll")]
private static extern int FindWindow(String ClassName, String WindowName);
[DllImportAttribute("User32.dll")]
private static extern int SetForegroundWindow(int hWnd);
後,
string main_title;
Process[] processlist = Process.GetProcesses();
foreach (Process theprocess in processlist)
{
if (theprocess.ProcessName.StartsWith(name))
{
main_title = theprocess.MainWindowTitle;
hWnd = theprocess.Handle.ToInt32();
break;
}
hWnd = FindWindow(null, main_title);
if (hWnd > 0)
{
SetForegroundWindow(hWnd);
}
,並得到了錯誤,
'DllImportAttribute' 找不到
使用的類型或命名空間名稱,
using System.Runtime;
,現在即時通訊無法得到的HWND在我的代碼的認可,儘管他們都在同一個命名空間和部分類。
後試驗,
IntPtr hWnd;
Process[] processlist = Process.GetProcesses();
foreach (Process theprocess in processlist)
{
if (theprocess.ProcessName.StartsWith("msnmsgr"))
{
main_title = theprocess.MainWindowTitle;
hWnd = theprocess.MainWindowHandle;
SetForegroundWindow(hWnd);
}
}
這看起來像重點講的窗口,至少按ALT-Tab鍵順序和應用程序看起來像工具欄中選擇,但它不會成爲可見。
看來,你沒有在使用前定義的hWnd變量。只需在代碼的開頭添加「int hWnd;」。 – 2012-01-12 18:23:48