使用python实现桌面输入框

有必要说下,这个输入框可以用来做什么?

其实,这个输入框只是一个便捷操作入口,具体的业务逻辑是可以自由定制的。

比如我就开发过一个脚本管理工具,这个输入框作为执行脚本的便捷补充方式,如在输入框里键入show chrome并回车,就可以把chrome浏览器快速调出来,整个过程是不需要鼠标参与的,相信在使用习惯之后,某些情况下应该会比鼠标操作更加方便高效。

      

当然,你完全可以用来做些更有趣的事情,下面是具体的实现细节。

开发环境:

     Platform:Windows-10

     Python:2.7

     PyInstaller:3.5

    

涉及的主要技术:

    Tkinter :python gui

    pywin32 :调用windows的API

    multiprocessing:进行多进程通信

打包运行:

pyinstaller.exe -F xxx.py会在./dist目录下生成xxx.exe可执行文件,双击运行即可

实现源码:

# coding=utf-8

import os
import sys
import time
import subprocess
import multiprocessing
from multiprocessing import Process, Manager
from Tkinter import Tk,Entry,Frame,Toplevel,Menu
from Tkinter import BOTH,YES
from tkFont import Font

import pythoncom 
import pyHook

from win32api import GetSystemMetrics
from win32con import SM_CMONITORS,SM_CXVIRTUALSCREEN
import ctypes

# 记录上次敲击的键
last_key = None

def get_screens_info():
    """ 获取屏幕的分辨率 支持双屏 """
    monitors_info = []
    # 主流的显示器分辨率
    screen_support = {
        1280:720,
        1920:1080,
        2560:1440,
        3840:2160,
        4096:2160
    }
    # 获取显示器数量
    monitor_count = GetSystemMetrics(SM_CMONITORS)
    if monitor_count == 1:
        # 解决因dpi问题导致获取屏幕宽度不准确
        ctypes.windll.shcore.S
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值