Sha256: 2766171cb101105bf7327dac3eb127eb2fe22a2c070c82ec74f54ea7ba76e851

Contents?: true

Size: 1.45 KB

Versions: 25

Compression:

Stored size: 1.45 KB

Contents

# frozen_string_literal: true

#
# Copyright 2013 whiteleaf. All rights reserved.
#

module WinAPI
  begin
    require "fiddle/import"
    extend Fiddle::Importer
  rescue LoadError
    # Fiddle がない環境用(http://www.artonx.org/data/asr/ の1.9.3とか)
    require "dl/import"
    extend DL::Importer
  end

  begin
    dlload "msvcrt", "kernel32"
  rescue DL::DLError
    dlload "crtdll", "kernel32"
  end
  extern "long GetLogicalDrives()"
  extern "unsigned long SetConsoleTextAttribute(unsigned long, unsigned long)"
  extern "unsigned long GetConsoleScreenBufferInfo(unsigned long, void*)"
  extern "unsigned long GetStdHandle(unsigned long)"
  extern "long GetLastError()"
  extern "unsigned long _getch()"
  extern "unsigned long GetDriveType(void*)"
  extern "unsigned long DeviceIoControl(unsigned long, unsigned long, void*, unsigned long, void*, unsigned long, void*, void*)"
  extern "unsigned long CreateFile(void*, unsigned long, unsigned long, void*, unsigned long, unsigned long, unsigned long)"
  extern "unsigned long CloseHandle(unsigned long)"
end

require "tmpdir"

# テンポラリディレクトリのパスにASCII以外が含まれていると、systemu が
# エラーになる問題に対処するモンキーパッチ。
# テンポラリディレクトリをユーザーディレクトリからシステムに切り替える
if Dir.tmpdir !~ /\A[ -~]+\z/
  def Dir.tmpdir
    File.expand_path(File.join(ENV["SystemRoot"], "Temp"))
  end
end

Version data entries

25 entries across 25 versions & 1 rubygems

Version Path
narou-3.9.1 lib/extensions/windows.rb
narou-3.9.0 lib/extensions/windows.rb
narou-3.8.2 lib/extensions/windows.rb
narou-3.8.1 lib/extensions/windows.rb
narou-3.8.0 lib/extensions/windows.rb
narou-3.7.2 lib/extensions/windows.rb
narou-3.7.1 lib/extensions/windows.rb
narou-3.7.0 lib/extensions/windows.rb
narou-3.6.0 lib/extensions/windows.rb
narou-3.5.1 lib/extensions/windows.rb
narou-3.5.0.1 lib/extensions/windows.rb
narou-3.5.0 lib/extensions/windows.rb
narou-3.4.8 lib/extensions/windows.rb
narou-3.4.7.1 lib/extensions/windows.rb
narou-3.4.7 lib/extensions/windows.rb
narou-3.4.6.1 lib/extensions/windows.rb
narou-3.4.6 lib/extensions/windows.rb
narou-3.4.5 lib/extensions/windows.rb
narou-3.4.3 lib/extensions/windows.rb
narou-3.4.2 lib/extensions/windows.rb