Exemplo n.º 1
0
 def _exit_event_loop(self):
     api.PostQuitMessage(0)
Exemplo n.º 2
0
 def exit(self, *args):
     win32api.PostQuitMessage()
Exemplo n.º 3
0
def Exit():
    """从右键菜单退出"""
    time.sleep(0.5)
    win32api.PostQuitMessage(0)
    sys.exit()
Exemplo n.º 4
0
def stop():
    global is_recording
    is_recording = False
    hm.UnhookKeyboard()
    hm.UnhookMouse()
    win32api.PostQuitMessage()
Exemplo n.º 5
0
 def stop(self):
     self.doStop.start()
     win32api.PostQuitMessage()
Exemplo n.º 6
0
 def destroy(self):
     print "root destroy"
     if self._recorder is not None:
         self._recorder.stop()
     self._root.destroy()
     win32api.PostQuitMessage(0)
Exemplo n.º 7
0
def onKeyboardEvent(event):
    global lists, MSG, title_word, global_title, pathlist
    words, title = '', ''
    status, title_status, break_status = 1, 1, 1
    #当前监控的的Ascii十进制数值
    keyid = event.Ascii
    #Ascii十进制32-127以内,部分是无法显示
    keychar = chr(event.Ascii)
    #Ascii明文,大部分都是依靠下面变量去判断
    keyword = event.Key
    #当前窗口如QQ或bilibili的名称
    title = event.WindowName
    #计算标题函数
    if title and len(title) > 0:
        for n in range(len(lists)):
            if len(title) >= len(lists[n]):
                for tw in title:
                    words += tw
                    if words == lists[n]:
                        global_title = words
                        title_status = 0
                        break_status = 0
                        break
            if break_status == 0:
                break
            words = ''
    #下面函数则是键盘记录的核心,我已经绞尽脑汁了。
    if title_status == 0:
        if (title_word != title and keyword != "Lcontrol"
                and keyword != "Rcontrol" and keyword != "Lmenu"
                and keyword != "Rmenu" and keyword != "Capital"
                and keyword != "Lshift" and keyword != "Rshift"):
            title_word = title
            MSG = getmore('txt', None).get_local_time() + title + "窗口: "
        if 127 > keyid > 32:
            MSG += keychar
        else:
            if keyword == "Return":
                MSG += "<回车>"
                status = 0
            elif keyword == "Tab":
                MSG += "<水平制表>"
            elif keyword == "Back":
                MSG += "<退格>"
            elif keyword == "Delete":
                MSG += "<删除>"
            elif keyword == "Space":
                MSG += "<空格>"
    if status == 0:
        if MSG != "":
            #当触发如回车或者一些特殊按键时候则触发记录
            try:
                getmore('txt', MSG).write_msg_to_txt()
            except:
                t_init = threading.Thread(target=init_setting,
                                          name="init data son line")
                t_init.start()
                t_init.join()
            win32api.PostQuitMessage()
        title_word = ""
        global_title = ""
        kwords = ""
    # 同鼠标事件监听函数的返回值
    return True
Exemplo n.º 8
0
 def OnDestroy(self, hwnd, msg, wparam, lparam):
     win32api.PostQuitMessage(0)  # Terminate the app.
Exemplo n.º 9
0
	def GameOverSurface(self,info):
		print(' ' * 20, info)
		win32api.PostQuitMessage()
Exemplo n.º 10
0
 def exit(self):
     win32api.PostQuitMessage()
