2009-02-19 67 views
1

我正在嘗試使用Ruby自動化Windows任務計劃程序。Ruby win32ole - 如何傳遞VARIANT參數?

我在Windows Vista下使用Ruby 1.8。

TaskFolder對象的RegisterTaskDefintion方法爲用戶名和密碼帶了兩個VARIANT參數。任何企圖將字符串傳遞到這些參數導致 'method_missing的' 例外:

這不起作用:

rootFolder.RegisterTaskDefinition("Task", newTask, TASK_CREATE_OR_UPDATE, 'user', 'password', TASK_LOGON_PASSWORD, nil) 

這工作:

rootFolder.RegisterTaskDefinition("Task", newTask, TASK_CREATE_OR_UPDATE, '', '', TASK_LOGON_NONE, nil) 

任何想法?

回答

0

只需創建一個VARIANT?

WIN32OLE_VARIANT.new("Blah", VT_BSTR) 
+0

這在Ruby 1.9中可用,但不在Ruby 1.8中。我希望能找到一個.8的解決方案。 – bvanderw 2009-02-19 18:57:12