yuep程序员 2022-12-30 18:07 采纳率: 100%
浏览 54
已结题

C++ ShellExecute打开系统目录怎么置顶

调用此命令打开系统文件目录窗口,有时不能置顶,是最小化在状态栏。如何才能置顶?ShellExecute(NULL, NULL, dirpath, NULL, NULL, SW_SHOWNORMAL);

  • 写回答

10条回答 默认 最新

  • Mr数据杨 Python领域优质创作者 2022-12-31 16:59
    关注

    可以使用 SW_SHOWMAXIMIZED 参数来打开窗口并将其最大化。

    ShellExecute(NULL, NULL, dirpath, NULL, NULL, SW_SHOWMAXIMIZED);
    

    这样就可以打开系统文件目录窗口并将其最大化,即置顶。

    如果希望打开窗口但不最大化,可以使用 SW_SHOWNORMAL 参数。

    ShellExecute(NULL, NULL, dirpath, NULL, NULL, SW_SHOWNORMAL);
    

    这样就可以打开系统文件目录窗口,但不会最大化。

    如果想要置顶已打开的窗口,可以使用 SetWindowPos 函数来设置窗口的 Z 顺序,即将窗口置于最顶层。SetWindowPos 函数用于设置窗口的位置和大小,也可以用来调整窗口的 Z 顺序。

    #include <Windows.h>
    
    // 设置窗口 hWnd 置顶
    void SetWindowTop(HWND hWnd)
    {
        // 将窗口置于最顶层
        SetWindowPos(hWnd, HWND_TOPMOST, 0, 0, 0, 0, SWP_NOMOVE | SWP_NOSIZE);
    
        // 将窗口的 Z 顺序调整为最顶层
        SetWindowPos(hWnd, HWND_TOP, 0, 0, 0, 0, SWP_NOMOVE | SWP_NOSIZE);
    }
    
    
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(9条)

报告相同问题?

问题事件

  • 系统已结题 1月14日
  • 已采纳回答 1月6日
  • 创建了问题 12月30日

悬赏问题

  • ¥20 西门子S7-Graph,S7-300,梯形图
  • ¥50 用易语言http 访问不了网页
  • ¥50 safari浏览器fetch提交数据后数据丢失问题
  • ¥15 matlab不知道怎么改,求解答!!
  • ¥15 永磁直线电机的电流环pi调不出来
  • ¥15 用stata实现聚类的代码
  • ¥15 请问paddlehub能支持移动端开发吗?在Android studio上该如何部署?
  • ¥20 docker里部署springboot项目,访问不到扬声器
  • ¥15 netty整合springboot之后自动重连失效
  • ¥15 悬赏!微信开发者工具报错,求帮改