簡體   English   中英

使用C#關閉子Java窗口

[英]Close Child Java windows using C#

我有一個在Windows(javaw.exe)上運行的Java應用程序,我想通過C#應用程序關閉子窗口。 我可以通過“應用程序”選項卡下的任務管理器查看子窗口,但是當我右鍵單擊子窗口並單擊“轉到進程”時,它將帶我到“進程”選項卡下運行的javaw.exe進程。

我嘗試遍歷活動進程以關閉每個窗口,但是,我找不到子Java窗口,只能看到javaw進程。

Process[] childProcesses = Process.GetProcessesByName("javaw");

我在互聯網論壇上進行了搜索,但未能找到合適的解決方案來處理在Windows上運行的Java應用程序,從而使用C#進行處理。 我敢肯定有一個明顯的解決方案,因此我們將不勝感激。 謝謝。

如果我正確理解了您的問題,那么您想關閉許多Java應用程序中的一個或多個窗口嗎?

您不會在javaw上擁有子進程,而只有在JVM中運行的線程。 也許使用流程對象的Threads屬性可能會有所幫助。

但是即使這樣做,Java應用程序中的所有圖形對象都是AWT線程的規則。 殺死它將意味着關閉所有窗戶。

所以我認為不可能做你想做的事:/

您能否嘗試使用P \\ Invoke方法並調用win32 api來獲取子窗口的句柄並向其發送消息?

也許這個答案可以解決這個問題: 不能使用pinvoke將WM_CLOSE發送到Windows資源管理器窗口

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM