有问题困扰了我好几天。。
我需要执行以下操作..启动一个进程(带有一些参数),找到该进程的窗口,对该窗口拍照,然后终止该进程,我需要重复此操作 X 次..
我可以使用 user32 启动该过程:找到它的主句柄,获取窗口大小,所以我知道图像的大小,将窗口位置设置为 0,0,并将其设为 topMost,然后使用 copyFromScreen 方法捕获该图像..从0,0到窗口大小..
所以看起来一切都很好,但是有一个我无法解决的问题..
当进程启动时,我注意到要使用 setWindowPos 本机函数,应该经过一段时间,所以我使用 Thread.sleep(x seconds),但每个系统的时间都不同..这就是问题..我必须知道每个系统要延迟多长时间..我不能让不必要的大延迟,因为这个过程重复了数百次..每一毫秒都很重要,
请如果你有一些解决方案,我会很高兴听到..
该过程是opera mobile emulator ..其他解决方案是使用sendMessage,并更改url,而不是一遍又一遍地启动该过程..我会等待一次,但这也行不通..使用Spy ++我尝试找到有关该过程的详细信息,例如 className .. 它说无效窗口.. 所以我可能也不能使用 sendMessage ..