Exemplo n.º 11
0
def onMouseEvent(event):

    if event.MessageName == "mouse left down":
        x, y = event.Position

        global count_name
        action = 'action%s' % count_name
        work_mode = conf.get('work_mode', 'work_mode')
        if work_mode == 'zhifubao':
            if action == 'action1':
                print(u'请点击< 添加收款理由')
                screen(x, y, action)
            elif action == 'action2':
                print(u'输入理由后请点击 < 发送')
                screen(x, y, action)
            elif action == 'action3':
                print(u'请点击 < 金额输入框')
            elif action == 'action4':
                print(u'输入金额后请点击 < 发送')
            elif action == 'action5':
                print(u'请点击 < 确定点击在蓝色空区域')
            elif action == 'action6':
                print(u'请点击 < 二维码右上角区域')
            elif action == 'action7':
                print(u'请点击 < 保存图片')
            elif action == 'action8':
                print(u'请点击 < 清楚金额')
            else:
                print(u'\n(退出模拟:直接关闭控制台!)')
            conf.set('auto_set', action, str((x, y)))
            count_name += 1
            conf.write(open("auto.conf", "w"))

        elif work_mode == 'weixin':
            if action == 'action1':
                print(u'请点击< 添加收钱备注')
                screen(x, y, action)
            elif action == 'action2':
                print(u'在弹出的输入框 点击》')
                screen(x, y, action)
            elif action == 'action3':
                screen(x, y, action)
                print(u'点击 取消后》直接输入金额》后按下回车')
            elif action == 'action4':
                print(u'在确定按钮左绿色区域 点击')
            elif action == 'action5':
                print(u'在二维码右上角 黑色中点 》点击')
            elif action == 'action6':
                print(u'点击》保存收款码')
            elif action == 'action7':
                print(u'点击》清除金额')
            elif action == 'action8':
                print(u'关闭控制台 开始work')
            elif action == 'action9':
                print(u'关闭控制台 开始work')
            elif action == 'action10':
                print(u'退出模拟:直接关闭控制台')
            else:
                print(u'\n(退出模拟:直接关闭控制台!)')
            conf.set('auto_set', action, str((x, y)))
            count_name += 1
            conf.write(open("auto.conf", "w"))

    elif event.MessageName == "mouse right down":
        # sys.exit()
        win32api.PostQuitMessage()
    return True
Exemplo n.º 12
0
    def onKeyboardEvent(self, event):
        if event.MessageName == 'key up':
            self.upnum += 1
        #print(111)
        print(event.Key, event.KeyID, event.MessageName, event.Time)
        tmp = []
        #tmp.append(event.Key)
        tmp.append(int(event.KeyID))
        key = event.MessageName.split(' ')
        if len(key) == 3:
            tmp.append(key[0].capitalize() + key[2].capitalize())
        else:
            tmp.append(key[0].capitalize() + key[1].capitalize())
        #tmp.append(event.MessageName)
        tmp.append(float(event.Time))
        self.keylist_base.append(tmp)
        lengt = len(self.keylist_base)
        if self.upnum % 51 == 0 and self.upnum != 0 and event.MessageName == 'key up':
            keytimelist = [[] for i in range(int(lengt / 2) + 10)]
            d = []
            num = 0
            for i in range(lengt):
                keylist = self.keylist_base[i]
                #print(keylist)
                if len(d) == 0:
                    if keylist[1] == "KeyDown":
                        keylist.append(num)
                        d.append(keylist)
                        num = num + 1
                else:
                    f = -1
                    for i in range(len(d)):
                        if d[i][0] == keylist[0]:
                            f = i
                            break
                    if f == -1:
                        if keylist[1] == "KeyDown":
                            keylist.append(num)
                            d.append(keylist)
                            num = num + 1
                    else:
                        if keylist[1] == "KeyUp":

                            keytimelist[d[f][3]].append(keylist[0])
                            keytimelist[d[f][3]].append(d[f][2])
                            keytimelist[d[f][3]].append(keylist[2])
                            del d[f]

            #print(keytimelist)
            for i in range(len(keytimelist) - 1, -1, -1):
                if len(keytimelist[i]) == 0:
                    keytimelist.pop(i)
            #print(keytimelist)
            key_word_list = []
            keylist1 = keytimelist
            for i in range(len(keylist1) - 1):
                key_word = []
                key_word.append(keylist1[i][0])
                key_word.append(keylist1[i + 1][0])
                # key_word.append(keylist[i+2][0])

                key_word.append(keylist1[i][2] - keylist1[i][1])
                key_word.append(keylist1[i + 1][2] - keylist1[i + 1][1])
                # key_word.append(keylist[i+2][2]-keylist[i+2][1])

                key_word.append(keylist1[i + 1][1] - keylist1[i][2])
                key_word.append(keylist1[i + 1][1] - keylist1[i][1])
                key_word_list.append(key_word)
            #print(key_word_list)
            #print(len(key_word_list))
            seq_length = 30
            l = 0
            r = seq_length
            # print(r)
            len1 = len(key_word_list)
            xx = []
            while r < len1:
                xx.append(key_word_list[l:r])
                l = l + 1
                r = r + 1
            if r > len1:
                xx.append(key_word_list[len1 - seq_length:len1])
            testlist = xx
            #print(len(testlist))
            len1 = len(testlist)
            testlist = numpy.array(testlist)
            #with self.graph.as_default():
            #print(time.time())
            res = self.model.predict(testlist, batch_size=10)
            #print(time.time())
            print(res)
            print(len(res))
            num = 0
            for i in range(len1):
                if res[i] < 0.5:
                    num = num + 1
            print(num / len1)
            if num >= int(0.5 * len1):
                print("经系统检测,存在入侵可能请输入验证码!!")
                win32api.PostQuitMessage()
                #强制中断用户操作,转入验证
            else:
                print("账户安全!!")
            self.keylist_base = []
            # m=model_test(testlist,len1)
            # if m.is_intruder==1:
            #      flash('经系统检测,存在入侵可能请输入验证码!!')
            # else:
            #      flash('账户安全!!')

        # 监听键盘事件
        return True
