c++ - 打开 Excel 窗口时,IsWindowVisible() 能否返回 false

标签 c++ excel qt winapi win32gui

我正在从我的 Qt 应用程序中自动化 Excel 窗口。

this问题,我正在寻找一种方法来清楚地识别 excel 窗口何时关闭。我没有从 Stack Overflow 得到答案。

我想到了一种新方法(不同于我在上一个问题中描述的方法)我可以识别 excel 是否已关闭。在这里。

使用excel获取窗口句柄

excel->property("Hwnd").toInt();

然后使用IsWindowVisible() WIN32 API 定期检查窗口是否可见。如果窗口不可见,则假设 excel 已关闭。

我的问题是,在正常使用Excel的过程中,是否存在即使excel没有关闭,IsWindowVisible()也会返回false的情况?

最佳答案

也许 IsWindow() 函数在这里更合适?此函数检查描述符是否存在,当窗口确实存在(显示或隐藏,但存在)时,它将返回正确的结果。但是不要忘记 HWND 不是窗口唯一的,如果窗口关闭并再次打开,它将获得新的 HWND

if(IsWindow(someHwnd)){
}else{
}

http://msdn.microsoft.com/en-us/library/windows/desktop/ms633528(v=vs.85).aspx

关于c++ - 打开 Excel 窗口时,IsWindowVisible() 能否返回 false,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27813529/

相关文章:

c++ - 添加项目到 QListWidget 添加设计时间

c++ - acos(double) 在 x64 和 x32 Visual Studio 上给出不同的结果

c++ - native API 窗口设计器

c++ - 查找使用了哪个校验和

java - 如何使用 Apache POI 通过 Google App Engine 读取电子表格?

r - 无法读取 R 中的 .xlsx 文件

c++ - 标准中是否有任何引用支持下面显示的结果?

ruby - 如何将 Roo Excel 工作表中的数组放入二维数组中

c++ - Qt Creator 不能使用 const char*

c++ - BB 10 Cascades 互联网检查