window class 名称是否在 win32api 中更改
Does the window class name change in win32api
您在 lpszClassName 中指定的 window class 名称是否会更改?例如对于像 firefox 这样的应用程序?还是应用程序的名称始终相同?所以一旦我安装了 Firefox,我可以确定它的 classname 没有改变?
谢谢!
保证 class 不变的唯一方法是应用程序开发人员做出一些承诺。例如 Winamp 保证它的 window class 所以你可以在它上面使用 FindWindow
来实现自动化。
但是没有什么可以阻止应用程序为其创建的每个 window 使用不同的 class 名称。
请注意,如果您正在尝试自动化外部应用程序,window class name 只是无数移动目标问题中的一个。例如,您通过 FindWindow
获得 window 句柄。您将 WM_COMMAND
发送给您找到的某个命令 ID。下一版本应用程序更改此命令的 ID。同样的问题。
您在 lpszClassName 中指定的 window class 名称是否会更改?例如对于像 firefox 这样的应用程序?还是应用程序的名称始终相同?所以一旦我安装了 Firefox,我可以确定它的 classname 没有改变?
谢谢!
保证 class 不变的唯一方法是应用程序开发人员做出一些承诺。例如 Winamp 保证它的 window class 所以你可以在它上面使用 FindWindow
来实现自动化。
但是没有什么可以阻止应用程序为其创建的每个 window 使用不同的 class 名称。
请注意,如果您正在尝试自动化外部应用程序,window class name 只是无数移动目标问题中的一个。例如,您通过 FindWindow
获得 window 句柄。您将 WM_COMMAND
发送给您找到的某个命令 ID。下一版本应用程序更改此命令的 ID。同样的问题。