2007年 09月 29日

open

[cygwin]
$ cat /bin/open
#!/usr/bin/env ruby
# vim: ft=ruby:

require "dl/win32"

file, params = ARGV[0], (ARGV[1..-1] || []).join(" ")

hwnd = 0
verb = "open"
dir  = Dir.pwd
cmd  = 1

shell_execute = Win32API.new("shell32.dll", "ShellExecuteA", %w(p p p p p i), "i")
shell_execute.call(hwnd, verb, file, params, dir, cmd)

なんか、最初からコマンドがあった気がする。思い出せない……