2

我发现这个脚本可以在 Windows 中为您提供用户名,但我收到以下错误,这与用户名无关,而是与缺少的库有关,我dl/win32还需要该库用于其他几个脚本。如何解决这个问题?

C:/Ruby193/lib/ruby/site_ruby/1.9.1/rubygems/custom_require.rb:36:in `require': 无法加载此类文件 -- dl/win32 (LoadError)

require 'dl/win32'

def get_user_name
  api = Win32API.new(
    'advapi32.dll',
    'GetUserName',
    'PP',
    'i'
  )

  buf = "\0" * 512
  len = [512].pack('L')
  api.call(buf,len)

  buf[0..(len.unpack('L')[0])]
end

puts get_user_name
4

2 回答 2

2

我不确定“dl/win32”是什么。我使用了 Win32API gem。使用它而不是 dl/win32 使您的脚本对我有用:

require 'Win32API'
于 2012-06-15T15:06:13.080 回答
0

我最好的猜测是你必须跑

gem install dl
于 2012-06-15T14:53:03.443 回答