2012-05-03 1 views
2

Windows 폴더에있는 파일을 마우스 오른쪽 버튼으로 클릭하고 간단한 스크립트의 컨텍스트 메뉴에서 옵션을 선택하도록 Ruby에 어떻게 지시 할 수 있습니까? 이 API는 데스크톱에 대한 링크를 보내 호출을 사용 피할 수win32utils를 사용Windows에서 Ruby를 마우스 오른쪽 버튼으로 클릭하고 컨텍스트 메뉴 옵션을 선택하십시오.

+0

네이티브 shellexecute API는 특정 동사를 실행할 수 있습니다. 많은 맞춤형 오른쪽 클릭 옵션이 일련의 인수 및 실행 가능한 프로그램으로 매핑됩니다. 수행하려는 작업은 무엇입니까? –

+0

[Pickaxe Windows 지원 챕터] (http://www.rubycentral.com/pickaxe/lib_windows.html)는 일반적인 방법으로 유용 할 수 있지만 달성하려는 대상에 따라 더 간단한 방법이있을 수 있습니다 . –

+0

Windows 7 상황에 맞는 메뉴에서 "보내기 -> 바탕 화면"옵션을 선택하려고합니다. – urbanaut

답변

3

:

require 'win32/shortcut' 
require 'win32/dir' 
include Win32 

Shortcut.new(Dir::DESKTOP + '\shortcut.lnk') do |s| 
    s.path = "c:\\path\\to\\something.exe" 
    s.window_style = Shortcut::SHOWNORMAL 
    s.description = "My shortcut to something" 
end 

당신은 win32-shortcutwin32-dir 보석이 필요합니다; 너는 Shortcut#path에 줄 파일 경로를 결정할 필요가있을 것이다. 이것은 일반적으로 Dir#each을 사용하여 쉽게 수행 할 수 있습니다. 관심있는 디렉토리를 전달하고 반복 할 디렉토리 요소에 대해 일종의 제어를 수행하면됩니다.

+0

바로 가기 문제를 작성해 주셔서 감사합니다 (감사합니다., 투표까지).하지만 Windows 컨텍스트 내에서 다른 옵션을 선택하는 방법에 대한 제안이 있으십니까? - 클릭) 메뉴? (위에서 귀하의 의견에 대한 회신을 참조하십시오.) – urbanaut

+0

컨텍스트 메뉴 항목에서 _click_ 할 수있는 방법을 모르지만 동일한 동작을 모방하는 방법은 많습니다. 예를 들어,'win32-dir' 단축키를 사용하여'Dir :: COMMON_DOCUMENTS'를 얻은 다음 ['FileUtils :: cp'] (http://ruby-doc.org/stdlib-1.9)를 사용하여 여기에 파일을 복사하십시오 .3/libdoc/fileutils/rdoc/FileUtils.html # method-c-cp). –

관련 문제