• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号
您的位置:首页 > 程序设计 >vc/mfc > 请帮忙:如何编程控制其它的应用程序,使之滚动窗口???

请帮忙:如何编程控制其它的应用程序,使之滚动窗口???

作者:佚名 字体:[增加 减小] 来源:互联网 时间:2017-06-04

佚名通过本文主要向大家介绍了帮忙写程序,国光帮帮忙,哥哥帮帮忙,帮忙打字赚钱的工作,我欲望强丈母帮忙等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com
问题: 请帮忙:如何编程控制其它的应用程序,使之滚动窗口???
描述:

我想编写一个程序,给其它的应用程序(如IE,Word等)发消息,使我的程序可以控制这些应用程序,使其滚动窗口.急用,请大家帮帮忙,谢谢!


解决方案1:

如果你想确切的使某个控件的滚动条滚动,还可以这样
CRichEditCtrl m_RichEdit2;
m_RichEdit2.SendMessage(WM_VSCROLL,SB_BOTTOM,0);

解决方案2:

mark

解决方案3:

获得窗口句柄(因该是你有滚动条的窗口),然后SendMessage();

解决方案4:

找到窗口句柄,然后给他PostMessage

解决方案5:

根据得到的窗口句柄,发送WM_VSCROLL,WM_HSCROLL
SB_BOTTOM Scrolls to the lower right. 
SB_ENDSCROLL Ends scroll. 
SB_LINEDOWN Scrolls one line down. 
SB_LINEUP Scrolls one line up. 
SB_PAGEDOWN Scrolls one page down. 
SB_PAGEUP Scrolls one page up. 
SB_THUMBPOSITION The user has dragged the scroll box (thumb) and released the mouse button. The high-order word indicates the position of the scroll box at the end of the drag operation. 
SB_THUMBTRACK The user is dragging the scroll box. This message is sent repeatedly until the user releases the mouse button. The high-order word indicates the position that the scroll box has been dragged to. 
SB_TOP Scrolls to the upper left. 
试一试

解决方案6:

帮顶混分

解决方案7:

请看滚动栏消息定义:
WM_HSCROLL 
nScrollCode = (int) LOWORD(wParam);  // scroll bar value 
nPos = (short int) HIWORD(wParam);   // scroll box position 
hwndScrollBar = (HWND) lParam; 
如果用父窗体默认滚动栏,则hwndScrollBar为NULL,否则是自定义的滚动栏,hwndScrollBar不为NULL,
很多程序都使用自定义的滚动栏,应此
SendMessage(hWnd,WM_HSCROLL,SB_LEFT,0)也许为引发该程序的内部的运行错误,不是安全的做法

解决方案8:

这个似乎不是界面而是COM的内容阿,去ATL/ActiveX/COM版问吧

解决方案9:

获得窗口句柄,然后SendMessage();

解决方案10:

举个例子吧,比如想让当前这个窗口滚动,大概的代码可以这样
获得窗口句柄的方法有很多,这里随便用一个了
CWnd* ParentWnd1 = FindWindow(NULL,"请帮忙:如何编程控制其它的应用程序,使之滚动窗口???");
CWnd* ParentWnd2 = FindWindowEx( ParentWnd1->m_hWnd, 0, "Shell DocObject View", 0 );
CWnd* TargetWnd = FindWindowEx( ParentWnd2->m_hWnd, 0, "Internet Explorer_Server", 0 );
TargetWnd->SendMessage(WM_VSCROLL, SB_PAGEDOWN, 0 );
就可以了,你可以试一下,很简单的^_^
具体类型可以通过Spy++知道

解决方案11:

FindWindow
SendMessage
呵呵。师父也在啊。。。

解决方案12:

首先要用FindWindow或者FindWindowEx 一层层枚举到具有滚动条的控件句柄,注意这里IE和Word或者notepad 等等的控件类型各自都是不同的
然后用  SendMessage( hWnd, WM_HSCROLL, SB_PAGEDOWN, 0 ); 这样的函数给它发滚动消息就OK了
^_^
具体消息内容见楼上几位

解决方案13:

根据得到的窗口句柄,发送WM_VSCROLL,WM_HSCROLL
SB_BOTTOM Scrolls to the lower right. 
SB_ENDSCROLL Ends scroll. 
SB_LINEDOWN Scrolls one line down. 
SB_LINEUP Scrolls one line up. 
SB_PAGEDOWN Scrolls one page down. 
SB_PAGEUP Scrolls one page up. 
SB_THUMBPOSITION The user has dragged the scroll box (thumb) and released the mouse button. The high-order word indicates the position of the scroll box at the end of the drag operation. 
SB_THUMBTRACK The user is dragging the scroll box. This message is sent repeatedly until the user releases the mouse button. The high-order word indicates the position that the scroll box has been dragged to. 
SB_TOP Scrolls to the upper left. 

解决方案14:

先得到句柄,再发送消息:
PostMessage(滚动条窗体或滚动条句柄,WM_HSCROLL/WM_VSCROLL,CSM_PAGEUP/CSM_PAGEDOWN/CSM_LINEUP.....,0);
/表示选择其一,如果为CSM_SETPOS,这wParam这一项必须为你想要的位置。
example:
SendMessage(hWnd, WM_VSCROLL,SB_PAGEDOWN,0);
参考:
http://search.csdn.net/Expert/topic/514/514868.xml?temp=1.581973E-02

解决方案15:

FindWindow
SendMessage


分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

  • 帮忙做一个简单程序:先给20分,满意后再给50分。
  • 帮忙解释一下这段实现只允许一个程序实例运行的代码
  • SDK12-1,帮忙看个书上程序,
  • 请帮忙:如何编程控制其它的应用程序,使之滚动窗口???

相关文章

  • 2017-06-05 请教关于vc++查看进程的问题。
  • 2017-06-04 idl定义接口时,参数相互包含如何解决
  • 2017-06-04 急问:如何批量打印excel
  • 2017-06-04 关于msgina的替换
  • 2017-06-04 VC蓝牙开发问题
  • 2017-06-05 关于串口与线程的问题afxBeginThread在线等
  • 2017-06-05 VARIANT和_variant_t可否在同一个函数中混用?
  • 2017-06-05 rawsocket为什么只能抓到incoming?2贴200分求助!<2>
  • 2017-06-05 请问进程的句柄和进程的ID是什么东西,请能具体一点
  • 2017-06-04 各位大侠,你们怎能看见200分都见死不救呢?

文章分类

  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号

最近更新的内容

    • 请问如何编程以其他用户的身份来运行一个程序?
    • 关于信号量同步,请教一下大虾?
    • 安装程序无法创建一个DCOM用户帐号来注册!
    • atl控件在mfc中调用失败
    • IE内嵌控件窗口焦点切换问题,急
    • 高分在线等,AcitveX控件cab包自动下载安装失败问题,请各位大侠帮忙
    • 关于ATL做复合控件的问题
    • 怎么在程序中设置单步中断?不用汇编。
    • 关于ATLCOM的困惑!!!高分相送
    • 如何获取当前com对象的引用计数

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有