自动安装鼠标动态光标

作者: nanarino | 来源:发表于2020-05-08 16:04 被阅读0次

安装鼠标动态安装需要在

​ 个性化>主题>鼠标光标>预览

里一个一个的选择

这样太累了,使用python脚本来自动化安装。

逻辑

  1. 获取当前文件夹的鼠标动态光标
  2. 生成对应.inf格式安装文件
  3. 确认是否安装.inf文件

注意1

由于执行的安装命令是:rundll32 syssetup,SetupInfObjectInstallAction DefaultInstall 128 ./Install.inf可能只在部分Windows版本可以使用

经过测试 win7和win10都成功安装

注意2

脚本同级目录中.cur文件或.ani文件有一共15个,且默认排序(按文件名称递增)后需要遵循如下顺序:

  1. 正常选择
  2. 帮助选择
  3. 后台运行
  4. 精确定位
  5. 选定文本
  6. 手写
  7. 不可用
  8. 垂直调整
  9. 水平调整
  10. 沿对角线调整1
  11. 沿对角线调整2
  12. 移动
  13. 候选
  14. 链接选择

脚本正文

import os
import re

CUR_DIR = os.getcwd().split(os.sep)[-1]

ls = list(filter(lambda file: not os.path.isdir(file),
                 os.listdir(os.getcwd())))
ls = list(
    filter(lambda name: bool(re.findall(r'(^.*\.ani$)|(^.*\.cur$)', name)),
           ls))[:15]
ls.sort()

Strings_list = [
    'pointer', 'help', 'work', 'busy', 'cross', 'text', 'hand', 'unavailiable',
    'vert', 'horz', 'dgn1', 'dgn2', 'move', 'alternate', 'link'
]
Strings_list = list(
    map(lambda h, f: h + ' = \"' + f + '\"\r\n', Strings_list, ls))

inf_head = r'''[Version]
signature="$CHICAGO$"

[DefaultInstall]
CopyFiles = Scheme.Cur
AddReg    = Scheme.Reg,Wreg

[DestinationDirs]
Scheme.Cur = 10,"%CUR_DIR%"

[Scheme.Reg]
HKCU,"Control Panel\Cursors\Schemes","%SCHEME_NAME%",,"%10%\%CUR_DIR%\%pointer%,%10%\%CUR_DIR%\%help%,%10%\%CUR_DIR%\%work%,%10%\%CUR_DIR%\%busy%,%10%\%CUR_DIR%\%Cross%,%10%\%CUR_DIR%\%Text%,%10%\%CUR_DIR%\%Hand%,%10%\%CUR_DIR%\%Unavailiable%,%10%\%CUR_DIR%\%Vert%,%10%\%CUR_DIR%\%Horz%,%10%\%CUR_DIR%\%Dgn1%,%10%\%CUR_DIR%\%Dgn2%,%10%\%CUR_DIR%\%move%,%10%\%CUR_DIR%\%alternate%,%10%\%CUR_DIR%\%link%"

[Wreg]
HKCU,"Control Panel\Cursors",,0x00020000,"%SCHEME_NAME%"
HKCU,"Control Panel\Cursors",AppStarting,0x00020000,"%10%\%CUR_DIR%\%work%"
HKCU,"Control Panel\Cursors",Arrow,0x00020000,"%10%\%CUR_DIR%\%pointer%"
HKCU,"Control Panel\Cursors",Crosshair,0x00020000,"%10%\%CUR_DIR%\%Cross%"
HKCU,"Control Panel\Cursors",Hand,0x00020000,"%10%\%CUR_DIR%\%link%"
HKCU,"Control Panel\Cursors",Help,0x00020000,"%10%\%CUR_DIR%\%Help%"
HKCU,"Control Panel\Cursors",IBeam,0x00020000,"%10%\%CUR_DIR%\%Text%"
HKCU,"Control Panel\Cursors",No,0x00020000,"%10%\%CUR_DIR%\%Unavailiable%"
HKCU,"Control Panel\Cursors",NWPen,0x00020000,"%10%\%CUR_DIR%\%Hand%"
HKCU,"Control Panel\Cursors",SizeAll,0x00020000,"%10%\%CUR_DIR%\%move%"
HKCU,"Control Panel\Cursors",SizeNESW,0x00020000,"%10%\%CUR_DIR%\%Dgn2%"
HKCU,"Control Panel\Cursors",SizeNS,0x00020000,"%10%\%CUR_DIR%\%Vert%"
HKCU,"Control Panel\Cursors",SizeNWSE,0x00020000,"%10%\%CUR_DIR%\%Dgn1%"
HKCU,"Control Panel\Cursors",SizeWE,0x00020000,"%10%\%CUR_DIR%\%Horz%"
HKCU,"Control Panel\Cursors",UpArrow,0x00020000,"%10%\%CUR_DIR%\%alternate%"
HKCU,"Control Panel\Cursors",Wait,0x00020000,"%10%\%CUR_DIR%\%busy%"
HKLM,"SOFTWARE\Microsoft\Windows\CurrentVersion\Runonce\Setup\","",,"rundll32.exe shell32.dll,Control_RunDLL main.cpl @0,1"

'''

