gpt4 book ai didi

windows - Windows 上的 SIGWINCH 等效项?

转载 作者:可可西里 更新时间:2023-11-01 09:30:47 25 4
gpt4 key购买 nike

这很可能是另一个愚蠢的问题,但我似乎找不到答案(或任何与此相关的答案),所以这里开始吧。

我有一个在 Linux 上使用 SIGWINCH 来检测窗口大小变化的命令行程序,显然我有一个用户在 Windows 上使用该程序。问题是该程序使用 SIGWINCH 来检测窗口大小的变化,而 Windows 不支持此信号。我已经尝试使用谷歌搜索我能想到的每种搜索词组合,但由于 SIGWINCH 与窗口大小变化之间的关系,我无法找到任何有用的结果。我正在寻找 Windows 等效方法,或者最常用于检测 Windows 计算机上窗口大小变化的方法。

如何检测 Windows 上窗口大小的变化?

最佳答案

因为我认为您不能子类化控制台窗口(因此捕获 WM_SIZE 消息),您可能只需要轮询 GetConsoleScreenBufferInfo .

编辑:经进一步调查(未测试!),无需使用 ReadConsoleInput 进行轮询也可能可行.总结:调用SetConsoleMode打开窗口输入事件。从另一个线程,等待 console input handle使用 WaitForSingleObject 或类似函数发出信号。读取所有未决的控制台事件;窗口缓冲区大小事件的存在意味着调整了控制台窗口的大小。

关于windows - Windows 上的 SIGWINCH 等效项?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10856926/

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