2010年9月3日金曜日

launch4jを修正2

launch4jを使って実行ファイル作ったのはいいけど、C++からキックしたら標準出力などが引き継がれてなかったのでちょっと修正した。ただこれで正しいかは微妙。あとコマンドプロンプトが表示されてしまったので表示しないように修正した。


launch4j/head_src/head.c

DWORD execute(const BOOL wait) {
STARTUPINFO si;
memset(&pi, 0, sizeof(pi));
memset(&si, 0, sizeof(si));
si.cb = sizeof(si);

// ここから5行追加
si.hStdError = GetStdHandle(STD_ERROR_HANDLE);
si.hStdOutput = GetStdHandle(STD_OUTPUT_HANDLE);
si.hStdInput = GetStdHandle(STD_INPUT_HANDLE);
si.wShowWindow = SW_HIDE;
si.dwFlags = STARTF_USESTDHANDLES | STARTF_USESHOWWINDOW;

2010年9月2日木曜日

launch4jを修正

作成されるexeファイルのプロパティを見ると、バージョン情報タブに「言語」という項目があって、これが「英語(米国)」と表示されてしまう。これを「日本語」にしたい。

どうも設定する箇所がないのでソースコードを見たら、コメントにEnglishってあって、ハードコーディングされていたので、RcBuilder.javaを修正する。修正は2箇所。


182:BLOCK \"041103A4\"\n" + // English
:
192:_sb.append(" }\n }\nBLOCK \"VarFileInfo\"\n{\nVALUE \"Translation\", 0x0411, 0x03A4\n}\n}");