gpt4 book ai didi

windows-vista - 在 XP 和 Vista 中工作的 VBScript 文件打开对话框?

转载 作者:行者123 更新时间:2023-12-01 05:45:26 26 4
gpt4 key购买 nike

在 XP 中,您可以使用带有 UserAccounts.CommonDialog 对象的 VBScript 来打开文件打开对话框( as described here ),但显然是 this does not work under Vista .

是否有适用于两者的文件打开对话框的 VBScript 方法?

或者甚至可以很好地适用于 Vista?

免责声明:我是一个合格的程序员,诚实,并且通常不使用 VBScript - 我是“为 friend ”问这个问题的。

最佳答案

您可以创建一个简单的点网组件,该组件公开一个 COM接口(interface) , 所以你可以在 中使用它VBScript (或任何基于 COM/ActiveX 的技术)。

  • (1)创建一个点网库类型的项目,暴露你想要COM互操作的类(添加 ComVisible ClassInterface 属性)。 ClassInterface 属性必须设置为 自动双 因此您可以通过后期绑定(bind)创建实例。
  • (2) 标记注册 COM 互操作性 项目属性对话框中构建选项卡中的复选框。
  • (3) 构建项目,以便正确注册组件(您可以选择为您的组件创建一个 安装项目,以便轻松部署它)。

  • ...
    namespace WinUtility
    {
    [ComVisible(true), Guid("32284FD3-417E-45fc-A4A0-9344C489053B"),
    ClassInterface(ClassInterfaceType.AutoDual)]
    public class WinDialog
    {
    public string ShowOpenFileDialog()
    {
    string result = string.Empty;
    OpenFileDialog d = new OpenFileDialog();
    if (d.ShowDialog() == DialogResult.OK) { result = d.FileName; }
    return result;
    }
    }
    }

    注册组件后,您可以从 VBScript 实例化它:
    dim wnd_helper, file_name
    Set wnd_helper = CreateObject("WinUtility.WinDialog")
    file_name = wnd_helper.ShowOpenFileDialog()
    if trim(file_name) <> "" then
    msgbox "file: " + file_name
    else
    msgbox "No file selected."
    end if

    关于windows-vista - 在 XP 和 Vista 中工作的 VBScript 文件打开对话框?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2646922/

    26 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com