2014-10-04 48 views
2

我有一個launch4J配置headerType =控制檯。你可以在Launch4j中設置WindowTitle headerType == console嗎?

控制檯很好地顯示所有的控制檯輸出。但是該控制檯窗口的標題始終是可執行文件啓動程序的完整路徑。有什麼方法可以設置該窗口的標題,如果有的話如何?

例如,如果我創建

start "This is my Window Title" mylauncher.exe 

一個批處理文件,然後我會得到一個控制檯窗口這是我的窗口標題作爲標題。我如何配置Launch4j以便批處理文件不是必需的?

回答

2

據我所知,launch4j內沒有設置來做到這一點。有一個windowTitle選項,但文檔說它只用於GUI。

相反,我認爲你有幾個選擇。我假設你只使用Windows,因爲你使用的是批處理和exe文件。

選項:

  1. 修改源launch4j將呼叫添加到Win32 API函數SetConsoleTitle。你基本上想重新編譯控制檯部分,然後重建你的可執行文件。他們使用Dev-Cpp進行編譯。

    有一個類似項目WinRun4J,它有一個配置控制檯標題的選項,它使用這種方法。也許launch4j所有者可以根據需要添加此功能,但將其添加到自己中並不難。我在修改bug之前修改了launch4j源代碼,這非常簡單。

  2. 編寫一個JNI庫,以從您的java代碼中調用相同的Win32函數。見this post

  3. 而不是編寫自己的JNI DLL,請使用JNA library從Java調用SetConsoleTitle。有關示例用法,請參閱#2中同一鏈接中的答案。

+0

謝謝@megadan,很好的答案。 – William 2014-10-15 17:52:12