从资源管理器启动卸载时,它会弹出一条消息,要求用户关闭应用程序。
但是,应用程序没有运行。FindWindow看到了什么用户看不到的东西?
这在 Windows95 或使用 Win95 界面的系统上不会发生。
从开始菜单中的卸载图标卸载时不会发生此问题。
从资源管理器启动卸载时,它会弹出一条消息,要求用户关闭应用程序。
但是,应用程序没有运行。FindWindow看到了什么用户看不到的东西?
这在 Windows95 或使用 Win95 界面的系统上不会发生。
从开始菜单中的卸载图标卸载时不会发生此问题。
在 Win95 GUI 中,资源管理器窗口的标题包含完整路径 - 例如C:\BuildScripts
- 而在更高版本(我们的 QA 使用 Win7 和 Win8)中,标题现在是文件夹名称 - 例如BuildScripts
。
因此,如果您的安装文件夹与您的产品同名,FindWindow
则无法区分打开的资源管理器窗口和您的产品。
这就是为什么只有从资源管理器卸载时才会出现问题,而从开始菜单中的卸载图标卸载时不会出现问题的原因。
解决方案:
FindWindow
进程仍在后台运行。看看 ProcessExplorer 或 WindowTaskManager 也许你会认出它