exeのパス
久々にハマったのでメモ
require 'Win32API'
class Win32API
GetModuleFileName = Win32API.new("kernel32","GetModuleFileName","IPI","I")
def self.get_exepath
buf="0"*260
len = GetModuleFileName.call(0,buf,buf.length)
return buf[0,len].tr('\\',"/")
end
end
exe = Win32API.get_exepath()
if exe =~ /ruby[0-9]*.exe/i then
MYSELF_PATH = __FILE__
else
MYSELF_PATH = exe
end
$exe_path = File.dirname(MYSELF_PATH)
- 2007-10-03 23:18:32
- ruby
RubyでWorking areaを求める
Working area
require 'Win32API'
def get_desktop_area()
function = Win32API.new('user32.dll', 'SystemParametersInfoA', ['L','L', 'P'], 'L')
spi_getworkarea = 48
structure = ' ' * 4
function.Call(spi_getworkarea, 0, structure)
left, top, right, bottom = structure.unpack('L4')
end
puts get_desktop_area
- 2007-09-19 19:18:28
- ruby
コモンダイアログ
vrubyを使ってコモンダイアログと遊ぶ
引数を調べなきゃ。
require 'vr/vruby'
#ファイル選択ダイアログを表示
file = SWin::CommonDialog::openFilename(nil, [["all(*.*)","*.*"]], 0x1000, "ファイル選択")
#ディレクトリ選択ダイアログを表示
dir = SWin::CommonDialog::selectDirectory(nil, "ディレクトリ選択")
#色選択ダイアログを表示
color = SWin::CommonDialog::chooseColor(nil, 0)
#フォント選択ダイアログを表示
font = SWin::CommonDialog::chooseFont(nil)
- 2007-09-08 04:20:28
- ruby