-
Ruby 와 WQL를 이용해 시스템 정보 획득하기컴퓨터 2015. 5. 28. 14:17반응형
윈도에만 해당 되는이야기이긴 하지만
함수를 만들때 윈도의 경우는 약간은 특이하다
OS 정보를 획득해서 32bit 64bit 정보를 획득하려해도 64bit 상태에서 32bit Ruby를 설치한 경우에는 OS 정보를 직접 가져오지 않으면 엉뚱한결과가 나온다 이때는 윈도 시스템 정보를 직접 가져와야 하는데
http://cholchori.tistory.com/1338
에 쓴 WQL 를 이용해서 정보를 획득 할수 있다
require 'win32ole'
wmi = WIN32OLE.connect("winmgmts://")
os = wmi.ExecQuery("select * from Win32_Operatingsystem")
for os in os do
puts "#{os.osarchitecture}"
puts "#{os.name}"
end
이렇게 하면
OS 아키텍처 정보와 OS 이름 정보를 획득할 수있다
WQL를 이용해서 네트웍 cpu 등 각종 정보를 이용해서 프로그램을 만드는 것이 가능하다
require 'win32ole'
wmi = WIN32OLE.connect("winmgmts://")
process = wmi.ExecQuery("select * from win32_process")
for process in process do
puts "Name: #{process.Name}"
puts "CreationDate: #{process.CreationDate}"
puts "WorkingSetSize: #{process.WorkingSetSize}"
end
이렇게 하면 현재 실행중이 프로세서 정보와 다른 정보를이 우르르 나온다안타까운점은 윈도에서만 사용이 가능하다는 것이다범용 프로그램을 만들때 linux와 맥은 유사하지만 윈도는 특이한 시스템이라 이런식으로라도 정보를 획득하자반응형'컴퓨터' 카테고리의 다른 글
msi 파일 설치시 Error reading from file 오류 (0) 2015.06.05 윈도 10 7월29일 출격 (0) 2015.06.02 윈도 시스템의 각종 정보를 알수 있는 WQL (0) 2015.05.24 Ruby gem 명령어 (0) 2015.05.23 Ruby 로 작성된 프로그램 EXE로 만들기 (0) 2015.05.17