1
我试图以编程方式移动窗口的滚动条。我首先发送:滚动条移动SetScrollPos和SendMessage
SetScrollPos(handle, 1, position, true);
,然后依次为:
SendMessage(handle, 0x0115, wparam, new IntPtr(0));
的WPARAM是正确的。当我通过spy ++进行检查时,与上述代码一起发送滚动和实际滚动的唯一区别在于,在实际滚动中,消息嵌套级别为1,但此处为零。但除此之外,所有其他属性和WM_VSCROLL,句柄,位置,wparam等都是相同的。但是,程序化滚动不会移动条。 什么即时通讯做什么错误的任何建议?
P.S:试图从c#应用程序中做到这一点 谢谢!
编辑:当我将SB_BOTTOM传递给wparam时,它正确地将我带到滚动的末尾。
我试过SetScrollInfo,它似乎没有为我工作。 SendMessage适用于所有情况,除了我尝试发送SB_THUMBPOSITION作为loword和位置作为wparam中hiword的位置。 – kambamsu 2010-07-19 12:27:14
我相信你对SetScrollInfo有错误的p/invoke,或者错误地使用它,因为这个函数是WinApi并且100%正常工作。尝试使用它,或显示您的p/invoke接口SetScrollInfo和用法示例。 – arbiter 2010-07-19 13:48:48