我必須跟蹤程序的運行時間。 該方案公開以下窗口 按標題查找窗口窗口的標題是什麼?
同時啓動我的程序,在計時器的作用:
private void TimerCheckGroups_Tick(object sender, EventArgs e)
{
IntPtr windowPtr = FindWindowByCaption(IntPtr.Zero, "Execution");
if (windowPtr != IntPtr.Zero)
Console.Beep();<--------
}
但蜂鳴聲線永遠不會被擊中。 我誤解了窗口標題的含義嗎?
--ADD-- 我會盡力讓執行階段更清晰。
啓動---->啓動我的記錄器。
用戶------->啓動程序A,啓動啓動窗口C的程序B(不可見)。C具有標題執行。
當我啓動dontbyteme提出的解決方案時,只有B程序出現,所以只有1個窗口。
總之
記錄器:不可見,因爲它是一個托盤程序
節目A:由於它被設置爲不可見的:可見,因爲它是主程序
節目B不可見
程序C:不可見爲什麼?!?!?!?
--SOLUTION THANX TO JARRETT--
記錄保持空閒的計時器監控流程
程序的啓動,但無人問津了。然後,程序的啓動B方案
當程序B是清醒的我找到窗口,並開始記錄
你可以讓你的程序啓動執行程序嗎?如果您必須手動啓動這兩個程序,您的時間將不正確。另外,通過讓您的跟蹤程序啓動執行程序,您可以確切知道何時啓動。 –
不,我不能。窗口執行程序由用戶啓動。雖然我的程序是一個記錄器,所以它在窗口啓動時啓動。 – Patrick
根據編組的舒適程度,您是否查看過'EnumWindows我用它來查找打開的窗口。它在user32.dll中。這會給你打開的窗口,但不會知道一個新的程序已啓動。 –