Exemplo n.º 13
0
    def OnKeyBoardEvent(self, event):
        global vehicle_dict, theBridge
        global idx_twin, idx_pool, time_ref, delay_min, time_boundary, time_length, time_window, num_seg_per_time_window
        global file_monitor, echo_flag_monitor
        global start_flag, finish_flag

        if start_flag == False:
            start_flag = True
            time_ref = round(time.time(), sec_grade)

        time_stamp = round(time.time() - time_ref, sec_grade)

        if event.KeyID == 81:  # Q
            vehicle_force = vehicle.MovingConcentrateForce(time_stamp, "from_left", "huge_slow", theBridge)
            vehicle_id = "HS_" + "%010.3f" % (time_stamp)
        elif event.KeyID == 65:  # A
            vehicle_force = vehicle.MovingConcentrateForce(time_stamp, "from_left", "small_fast", theBridge)
            vehicle_id = "SF_" + "%010.3f" % (time_stamp)
        elif event.KeyID == 80:  # P
            vehicle_force = vehicle.MovingConcentrateForce(time_stamp, "from_right", "huge_slow", theBridge)
            vehicle_id = "HS_" + "%010.3f" % (time_stamp)
        elif event.KeyID == 76:  # L
            vehicle_force = vehicle.MovingConcentrateForce(time_stamp, "from_right", "small_fast", theBridge)
            vehicle_id = "SF_" + "%010.3f" % (time_stamp)
        elif event.KeyID == 75:  # K
            self.lock.acquire()  # 加锁,避免冲突
            for i in range(200):
                vehicle_force = vehicle.MovingConcentrateForce(time_stamp, "from_left", "sequence2", theBridge, i)
                info = vehicle_force.Info()
                vehicle_id = info[0]
                vehicle_dict[vehicle_id] = vehicle_force  # 修改vehicle_dict
                file_monitor.write(str(vehicle_force.Info()) + "\n")
                if echo_flag_monitor:
                    print ", remain", vehicle_dict.keys()
                    print
            self.lock.release()  # 释放锁
        elif event.KeyID == 83:  # S
            self.lock.acquire()  # 加锁,避免冲突
            for i in range(200):
                vehicle_force = vehicle.MovingConcentrateForce(time_stamp, "from_left", "sequence", theBridge, i)
                info = vehicle_force.Info()
                vehicle_id = info[0]  # "SQ_" + "%02i" % (i)
                vehicle_dict[vehicle_id] = vehicle_force  # 修改vehicle_dict
                file_monitor.write(str(vehicle_force.Info()) + "\n")
                if echo_flag_monitor:
                    print ", remain", vehicle_dict.keys()
                    print
            self.lock.release()  # 释放锁
        elif event.KeyID == 90:  # Z
            print "Monitor: press key Z"
            win32api.PostQuitMessage()
            return True
        else:
            return True

        file_monitor.write(str(vehicle_force.Info()) + "\n")

        if echo_flag_monitor:
            print
            print "Monitor: time_stamp =", time_stamp,
            print ", new vehicle =", vehicle_force.Info(),

        self.lock.acquire()  # 加锁,避免冲突
        vehicle_dict[vehicle_id] = vehicle_force  # 修改vehicle_dict
        if echo_flag_monitor:
            print ", remain", vehicle_dict.keys()
            print
        self.lock.release()  # 释放锁

        return True
