使用 C 或 C++ 制作自定义运行对话框?

Posted

技术标签:

【中文标题】使用 C 或 C++ 制作自定义运行对话框?【英文标题】:Making a custom run Dialog with C or C++? 【发布时间】:2008-11-11 06:13:04 【问题描述】:

好吧,我想在我的程序中创建一个自定义运行对话框,以便用户无需自己打开即可测试命令。唯一的问题是,msdn 对此没有提供任何报道。如果我无法制作自己的自定义运行对话框并将数据发送到 shell32.dll(存储运行对话框的位置),我将选择可以从按钮打开运行对话框的代码。到目前为止我找到的唯一信息是如何用VBScript打开它,我想知道如何在C/C++中直接访问shell对象。

如果有帮助,这里是 VBScript(如果您想查看,请保存为 .vbs)

<script language="VBScript">
    function fnShellFileRunVB()
        dim objShell

        set objShell = CreateObject("Shell.Application")
        objShell.FileRun

        set objShell = nothing
    end function
 </script>

【问题讨论】:

【参考方案1】:

VBScript 的 CreateObject() 函数只是创建一个 COM 对象的实例。你可以在 C++ 中做同样的事情,你只需要先阅读tutorial on how to access COM objects using C++。

【讨论】:

【参考方案2】:

创建一个简单的运行对话框不是什么大问题(用户界面)。用户输入的数据可以通过ShellExecute运行。如果你想调用 Run 对话框,那么你应该使用 COM。

【讨论】:

是的,但是使用 shellexecute 它说我需要多个参数,参数可能会有所不同,具体取决于他们要运行的命令。我希望它适用于每个命令,例如 cmd、msconfig、dxdiag 等。

以上是关于使用 C 或 C++ 制作自定义运行对话框?的主要内容,如果未能解决你的问题,请参考以下文章

如何在自定义文件浏览对话框Qt C++中实现返回和下一步按钮

从应用程序对话框访问的 MFC 自定义键盘 DLL

从 JPanel 创建自定义对话框

C++ - 对话框问题

如何在android中制作带有圆角的自定义对话框

在片段活动中显示自定义对话框