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