您在lpszClassName中指定的窗口类名称是否会发生变化? E. g。对于像Firefox这样的应用程序?或者该名称对于应用程序是否始终相同?因此,一旦我安装了Firefox,我可以确定它的类名不会改变吗?
谢谢!
答案 0 :(得分:2)
您可以保证课程不会发生变化的唯一方法是应用程序开发人员的承诺。例如,Winamp保证其窗口类,因此您可以使用FindWindow
进行自动化。
但是没有什么可以阻止应用程序为它创建的每个窗口使用不同的类名。
请注意,如果您尝试自动化外部应用程序,则窗口类名称只是无数移动目标问题之一。例如,您通过FindWindow
获取窗口句柄。您为找到的某个命令ID发送WM_COMMAND
。下一版本,应用程序会更改此命令的ID。同样的问题。