已知句柄 (控件的选项卡), 需要切换到 第2个选项卡 ,如图:
测试过
SendMessage(TTabSheet, WM_CLICK, (IntPtr)0, "0"); 不成功 Thread.Sleep(2000);
SetActiveWindow(TTabSheet); 不成功
SetForegroundWindow(TTabSheet); 不成功
求解决方法,园豆全部献上 ,先谢过。
SendMessage(m_hWnd, CB_SETCURSEL, nSelect, 0L);
nSelect 是tab 的index.
这是在VC++下的方法。
不行了 鼠标点击 中间 就出了 这么多消息,实在不知道如何下手,
SendMessage(hTab,TCM_SETCURFOCUS,2,0);/
Thread.Sleep(2000);
SendMessage(hTab,TCM_SETCURSEL,2,0);失败
@SpeakHero:
第二个tab的index应该 1吧。。。。
@XiaoFaye: 也不行 使用 TCM_Count 为0
@SpeakHero:
能说下你用什么开发软件吗?控件是标准的Tab控件还是第三方的???
@XiaoFaye: c# vs2013 tabctrol 如图 是冰点还原精灵的 我需要自动化操作 去修改密码
@SpeakHero:
晕。。。那用VBScript或者Macro Recorder等自动化软件就行了。。。
@XiaoFaye: 我需要大批量在不同环境下 运行 ,而那些键盘鼠标录制 做不到
@SpeakHero:
有了,那个Tab上面不是有快捷键吗?直接发一个虚拟按键消息过去试试 , 比如Alt+P,这个会吧?
@XiaoFaye: 这个也是办法 我试试 sendkey
@XiaoFaye: 成功了 但是有时候会失效
@SpeakHero:
可能窗口要先获得焦点,sendkey才会成功的哦。
@SpeakHero:
另外大批量连续操作的时候不要太快,最好做一些延迟处理。
@XiaoFaye: 设置了窗口置顶 和设置了焦点 sleep 2000 ,问题算符合要求,谢谢你的回答