python禁用键鼠与提权代码实例

yipeiwu_com6年前Python基础

要求

利用python实现禁用键盘鼠标

思路

经过查阅资料目前最好的办法是采用ctypes中的dll文件进行编写

from ctypes import *
improt time
print(winll.shell32.IsUserAnAdmin()) #判断是否有管理员权限
user32 = windll.LoadLibrary("C:\\Windows\\System32\\user32.dll")
user32.BlockInput(True) #该功能需要管理员权限 True 禁用
time.sleep(5)
user32.BlockInput(Flase) #该功能需要管理员权限 
time.sleep(5) 

提权

def requireAdministrator(f):
  def inner(*args, **kwargs):
    if windll.shell32.IsUserAnAdmin():
      f()
    else:
      # Re-run the program with admin rights
      windll.shell32.ShellExecuteW(None, "runas", sys.executable, __file__, None, 0)
      f()
  return inner

官方文档

工欲善其事,必先利其器!

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持【听图阁-专注于Python设计】。

相关文章

wxPython:python首选的GUI库实例分享

wxPython:python首选的GUI库实例分享

wxPython是Python语言的一套优秀的GUI图形库,允许Python程序员很方便的创建完整的、功能健全的GUI用户界面。 wxPython是作为优秀的跨平台GUI库wxWidge...

在Django中编写模版节点及注册标签的方法

编写模板节点 编写自定义标签的第二步就是定义一个拥有 render() 方法的 Node 子类。 继续前面的例子,我们需要定义 CurrentTimeNode : import da...

Python中几种导入模块的方式总结

模块内部封装了很多实用的功能,有时在模块外部调用就需要将其导入。常见的方式有如下几种: 1 . import >>> import sys >>>...

TensorFlow用expand_dim()来增加维度的方法

TensorFlow中,想要维度增加一维,可以使用tf.expand_dims(input, dim, name=None)函数。当然,我们常用tf.reshape(input, sha...

Python连接mysql数据库的正确姿势

Python连接mysql数据库的正确姿势

Python 数据库接口支持非常多的数据库,你可以选择适合你项目的数据库: GadFly mSQL MySQL PostgreSQL Microsoft SQL S...