我正在开发一个可以自动使用另一个程序的小程序。我使用 FindWindow(Ex) 和获取/设置软件上所有其他控件的文本没有问题,但是使用他们正在使用的 Edit 控件遇到了障碍。使用 Spy++,我可以毫无问题地找到控件,并且可以获取/设置文本,但它实际上并不可见。是自定义控件吗?我可以访问自定义控件内的不同控件吗?我附上了一些屏幕截图来显示正在发生的事情。
使用 Spy++ 查找控件的类:
但它没有看到标题“sometext”
现在我将文本设置为“测试”
它读取文本,但不是实际显示的内容。控件仍显示“sometext”,但 Spy++ 和我自己的 GetText 方法看到“正在测试”
最后,我尝试关闭它以查看它是否覆盖了控件或其他东西,这就是我所看到的
它执行典型的最小化/关闭,但仍然可见“文本框”类型的东西。它是他们构建的自定义控件,里面有一个控件吗?我可以在那里获取/设置“sometext”的文本吗?另外,我浏览并搜索了 Spy++ 窗口中的“sometext”(当然是在刷新之后),但找不到它。
我目前正在通过设置焦点来完成它,这会激活字段中的光标,并使用 sendkeys 清除字段并填充新文本。它工作正常,但我真的不想使用 sendkeys 以防焦点在按键期间以某种方式丢失。
此外,如果可能,尽量保持它与 .NET 2.0 兼容。谢谢!