【问题标题】:Ruby win32ole - how to pass a VARIANT parameter?Ruby win32ole - 如何传递 VARIANT 参数?
【发布时间】:2010-10-08 15:29:48
【问题描述】:

我正在尝试使用 Ruby 自动化 Windows 任务计划程序。

我在 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)

有什么想法吗?

【问题讨论】:

    标签: ruby windows automation scheduled-tasks win32ole


    【解决方案1】:

    只创建一个 VARIANT?

    WIN32OLE_VARIANT.new("Blah", VT_BSTR)
    

    【讨论】:

    • 这在 Ruby 1.9 中可用,但在 Ruby 1.8 中不可用。我希望找到一个 !.8 解决方案。
    • WIN32OLE::VARIANT::VT_BSTR
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-02-17
    • 1970-01-01
    • 1970-01-01
    • 2015-03-13
    • 1970-01-01
    相关资源
    最近更新 更多