プログラミング

RubyでWindowsのexeソフトウェアを外部コマンドから起動

Rubyプログラミング言語でWindowsのexeソフトウェアを外部コマンドから起動する方法についてのメモです。
RubyのOpen3.popen3を使用します。以下にエラーになったやつと最後にできた、成功したやつを書いてます。

require "open3"

# Open3.popen3('. "C:/Program Files/AutoHotkey/AutoHotkeyU64.exe" "C:/pg/autohotkey/traytip.ahk"') do |i, o, e, w| # => エラー
# Open3.popen3('. "C:/Program Files/AutoHotkey/AutoHotkeyU64.exe" "C:/pg/sinatra/_tmp/traytip.ahk"') do |i, o, e, w| # => エラー
# Open3.popen3('Set-Alias ahk "C:/Program Files/AutoHotkey/AutoHotkeyU64.exe" ; ahk "C:/pg/sinatra/_tmp/traytip.ahk"') do |i, o, e, w| # => エラー
# Open3.popen3(%(powershell -Command 'ahk "C:/pg/sinatra/_tmp/traytip.ahk"')) do |i, o, e, w| # => エラー
# Open3.popen3(%(ahk "C:/pg/sinatra/_tmp/traytip.ahk")) do |i, o, e, w| # => エラー
# # できた。
# Open3.popen3(%(cmd /c start "" C:/pg/SetClipboardWithBtn/build/SetClipboardWithBtn.jar")) do |i, o, e, w| # => 関連付けられたミドルソフトウェアで開かれる。autohotkeyを指定する必要はない。
Open3.popen3(%(cmd /c start "" notepad.exe "C:/pg/autohotkey/traytip.ahk")) do |i, o, e, w| # => 指定したソフトウェアで開く

end

これで、サーバーにHTTPリクエストがあったらWindows側でアクションをする、といったことが可能になります。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です