登录
首页 » VC++源码 » VC++ 实现屏幕取词功能的鼠标钩子

VC++ 实现屏幕取词功能的鼠标钩子

于 2023-05-25 发布 文件大小:35.88 kB
0 205
下载积分: 2 下载次数: 2

代码说明:

VC++实现类似早期金山词霸屏幕取词功能的鼠标钩子HOOK,鼠标HOOK,钩子的实现例子附上源码,里面包括了两个源码:   Mousehook为类似金山词霸屏幕取词功能的鼠标钩子   TestMouseHook文件夹内为鼠标钩子生成DLL的源码例子   在调用这个钩子时,要把MouseHook文件夹内生成的DLL拷贝至TestMousehook的BIN目录下。   调用钩子时,要做相关设置:   #pragma data_seg("mydata")   HWND glhPrevTarWnd = NULL; //上次鼠标所指的窗口句柄   HWND glhDisplayWnd = NULL; //显示目标窗口标题编辑框的句柄   HHOOK glhHook = NULL; //安装的鼠标勾子句柄   HINSTANCE glhInstance = NULL; //DLL实例句柄   #pragma data_seg()   还有安装钩子并设定接收显示窗口句柄、设置显示目标窗口标题编辑框的句柄、得到光标(point)所在点的窗口句柄、得到整个窗口在屏幕上的矩形框位置等。

下载说明:请别用迅雷下载,失败请重下,重下不扣分!

发表评论

0 个回复

  • 2种方案的VC++ 界面换肤模块
    一个挺有用的VC++ 界面换肤模块,里面包括了了两种换肤方案,“方案一”文件夹中实现的是加载皮肤文件实现界面换肤,“方案二”文件夹中实现的是加载组件库实现界面换肤。   加载皮肤文件实现界面换肤:选择“界面修改”/“加载界面文件”命令,在打开的窗口中选择皮肤文件(.ski),即可更换界面皮肤.   另外还有加载组件库实现界面换肤,使用的是WndDll.dll,请下载源码具体测试吧。   加载窗体皮肤文件要注意:窗体各部分位图资源:   0,1,2: 分别为标题栏的左中右3部分   3,4,5: 分别为左,下,右边框   6,7,8,9,10,11: 为标题栏普通按钮和热点按钮   12,13: 表示左下角和右下角位图   14: 表示背景位图
    2022-03-23 09:54:11下载
    积分:1
  • VC++ 6.0 查询日期控件内的数据库内容
    VC++ 6.0 查询日期控件内数据,这个例子是结合数据库实现的,应该算是数据库实例的范畴,是一个将日期类型数据作为查询条件的一个例子。只不过这里的日期类型,是通过日期控件来选择,因此本实例演示了两个重要功能:一、数据库查询检索、二日期控件的使用,使用日期控件可有效避免用户手动输入日期数据出错,减少不必要的时间。
    2022-03-14 13:16:20下载
    积分:1
  • VC++ 设置打印图形的位置
    VC++ 6.0 设置打印图形的位置,实现所见即所得的打印功能。   if(pDC->IsPrinting())//判断是否因打印或打印预览而调用OnPrepareDC()函数   {    pDC->SetViewportOrg(250,400);//设置视口坐标原点   }   //以下为显示和打印的内容   pDC->TextOut(10,10,"实现所见即所得的打印");   pDC->SetBkMode(TRANSPARENT);   pDC->Rectangle(10,40,310,350);   pDC->Ellipse(50,50,210,220);   pDC->Ellipse(70,240,280,320)   //设置映射模式   pDC->SetMapMode(MM_ANISOTROPIC);   CSize winSize = CSize(1024,768);   pDC->SetWindowExt(winSize); //设定窗口大小   //得到实际设备每逻辑英寸的像素数量   int xLogPixPerInch,yLogPixPerInch;   xLogPixPerInch=pDC->GetDeviceCaps(LOGPIXELSX);   yLogPixPerInch=pDC->GetDeviceCaps(LOGPIXELSY);   //得到设备坐标和逻辑坐标的比例   以下是实现打印:   int xExt,yExt;   xExt=winSize.cx*600/xLogPixPerInch; //按照打印机扩大视口   yExt=winSize.cy*600/yLogPixPerInch;   pDC->SetViewportExt(xExt,yExt); //设定视口大小
    2022-01-27 16:52:24下载
    积分:1
  • VC++课程设计 背单词软件
    VC++课程设计 背单词软件源代码,VC++课堂作业,在visual studio2010环境下开发的背单词程序,附有完整的源代码,程序采用文件存储信息,有单词复习,修改录,单词游戏,单词测验等功能。背单词过程中,若忘记单词,可按任意键显示正确答案。打错的词会加入错词本,为以后的练习提供纠错机会。本程序的运行需要先注册或设置用户名称,然后将记录各自的背单词情况。
    2022-10-10 05:30:03下载
    积分:1
  • VC++ 演示Excel文件的导入导出操作
    VC++ 演示Excel文件的导入导出操作,一共完成了两种功能,一种是生成Excel文件,另一种是从Excel文件导入,这两种功能对于编写一些信息管理系统非常有用,我们经常需要将系统内的数据导出为Excle文件,或都从Excel中向系统导入数据,本实例将演示一些基础的功能实现,可提供一些参考。
    2022-03-22 12:27:55下载
    积分:1
  • VC++ FTP、HTTP 多线程断点续传下载文件
    VC++ FTP、HTTP 多线程断点续传下载文件,在断点下载时,可获取远程站点信息,如:是否支持断点续传、要下载的文件大小和创建时间等。可设置下载的线程数、下载任务的线程函数、多线程断点续传下载一个文件、关于BOOL bForceDownload/*=FALSE*/的定义,如果为 TRUE 表示强制性重新下载,以下载的部分将会被删除,FALSE 表示断点续传,并创建多线程下载使用的对象和数据缓冲、删除多线程下载使用的对象和数据缓冲。   启动多线程下载,返回 0 表示失败,1表示成功,2表示不用下载了,因为该文件已经下载过了   智能判断要保存的文件是否已经存在,且大小和创建时间一致,如果不是强制性下载,则不需要再下载了。
    2022-03-19 00:12:39下载
    积分:1
  • 基于C++的打砖块游戏
    基于C++的打砖块游戏源码,就是撞球游戏了,打乒乓球的,不过这个源代码基于C++ 实现,运行后会自动全屏,界面效果如截图所示,源代码是来自国外网站的,全部是英文注释,有兴趣的学习研究一下,游戏的操控效果还是很流畅的,值得学习。
    2023-07-17 19:35:03下载
    积分:1
  • VC++6.0 窗口过程函数及消息发送、响应测试实例
    VC++6.0 窗口过程函数及消息发送、响应测试实例,在应用程序中窗口过程函数及其消息发送、响应机制的使用,能够方便程序集中处理各类消息,使得整个程序的架构更加合理、清晰。窗口过程函数及其消息发送、响应机制的使用方法:   ⑴自定义消息:   在Resource.h文件中自定义消息:#define WM_MYMSG 2000   ⑵添加窗口过程函数的声明和实现体:   ①在.h文件中添加窗口过程函数声明:   virtual LRESULT WindowProc(UINT message, WPARAM wParam, LPARAM lParam);   ②在.cpp文件中添加窗口过程函数实现体:   ⑶发送消息的方式比较:   ①this->SendMessage(WM_MYMSG,0,0);   ②this->PostMessage(WM_MYMSG,0,0);   ③this->SendNotifyMessage(WM_MYMSG,0,0);   这三个函数都可以将指定的消息发送到某个窗口,但是这三种消息的发送方式存在如下的区别:SendMessage立即调用窗口过程函数,而且直到窗口过程函数处理完消息后才返回。PostMessage则是将指定的消息寄送到窗口消息队列后立即返回。对于SendNotifyMessage来说,如果窗口是调用线程创建的,SendNotifyMessage为该窗口调用窗口过程函数,并且等待窗口过程函数处理完消息后才返回;如果窗口是由不同的线程创建的,SendNotifyMessage将指定的消息传给窗口过程函数后立即返回。
    2023-03-05 04:00:03下载
    积分:1
  • VC++ 限定框架窗口的大小和位置
    VC++ 限定框架窗口的大小和位置,无法移动且固定大小的SDI,用VC++编写实现这种固定窗口大小,且无法用鼠标拖动的窗口。窗口是不能改变大小的,窗口标题也不能被拖动,运行程序后,窗口的位置就已经固定,并不能移动和调整大小的操作。相关的代码:   CMenu* pTopMenu = GetSystemMenu(FALSE); //获取系统菜单   pTopMenu -> RemoveMenu(4,MF_BYPOSITION); //去除最大、最小化功能   pTopMenu -> RemoveMenu(2,MF_BYPOSITION); //去除改变尺寸功能   pTopMenu -> RemoveMenu(1,MF_BYPOSITION); //去除移动功能   if( !CFrameWnd::PreCreateWindow(cs) )    return FALSE;   //设置框架窗口的初始大小和位置   cs.cy = ::GetSystemMetrics(SM_CYSCREEN) / 4;    cs.cx = ::GetSystemMetrics(SM_CXSCREEN) / 3;    cs.y = cs.cy / 4;    cs.x = cs.cx / 2;   return TRUE;
    2022-06-14 00:02:23下载
    积分:1
  • VC++ 生成Brush笔刷程序
    VC++ 生成Brush笔刷程序,使用了三种方法创建笔刷,第一种和第二种使用构造函数,第三种 创建CBrush类的一个对象myBrush3,调用CreateBrushIndirect()函数。创建了纯色、斜纹、网状方格三种形式的笔刷。   void CCreateBrushView::OnDraw(CDC* pDC)   {    CCreateBrushDoc* pDoc = GetDocument();    ASSERT_VALID(pDoc);    // TODO: add draw code for native data here    // 第一种方法创建画刷    // 定义时调用构造函数    CBrush myBrush1(RGB(0,0,255));    CBrush* pOldBrush1 = pDC->SelectObject(&myBrush1);    pDC->Rectangle(100,150,250,400);    // 恢复画刷对象    pDC->SelectObject(pOldBrush1);    // 第二种方法创建画刷    // 定义时调用构造函数    CBrush myBrush2(HS_BDIAGONAL,RGB(255,0,0));    CBrush* pOldBrush2 = pDC->SelectObject(&myBrush2);    pDC->Rectangle(300,100,450,360);    // 恢复画刷对象    pDC->SelectObject(pOldBrush2);    // 第三种方法创建画刷    // 创建CBrush类的一个对象myBrush3    CBrush myBrush3;    // 设置LOGBRUSH结构;    LOGBRUSH lb;    lb.lbStyle = BS_HATCHED;    lb.lbColor = RGB(0,255,0);    lb.lbHatch = HS_CROSS;    // 调用CreateBrushIndirect()函数    myBrush3.CreateBrushIndirect(&lb);    CBrush* pOldBrush3 = pDC->SelectObject(&myBrush
    2022-01-30 23:25:40下载
    积分:1
  • 696516资源总数
  • 106914会员总数
  • 0今日下载