wei_Y 发表于 2016-11-3 16:55:11

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

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


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

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

代码如下:
    handle = win32gui.GetCursorPos()
    point_x = handle
    point_y = handle
    handle = win32gui.WindowFromPoint(handle)
    parent_handle = win32gui.GetParent(handle)
获取光标处(手动点击用户名区)的 窗口句柄。

    for i in '863033788':
      time.sleep(0.2)
      # win32gui.SendMessage(handle, 0x0102, ord(i), None)
      win32api.SetCursorPos((point_x, point_y))
      win32api.keybd_event(VK_CODE, win32api.MapVirtualKey(VK_CODE, 0), 0, 0)
      win32api.keybd_event(VK_CODE, win32api.MapVirtualKey(VK_CODE, 0), win32con.KEYEVENTF_KEYUP, 0)

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


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


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

      win32api.keybd_event(VK_CODE, win32api.MapVirtualKey(VK_CODE, 0), 0, 0)
      win32api.keybd_event(VK_CODE, win32api.MapVirtualKey(VK_CODE, 0), win32con.KEYEVENTF_KEYUP, 0)

      time.sleep(0.1)

      win32gui.SetForegroundWindow(handle)



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

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

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

那能不能调用 一个更底层的键盘事件,完完全全相当于手打键盘的那种。
@无符号整形 @小甲鱼 @~风介~ @不二如是

immortalfaith 发表于 2016-11-16 20:48:53

有加密的吧

L丶 发表于 2016-12-5 15:11:39

学习学习
页: [1]
查看完整版本: win32的函数有没有直接调用底层的函数。