鱼C论坛

 找回密码
 立即注册
查看: 2959|回复: 2

win32的函数有没有直接调用底层的函数。

[复制链接]
发表于 2016-11-3 16:55:11 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

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

x
本帖最后由 wei_Y 于 2016-11-13 12:22 编辑


我想模拟登陆TGP——腾讯游戏平台。

使用keybd_event或者sendMessage都可以写入账号,

代码如下:
  1.     handle = win32gui.GetCursorPos()
  2.     point_x = handle[0]
  3.     point_y = handle[1]
  4.     handle = win32gui.WindowFromPoint(handle)
  5.     parent_handle = win32gui.GetParent(handle)
复制代码

获取光标处(手动点击用户名区)的 窗口句柄。

  1.     for i in '863033788':
  2.         time.sleep(0.2)
  3.         # win32gui.SendMessage(handle, 0x0102, ord(i), None)
  4.         win32api.SetCursorPos((point_x, point_y))
  5.         win32api.keybd_event(VK_CODE[i], win32api.MapVirtualKey(VK_CODE[i], 0), 0, 0)
  6.         win32api.keybd_event(VK_CODE[i], win32api.MapVirtualKey(VK_CODE[i], 0), win32con.KEYEVENTF_KEYUP, 0)
复制代码


哪一种方法都可以键入账号。


有一个奇怪的方法也可以写入密码,


  1.         time.sleep(0.3)
  2.         win32gui.SetForegroundWindow(pass_handle)

  3.         win32api.keybd_event(VK_CODE[i], win32api.MapVirtualKey(VK_CODE[i], 0), 0, 0)
  4.         win32api.keybd_event(VK_CODE[i], win32api.MapVirtualKey(VK_CODE[i], 0), win32con.KEYEVENTF_KEYUP, 0)

  5.         time.sleep(0.1)

  6.         win32gui.SetForegroundWindow(handle)

复制代码


先设置激活密码窗口,会键入一个字符,然后激活到账号窗口,在激活密码窗口,可以一个个的键入。

在记事本等其他窗口里发现键入的东西确实是密码。

可是TGP就是不认,可能有所加密。

那能不能调用 一个更底层的键盘事件,完完全全相当于手打键盘的那种。
@无符号整形 @小甲鱼 @~风介~ @不二如是
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2016-11-16 20:48:53 | 显示全部楼层
有加密的吧
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2016-12-5 15:11:39 | 显示全部楼层
学习学习
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-3-29 13:32

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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