我要取一程序的主窗口句柄,但这程序有些特殊:
1,每次启动后用SPY++查看它的类名时都会不一样,具体表现在类名的最后几个数字串变化,类名的前面部分不变。
2,每次启动程序后,它的主窗口标题栏文字的前面部分总是“AABBCCDD”,后面部分是变化的。
有了上面两个变化,我用FindWindow(nil,PChar(标题))是不可行的。
请前辈们给小弟一条活路,谢谢指教
1,每次启动后用SPY++查看它的类名时都会不一样,具体表现在类名的最后几个数字串变化,类名的前面部分不变。
2,每次启动程序后,它的主窗口标题栏文字的前面部分总是“AABBCCDD”,后面部分是变化的。
有了上面两个变化,我用FindWindow(nil,PChar(标题))是不可行的。
请前辈们给小弟一条活路,谢谢指教
枚舉系統所有頂層窗口
!
枚举所有顶级窗口,根据窗口ID可以得到进程ID,然后对比进程的文件名.
如果找到的不是你所需要的窗口(你要找的不是顶级窗口),可以再根据进程ID用EnumThreadWindows枚举进程的所有窗口,再得到窗口类名及标题并判断