with open('Install.inf', 'w', newline='') as inf:
    inf.write(inf_head)
    inf.write('[Scheme.Cur]\r\n')
    for i in ls:
        inf.write('\"' + i + '\"\r\n')
    inf.write('\r\n')
    inf.write('[Strings]\r\n')
    inf.write('CUR_DIR = \"Cursors\\' + CUR_DIR + '\"\r\n')
    inf.write('SCHEME_NAME = \"' + CUR_DIR + '\"\r\n')
    inf.write('SCHEME_DESCRIPTION = \"' + CUR_DIR + '\"\r\n')
    inf.writelines(Strings_list)

i = input("Do you want to install it now?")
if (i.strip() in ["", "Y", "y"]):
    #auto
    import subprocess
    s = subprocess.Popen(
        "rundll32 syssetup,SetupInfObjectInstallAction DefaultInstall 128 ./Install.inf",
        shell=True)
    s.wait()
    input("Install Success")
else:
    input(
        "Click on the file Install.inf right mouse button, the shortcut menu to choose - to install"
    )

相关文章

  • 自动安装鼠标动态光标

    安装鼠标动态安装需要在 ​ 个性化>主题>鼠标光标>预览 里一个一个的选择 这样太累了,使用python脚本来...

  • 顶部导航光标定位

    当鼠标移入顶部菜单时,菜单顶部有光标跟随,当移出时,光标自动回到当前页面菜单位置 如下图: 线上效果图,查看:顶部...

  • xcode快捷键的使用

    快速自动缩进 在所有作用域中修改 查找下一个 查找上一个 整行向上或向下移动 多行光标(使用鼠标) 多行光标(使用...

  • 坚果云如何打开链接?

    将鼠标光标移动放到链接上并点击鼠标左键

  • WebStorm快捷键(Mac)

    WebStorm快捷键(Mac) 让光标在多行闪烁 按住option不放,然后用鼠标点选想要选中的行 自动在选中内...

  • 升级 macOS High Sierra 之后鼠标光标有个黑框

    问题描述:升级了 macOS High Sierra 之后鼠标光标有个黑框,随着鼠标光标一起移动,大致表现如下图:...

  • 鼠标指针 (光标)

    鼠标光标是什么东西 相信大家上网时 都见到过鼠标指针吧 比如说鼠标滑到一个地方 会显示小手;下面我带大家来瞅一瞅...

  • CSS之基础知识开篇(五)

    1.鼠标样式 Cursor: pointer 鼠标变成小手Cursor: default; 默认光标:小白...

  • thinkpad-L470鼠标漂移问题

    公司L470多次出现鼠标漂移,那种感觉,真的是复制全段文字不需要您动手,按住光标便自动选择全段,真真美滋滋(***...

  • Word:选中文本不再只是拖

    第一个方法:鼠标点选 将鼠标的光标移置于文本左侧的空白处,光标变成箭头型,点击鼠标左侧。 ①一次选中一行 ②连续两...

网友评论

    本文标题:自动安装鼠标动态光标

    本文链接:https://www.haomeiwen.com/subject/pkgfnhtx.html