首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将FolderBrowserDialog设置为前台

将FolderBrowserDialog设置为前台
EN

Stack Overflow用户
提问于 2009-09-30 09:56:26
回答 2查看 1.4K关注 0票数 0

我正在创建一个基本的MSI安装程序。为了选择安装路径,我调用了FolderBrowserDialog。一切正常,除了后台的FolderBrowserDialog应用程序。我想将它设置为前景窗口。此代码始终返回true,并且如果没有打开其他窗口,则可以正常工作。

如何检查dialogHandle是否是我的对话句柄?

下面是我的方法:

代码语言:javascript
复制
/// <param name="fPath">INSTALLPATH</param>
    /// <param name="handle">installshield handle</param>
    /// <returns></returns>
    public string NetworkFolderDialog(string sFilePath, IntPtr handle)
    {

        FolderBrowserDialog dialog = new FolderBrowserDialog();

        IntPtr handle2 = GetDesktopWindow();
        IntPtr dialogHandle = GetWindow(handle2, 5);

        bool set = SetForegroundWindow(dialogHandle);

        DialogResult result = dialog.ShowDialog();

        MessageBox.Show(set.ToString());

        if (result == DialogResult.OK)
            return dialog.SelectedPath;
        else
            return sFilePath;
    }

谢谢你的帮助。

EN

回答 2

Stack Overflow用户

发布于 2009-09-30 10:18:04

我认为你应该从你的代码中删除以下几行:

代码语言:javascript
复制
IntPtr handle2 = GetDesktopWindow();
IntPtr dialogHandle = GetWindow(handle2, 5);

bool set = SetForegroundWindow(dialogHandle);
票数 0
EN

Stack Overflow用户

发布于 2011-06-16 14:15:09

这里有一个关于这方面的讨论:Custom Installer in .Net showing Form behind installer

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1497151

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档