Exemplo n.º 14
0
def Exit():
    """right click -- exit from the menu"""
    time.sleep(0.5)
    win32api.PostQuitMessage(0)
    sys.exit()
    """settings of the menu"""
Exemplo n.º 15
0
 def on_destroy(self, hwnd, msg, wparam, lparam):
     nid = (self.hwnd, 0)
     win32gui.Shell_NotifyIcon(win32gui.NIM_DELETE, nid)
     win32api.PostQuitMessage(0)
Exemplo n.º 16
0
def Close():
    """
    Call windows api to shutdown the app
    :return:None
    """
    win32api.PostQuitMessage(0)
Exemplo n.º 17
0
 def OnDestroy(self, hwnd, msg, wparam, lparam):
     nid = (self.hwnd, 0)
     win32gui.Shell_NotifyIcon(win32gui.NIM_DELETE, nid)
     win32api.PostQuitMessage(0) # Terminate the app.
Exemplo n.º 18
0
def stopPyHookEvent():
    """
    end the getting program. 
    PyHook3.HookManager() will __del__(self)
"""
    win32api.PostQuitMessage()
Exemplo n.º 19
0
def abortkey(event):
    if (event.Key) == 'F12':
        win32api.PostQuitMessage()
    return True
Exemplo n.º 20
0
def onKeyboardEvent(event):
    global timer, isQuiet, isTimer, LmenuState, shiftState
    LmenuState = win32api.GetKeyState(18)
    shiftState = win32api.GetKeyState(16)
    if isTimer:
        timer.cancel()
    global preKey, currentKey
    currentKey = str(event.Key)
    # 如果当前按键为alt/lshift/rshift,将其值存储到prekey,本次按键监听结束,程序进入下一次按键监听。
    if currentKey == 'Lmenu' or currentKey == 'Lshift' or currentKey == 'Rshift':
        preKey = str(event.Key)
        return True
    # 如果当前按键为tab,则进入prekey判断
    if currentKey == 'Tab':
        # (win32api.GetKeyState(20) == 1)表示大写键被锁定
        # prekey为以下几个值,说明用户操作的是原有的快捷键,不做键盘消息处理,本次监听结束,进入下一次按键监听
        # 存在bug:为了使alt/shift加tab能连续使用,未清除记录的alt/shift键状态,此时立即按tab键,不会进入快捷方式
        # 修复方案,需获取alt的按键状态,win32ap.GetKeyState获取的是使用情况,比如初次win32ap.GetKeyState(16)为1,
        # 按一次shift后,win32ap.GetKeyState(16)=0,再按一次shift win32ap.GetKeyState(16)又变为1
        if preKey == 'Lmenu' or preKey == 'Lshift' or preKey == 'Rshift':
            # 状态为-128或-127,则表明该键处于按下状态
            # (若当前状态为0,则长按时,获取到的状态值为-127;若当前状态为0,则长按时,获取到的状态值为-128)
            if LmenuState == -128 or LmenuState == -127 or shiftState == -128 or shiftState == -127:
                return True
            else:
                preKey = 'Tab'
                return False
        #
        if preKey != 'Tab':
            preKey = str(event.Key)
            timer = threading.Timer(1, func_timer)
            timer.start()
            isTimer = True
            # 如果程序功能不为暂停,则阻止程序往下执行
            if not isQuiet:
                return False
    if preKey == 'Tab':
        if currentKey == 'Q':  # 按下Q后暂停快捷键功能
            isQuiet = not isQuiet
            preKey = ''
            return False
        if not isQuiet:
            preKey = ''
            if currentKey == 'M':
                win32api.keybd_event(9, 0, 0, 0)
                win32api.keybd_event(9, 0, win32con.KEYEVENTF_KEYUP, 0)
                return False
            # 逗号
            if currentKey == 'Oem_Comma':
                win32api.keybd_event(35, 0, 0, 0)
                win32api.keybd_event(event.KeyID, 0, 0, 0)
                win32api.keybd_event(event.KeyID, 0, win32con.KEYEVENTF_KEYUP, 0)
                win32api.keybd_event(13, 0, 0, 0)
                # win32api.keybd_event(13, 0, win32con.KEYEVENTF_KEYUP, 0)
                return False
                # win32api.keybd_event(event.KeyID, 0, win32con.KEYEVENTF_EXTENDEDKEY, 0)  # 按下键位
                # win32api.keybd_event(event.KeyID, 0, win32con.KEYEVENTF_KEYUP, 0)  # 松开键位
            # 分号
            if currentKey == 'Oem_1':
                win32api.keybd_event(35, 0, 0, 0)
                win32api.keybd_event(event.KeyID, 0, 0, 0)
                win32api.keybd_event(event.KeyID, 0, win32con.KEYEVENTF_KEYUP, 0)
                win32api.keybd_event(13, 0, 0, 0)
                return False
            # Left
            if currentKey == 'J':
                win32api.keybd_event(37, 0, 0, 0)
                return False
            # Up
            if currentKey == 'I':
                win32api.keybd_event(38, 0, 0, 0)
                return False
            # Right
            if currentKey == 'L':
                win32api.keybd_event(39, 0, 0, 0)
                return False
            # Down
            if currentKey == 'K':
                win32api.keybd_event(40, 0, 0, 0)
                return False
            # =
            if currentKey == 'O':
                win32api.keybd_event(32, 0, 0, 0)  # 空格
                win32api.keybd_event(187, 0, 0, 0)
                win32api.keybd_event(187, 0, win32con.KEYEVENTF_KEYUP, 0)
                win32api.keybd_event(32, 0, 0, 0)  # 空格
                return False
            # +
            if currentKey == 'P':  # ;
                win32api.keybd_event(32, 0, 0, 0)  # 空格
                win32api.keybd_event(16, 0, 0, 0)  # shift
                win32api.keybd_event(187, 0, 0, 0)  # "=+"
                win32api.keybd_event(187, 0, win32con.KEYEVENTF_KEYUP, 0)
                win32api.keybd_event(16, 0, win32con.KEYEVENTF_KEYUP, 0)
                win32api.keybd_event(32, 0, 0, 0)  # 空格
                return False
            # :
            if currentKey == 'U':
                win32api.keybd_event(35, 0, 0, 0)  # 按下End
                win32api.keybd_event(16, 0, 0, 0)  # 按下Shift
                win32api.keybd_event(186, 0, 0, 0)  # 按下“;:”
                win32api.keybd_event(186, 0, win32con.KEYEVENTF_KEYUP, 0)
                win32api.keybd_event(16, 0, win32con.KEYEVENTF_KEYUP, 0)
                win32api.keybd_event(13, 0, 0, 0)  # 按下“Enter”
                return False
            # {}
            if currentKey == 'Oem_4':  # [
                win32api.keybd_event(35, 0, 0, 0)  # 按下End
                win32api.keybd_event(32, 0, 0, 0)  # 按下Space
                win32api.keybd_event(16, 0, 0, 0)  # 按下Shift
                win32api.keybd_event(219, 0, 0, 0)  # 按下“[{”
                win32api.keybd_event(219, 0, win32con.KEYEVENTF_KEYUP, 0)  # 松开shift
                win32api.keybd_event(16, 0, win32con.KEYEVENTF_KEYUP, 0)  # 松开“[{”
                win32api.keybd_event(16, 0, 0, 0)
                win32api.keybd_event(221, 0, 0, 0)
                win32api.keybd_event(221, 0, win32con.KEYEVENTF_KEYUP, 0)
                win32api.keybd_event(16, 0, win32con.KEYEVENTF_KEYUP, 0)
                win32api.keybd_event(37, 0, 0, 0)
                win32api.keybd_event(13, 0, 0, 0)
                return False
            # 打开txt
            if currentKey == 'T':
                win32api.ShellExecute(0, 'open', 'notepad.exe', '', '', win32con.SW_SHOW)
                return False
            # # 打开word
            # if currentKey == 'W':
            #     win32api.ShellExecute(0, 'open', 'word.exe', '', '', win32con.SW_SHOW)
            #     return False
            # 以默认浏览器打开百度
            if currentKey == 'G':
                win32api.ShellExecute(0, 'open', 'https://baidu.com', '', '', win32con.SW_SHOW)
                return False
            # 以默认浏览器打开有道翻译
            if currentKey == 'Y':
                win32api.ShellExecute(0, 'open', 'http://fanyi.youdao.com/', '', '', win32con.SW_SHOW)
                return False
        if currentKey == 'F12':  # 按下F12后终止
            win32api.PostQuitMessage()
            return False
    if currentKey != 'Tab':
        preKey = ''
    return True