粱念念 发表于 2021-12-10 10:06

Typora 无法隐藏激活窗口

使用 spy++ 能检测到激活窗口。
![](https://awei-tuku.oss-cn-shenzhen.aliyuncs.com/images/2.png)

通过 FindWindow() 函数获取到激活窗口的句柄。
![](https://awei-tuku.oss-cn-shenzhen.aliyuncs.com/images/获取到激活窗口的句柄.png)

想通过 ShowWindow() 函数将激活窗口隐藏,但是无效。
![](https://awei-tuku.oss-cn-shenzhen.aliyuncs.com/images/无法隐藏注册窗口.png)

代码
```c
#include <iostream>
#include <Windows.h>

int main()
{
    HWND hTyporaWnd = NULL;
    HWND hRegisterWnd = NULL;
    char aryBuff = { 0 };
    BOOL bRet = FALSE;
    while (TRUE)
    {
      // 隐藏注册窗口
      hTyporaWnd = FindWindow(NULL, "Typora");
      if (hTyporaWnd != NULL)
      {
            hRegisterWnd = GetWindow(hTyporaWnd, GW_CHILD);
            GetWindowText(hRegisterWnd, aryBuff, sizeof(aryBuff));
            if (hRegisterWnd != NULL)
            {
                bRet = ShowWindow(hRegisterWnd, SW_HIDE);
                break;
            }
      }
    }
    return 0;
}
```


有什么其他方法,可以将激活窗口隐藏起来吗?

冥界3大法王 发表于 2021-12-11 15:39

有种修改方法叫做注册表修改,让试用期又重新复活。{:301_998:}

粱念念 发表于 2021-12-11 22:40

冥界3大法王 发表于 2021-12-11 15:39
有种修改方法叫做注册表修改,让试用期又重新复活。

这个我知道。我问的是怎么把窗口隐藏掉。

冥界3大法王 发表于 2021-12-11 23:35

粱念念 发表于 2021-12-11 22:40
这个我知道。我问的是怎么把窗口隐藏掉。

目测够呛,貌似和qt有一腿。
学习中对这个不熟悉,感觉窗口是非标的。
@smlie1110快来说出照门在哪?

无闻无问 发表于 2021-12-12 16:10

可尝试发送消息,或用另一个api,SetWindowPos,还有也可以取到句柄,再取“不是现在”的子句柄,再发送消息…………
页: [1]
查看完整版本: Typora 无法隐藏激活窗口