gpt4 book ai didi

c++ - 如何检测 Windows 资源管理器是否显示给定文件夹?

转载 作者:行者123 更新时间:2023-11-28 03:52:42 26 4
gpt4 key购买 nike

我的程序在可执行文件的目录中创建了一个文件夹并保存了一些输出文件。当应用程序完成时,我让它自动在资源管理器窗口中打开文件夹,使用 ShellExecute(NULL, _T("Open"), _T("Explorer"), _T(m_strOutputPath), NULL, SW_SHOWDEFAULT);

现在,如果我继续重新运行该程序,即使它已经打开,它也会继续打开同一个文件夹。对于心不在焉的用户(我就是其中之一),这会导致同一文件夹出现多个窗口。

有没有办法检测文件夹是否已经在资源管理器窗口中打开,如果已经打开则不让它打开一个新窗口?

我在 Windows Vista 上的 MSVS 2008 SP1 中开发,但该程序将在 XP、Vista 和 7 上运行。

最佳答案

您可以使用 SHOpenFolderAndSelectItems功能。它将打开一个文件夹窗口并选择给定的文件。如果窗口已经打开,它将把它带到前面。

在内部,它使用 IShellWindows接口(interface),特别是 FindWindowSW 方法。

关于c++ - 如何检测 Windows 资源管理器是否显示给定文件夹?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4889005/

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