我有一个不是我的程序,它具有3个TEdit框和3个TButton对象。我可以通过使用以下命令轻松获得按钮句柄:
IntPtr buttonhwnd = FindWindowEx(mainhwnd, IntPtr.Zero, "TButton", "Button Text");
但是我不能对“编辑”框进行相同的操作,因为它们中没有任何文本。因此,
FindWindowEx(hWnd, IntPtr.Zero, "TEdit", "")
可以全部获取。但是,它只会得到遇到的第一个,而我需要最后一个。有没有办法跳过多个方框或在它们之间进行区分? 最佳答案
我找到了答案:
鉴于有3个控件,我可以使用:
//Get first occuring Edit box
IntPtr edithWnd = FindWindowEx(mainhWnd, IntPtr.Zero, "TEdit", "");
//And the second
edithWnd = FindWindowEx(mainhWnd, edithWnd, "TEdit", "");
//And finally the one I want
edithWnd = FindWindowEx(mainhWnd, edithWnd, "TEdit", "");
尽管不是动态的,但它可以为我完成工作。但是,为将来可能需要此操作的人提供参考:除了知道他们处于Z位置之外,还有其他方法可以区分他们吗?
关于c# - 多个时如何获取编辑框的hWnd?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/8666502/