TC官方合作论坛

标题: dllcall实例之TCspy加加 操作问题,求解答 [打印本页]

作者: 墨染年华    时间: 2014-3-18 15:08
标题: dllcall实例之TCspy加加 操作问题,求解答
  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. 功能结束
复制代码
我把那个案例的英文关键字都改成中文,然后在我自己建的脚本中使用的时候无法使用
作者: 墨染年华    时间: 2014-3-18 15:10
本人QQ704805686,求大神指导
作者: 墨染年华    时间: 2014-3-18 18:26
谁来帮忙解答一下

作者: 续花丶    时间: 2014-3-18 18:48
一看这么多 一下子就不想看了。
作者: zxw445    时间: 2014-3-19 02:16
调用错了吧。或者修改了。却没有修改完。结果造成失败

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

[attach]14980[/attach]





欢迎光临 TC官方合作论坛 (http://bbs.52tc.co/) Powered by Discuz! X3.1