如图1所示,用QT实现文件夹与注册表键值的监视容易么?
;注册表键值 与 文件变化监视器!
#NoEnv
#Warn
#SingleInstance Force
SetWorkingDir %A_ScriptDir%
Gui Add, Text, x1 y1 w130 h23 +0x200, 请选择注册表的根路径:
Gui Add, ComboBox, x208 y1 w200 v根键, HKEY_CLASSES_ROOT||HKEY_CURRENT_USER||HKEY_LOCAL_MACHINE
Gui Add, Text, x1 y20 w120 h23 +0x200, 根键以外路径:
Gui Add, Edit, x208 y20 w600 h21 v根键以外路径, Software\Image-Line\Registrations\FL Studio 20.8
Gui Add, Text, x1 y42 w120 h18 +0x200, 请输入要监视的注册表键值名称:
Gui Add, Edit, x208 y42 w600 h16 v键值, ILRegKey
Gui Add, Text, x0 y60 w858 h2 0x10
Gui Add, Text, x1 y68 w120 h23 +0x200, 计时器间隔时间(单位:毫秒):
Gui Add, Edit, x208 y68 w200 h21 v间隔时间, 500
Gui Add, Text, x0 y100 w858 h2 0x10
Gui Add, Text, x1 y104 w150 h23 +0x200, 请输入要监视的文件路径:
Gui Add, Edit, x208 y104 w600 h21 vFilePath, X:\GuitarPro_8.1.0.48
Gui Add, Button, x410 y67 w100 h23gButton_1, (1)监视注册表
Gui Add, Button, x530 y67 w100 h23 gButton_2 , (2)监视文件夹
Gui Show, w688 h130, 注册表键值与文件变化监视器
return
GuiEscape:
GuiClose:
ExitApp
Button_1:
Gui,Submit ,NoHide
RegRead, 读取到的注册表键值, %根键%, %根键以外路径%, %键值%
;MsgBox,%读取到的注册表键值%
;MsgBox,%FilePath%
继续1:
if 读取到的注册表键值<>''
{
SoundPlay,F:\PowerPro_4.9n7\乱七八糟\不错的剪贴板声音.wav
MsgBox,读取到了注册表键值:%读取到的注册表键值%
MsgBox,发现目标脚本结束!
ExitApp
}
else
{
Sleep, %间隔时间%
goto,继续1
}
return
Button_2:
Gui,Submit ,NoHide
继续2:
IfExist, %FilePath%
{
SoundPlay,F:\PowerPro_4.9n7\乱七八糟\不错的剪贴板声音.wav
MsgBox,发现目标文件夹`n脚本结束!
ExitApp
}
else
{
Sleep, %间隔时间%
goto,继续2
}
return 文件夹和文件的监测可以用QFileSystemWatcher,没有注册表监测相关的类,需要自己去实现了 MarioCrane 发表于 2023-3-27 11:29
文件夹和文件的监测可以用QFileSystemWatcher,没有注册表监测相关的类,需要自己去实现了
@MarioCrane
有实现的代码吗,姥爷?
对于一个c++饭桶来说。。。
只会简单的复制和修改,因为这个编程工具基本功不达标。{:301_972:} 冥界3大法王 发表于 2023-3-27 11:35
@MarioCrane
有实现的代码吗,姥爷?
对于一个c++饭桶来说。。。
QFileSystemWatcher网上应该有很多例程,在windows平台上其内部是通过一个循环检测的线程调用fileapi实现的。
注册表话Qt没有自带的实现,需要自己写了,有两种方法,使用winreg的RegNotifyChangeKeyValue,或是WMI提供的RegistryKeyChangeEvent。
页:
[1]