另外一个程序是别人的。且界面是有 6个edit控件,我只想要其中一个的句柄 。
解决方案 »
- 高手请进 delphi+mapx变量释放问题?
- 急、如何用Delphi调用ADO的‘数据连接属性’窗口
- 请教一个,加载控件的问题!!(在线等!)
- 着急:有IME和MB文件怎么把输入法注册到系统?
- 我用ActiveForm制作的软件在IE上用,我想用直接连数据库的方法,不想用三层结构,可以吗?
- 怎么样近控制RICHEDIT的一行文件的居中居左居右
- 求助
- 为什么会包错?我不太明白,学习DELPHI中……
- 问个关于循环里用线程的问题
- 声讨问了问题不给分的人!
- 送500分!!!! 幫我解決VSS for Delphi的問題,一次送不了,作5次送!!!!!說話算話!
- 如何用sendmessage发送组合按键alt+s?
先获得程序主窗口的句柄
再查找类名为TEDIT的子窗口
暗地里进行的话好像可以用FindWindow和EnumChildWindows
H1,Hspmc,HGrid,H2,H3:THandle ;
begin
sendmessage(Handle, WM_KILLFOCUS, 0, 0); //首先使自己失去焦点
H1:=FindWindow(nil,'专用发票'); //当到当前另外程序中 caption为专用发票的句柄
Windows.BringWindowToTop(H1) ; //设为当前活动的窗体 HGrid := Findwindowex(H1,0,'TEdit',nil); //得到class为TEdit的第一个控件的句柄. 但是我想得到其中第三个Tedit的句柄 。 如果用EnumChildWindows,我怎么知道得到的 Edit的句柄才是我想要的。
有没有好方法知道,某一控件的name. 或用spy++类似的软件来获得它的name.
请大家发言祥细一点。最好贴出代码!