NoConsole ユーティリティ

Pocket

***本記事にはプロモーションが含まれています。***

コマンドプロンプトを出なくしたいというメールをまたもらったので、NoConsoleのことを教えてあげた。そしたら、ソースコードが簡単だったので、Rubyで書いてしまったというメールが返ってきた。
自分はRubistではないので、よくわからないけど、日本人だったらRubyくらい知らないといけないかなと、なぜか思った。
ARGV.each do |file_name|
File.open(file_name, "r+b") do |f|
f.seek(220)
kar1 = f.read(1)
int1 = kar1.unpack("c").shift
if int1 == 2
int2 = 3
elsif int1 == 3
int2 = 2
end
kar2 = [int2].pack("c")
f.seek(220)
f.write(kar2)
puts "Converted from DOS-Box to GUI." if int2 == 2
puts "Converted from GUI to DOS-Box." if int2 == 3
end
end

Pocket

「NoConsole ユーティリティ」への2件のフィードバック

  1. int main()から始まるWindows環境でのプログラムで起動時にConsoleが出てしまうってやつですよね?(QEMU?)
    コンパイラがMinGW gccとかならオプションに -Wl,--subsystem=windows でも回避できますよ。
    VisualC++でもプロジェクトオプションあたりからリンカにsubsystemの指定とかで変更しとけば消せたはず。

  2. rayfillさん、コメントありがとうございます。
    そうですね。でも、コンソールを消してしまうとエラーメッセージが出なくなってしまうという問題があって、コンソール付になっています。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

CAPTCHA

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください