TC官方合作论坛

 找回密码
 立即注册
查看: 573|回复: 4
打印 上一主题 下一主题

[已解决] dllcall实例之TCspy加加 操作问题,求解答

[复制链接]
跳转到指定楼层
楼主
发表于 2014-3-18 15:08:58 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

马上加入TC

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
  1. 变量 当前句柄, handle, phwnd=array[3]
  2. 功能 刷新_时钟()
  3.     //这里添加你要执行的代码
  4.     当前句柄=窗口.鼠标所在窗口句柄()
  5.     编辑框.设置文本("句柄",当前句柄)
  6.     编辑框.设置文本("标题",窗口.类名(当前句柄))
  7.     编辑框.设置文本("编辑框_游戏标题",窗口.得到标题(当前句柄))
  8.     机器人.画边框()
  9. 功能结束

  10. //下面这个函数由飞灵所写,dllcall的注释已经很详细了,示例中就不做修改了
  11. 功能 画边框()
  12.     变量 DesktopWindowHwnd, DesktopWindowDC, DrawMode, PenHwnd, OldPenHwnd, rect_left, rect_top, rect_right, rect_bottom
  13.     //==================↑变量定义区↑====================      
  14.     DesktopWindowHwnd = dllcall("user32.dll", "int", "GetDesktopWindow")  //取桌面窗口句柄
  15.     DesktopWindowDC = dllcall("user32.dll", "int", "GetWindowDC", "int", DesktopWindowHwnd)  //取窗口设备场景
  16.     DrawMode = dllcall("gdi32.dll", "int", "SetROP2", "int", DesktopWindowDC, "int", 10)  //设置指定设备场景的绘图模式,并返回窗口前一个绘图模式
  17.     window.getwindowpos(当前句柄, rect_left, rect_top)
  18.     window.getwindowsize(当前句柄, rect_right, rect_bottom)
  19.     rect_right = rect_left + rect_right
  20.     rect_bottom = rect_top + rect_bottom  //获得整个窗口的范围矩形,窗口的边框、标题栏、滚动条及菜单等都在这个矩形内
  21.     PenHwnd = dllcall("gdi32.dll", "int", "CreatePen", "int", 0, "int", 4, "int", #00ff00)  //用指定的样式、宽度和颜色创建一个画笔,并返回一个画笔句柄
  22.     OldPenHwnd = dllcall("gdi32.dll", "int", "SelectObject", "int", DesktopWindowDC, "int", PenHwnd)  //选入设备场景,并返回以前选入设备场景的相同hObject类型的一个对象的句柄
  23.     dllcall("gdi32.dll", "int", "Rectangle", "int", DesktopWindowDC, "int", rect_left - 1, "int", rect_top - 1, "int", rect_right + 1, "int", rect_bottom + 1)
  24.     //help.sleep(500)
  25.     //dllcall("gdi32.dll", "int", "Rectangle", "int", DesktopWindowDC, "int", rect_left - 1, "int", rect_top - 1, "int", rect_right + 1, "int", rect_bottom + 1)  //用当前选定的画笔描绘矩形,并用当前选定的刷子进行填充      
  26.     dllcall("gdi32.dll", "int", "SelectObject", "int", DesktopWindowDC, "int", OldPenHwnd)  //选入设备场景
  27.     dllcall("gdi32.dll", "int", "SetROP2", "int", DesktopWindowDC, "int", DrawMode)  //设置指定设备场景的绘图模式        
  28.     dllcall("gdi32.dll", "int", "DeleteObject", "int", PenHwnd)  //删除对象
  29.     dllcall("user32.dll", "int", "ReleaseDC", "int", DesktopWindowHwnd, "int", DesktopWindowDC) //释放由调用GetDC或GetWindowDC函数获取的指定设备场景
  30. 功能结束

  31. //消息路由功能
  32. 功能 机器人_消息路由(句柄,消息,w参数,l参数,时间,x坐标,y坐标)
  33.     如果(消息 == 512)
  34.         xx=0
  35.         如果(句柄 == handle)
  36.             dllcall("user32.dll", "int", "SetClassLongA", "int", handle, "int", -12, "int", phwnd[0])  //设置鼠标指针为 光标.ico
  37.             xx=1
  38.         如果结束
  39.         如果(xx==0)
  40.             dllcall("user32.dll", "int", "SetClassLongA", "int", handle, "int", -12, "int", phwnd[1])  //设置鼠标指针为 光标.ico
  41.         如果结束
  42.     如果结束
  43.    
  44.     //==================↑设置鼠标指针↑====================           
  45.    
  46.     如果(句柄 == handle && 消息 == 513)      
  47.         timer.register("刷新", 500)  //注册时钟      
  48.         picture.setpicture("图片框_鼠标", "rc:bk0.bmp")  //设置"图片框_鼠标拖拽框"图片
  49.         dllcall("user32.dll", "int", "SetCapture", "int", handle)  //捕获鼠标
  50.     如果结束
  51.     //==================↑左键按下事件↑====================           
  52.    
  53.     如果(句柄 == handle && 消息 == 514)
  54.         timer.kill("刷新")
  55.         dllcall("user32.dll", "int", "ReleaseCapture")  //释放鼠标  
  56.         dllcall("user32.dll", "int", "SetClassLongA", "int", handle, "int", -12, "int", phwnd[1])   
  57.         picture.setpicture("图片框_鼠标", "rc:bk1.bmp")  //设置"图片框_鼠标拖拽框"图片
  58.         
  59.     如果结束
  60.    
  61.     返回 假
  62. 功能结束

  63. 功能 初始化()
  64.     //这里添加你要执行的代码
  65.     rcpath = help.getrcpath("rc:")
  66.     handle = control.gethandle("图片框_鼠标")
  67.    
  68.     phwnd[0] = dllcall("user32.dll", "int", "LoadCursorFromFileA", "char *", rcpath & "eye.cur")  //取鼠标指针 光标.ico 句柄
  69.     phwnd[1] = dllcall("user32.dll", "int", "GetClassLongA", "int", handle, "int", -12)  //取默认鼠标指针句柄
  70.     phwnd[2] = dllcall("user32.dll", "int", "LoadCursorFromFileA", "char *", rcpath & "坐标.cur")  //取鼠标指针 光标.ico 句柄
  71.    
  72. 功能结束
复制代码
我把那个案例的英文关键字都改成中文,然后在我自己建的脚本中使用的时候无法使用
回复

使用道具 举报

5#
发表于 2014-3-19 02:16:07 | 只看该作者
调用错了吧。或者修改了。却没有修改完。结果造成失败

我自己的拿来修改成中文,却可以用。


本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复 支持 反对

使用道具 举报

沙发
 楼主| 发表于 2014-3-18 15:10:00 | 只看该作者
本人QQ704805686,求大神指导
回复 支持 反对

使用道具 举报

板凳
 楼主| 发表于 2014-3-18 18:26:27 | 只看该作者
谁来帮忙解答一下
回复 支持 反对

使用道具 举报

地板
发表于 2014-3-18 18:48:01 | 只看该作者
一看这么多 一下子就不想看了。
回复 支持 反对

使用道具 举报

*滑动验证:
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

站长推荐上一条 /2 下一条

关闭

小黑屋|TC官方合作论坛 (苏ICP备18043773号

GMT+8, 2025-9-28 06:32 , Processed in 0.159815 second(s), 24 queries .

Powered by 海安天坑软件科技有限公司

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表