Skip to content

Commit 25ddcc3

Browse files
committed
鲁棒性功能:根据操作系统在配置文件中选择要加载的dll
方便根据操作系统的不同来选择使用的dll(各个dll的代码实现有细微区别)。 同时重新整理了项目结构,将VirtualDesktopDLL单独放到文件夹。 release里除了二进制exe,还包含了py文件,可以用python试运行来排查检查环境等错误了。
1 parent 3364921 commit 25ddcc3

14 files changed

+5980
-42
lines changed

.gitignore

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,10 @@
11
_log.txt
22
_program_history_backup.json
33
_program_history.json
4+
__pycache__
45
window_monitor*.exe
56
releases
6-
__pycache__
7+
.vscode
8+
window_monitor.build
9+
window_monitor.dist
10+
window_monitor.onefile-build

README.md

Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,12 +11,17 @@ pyinstaller.exe -F -c --noupx window_monitor.py
1111
nuitka打包:(推荐)
1212
知乎 nuitka:https://zhuanlan.zhihu.com/p/165978688
1313
nuitka --standalone --onefile --windows-disable-console window_monitor.py -o window_monitor_nogui.exe
14+
上面命令行使用旧版本1.4.7。nuitka 2.4.5 要求使用新的参数名,因此命令行为:
15+
nuitka --standalone --onefile --windows-console-mode=disable window_monitor.py -o window_monitor_nogui.exe
1416
1517
1618
VirtualDesktop.dll编译:
1719
C:\Windows\Microsoft.NET\Framework\v4.0.30319\csc.exe /target:library /out:VirtualDesktop.dll VirtualDesktop.cs
1820
1921
22+
python运行时先安装需要的库:
23+
pip install -r .\requirements.txt
24+
2025
运行方式:
2126
pythonw window_monitor.py(不推荐)
2227
Start-Process -WindowStyle Hidden .\window_monitor.exe (文件名:run_with_new_process.ps1)(不推荐)
@@ -32,6 +37,30 @@ window_monitor_nogui.exe (推荐)
3237
- 运行后没有界面,同目录下会生成 `_log.txt` `_program_history.json` `_program_history_backup.json` 三个文件
3338
- 如果要结束程序,可以打开任务管理器,详细信息,找到 window_monitor_nogui.exe,结束任务
3439

40+
## json配置文件
41+
42+
`_config.json` 为配置文件,运行前可能需要根据需求或环境来设置合适的值。
43+
44+
样例内容:
45+
46+
```json
47+
{
48+
"max_history_length": 400,
49+
"seconds_per_loop": 20,
50+
"VirtualDesktop_DLL_name": "VirtualDesktop_v1.18"
51+
}
52+
```
53+
54+
参数说明:
55+
56+
- **max_history_length**:历史记录最大状态数量,超过将去除最旧的状态
57+
- **seconds_per_loop**:间隔时间,每隔此时间监测一次窗口状态
58+
- **VirtualDesktop_DLL_name**:对应VirtualDesktopDLL文件夹中的dll路径,与Windows版本有关,根据Windows版本选择对应的dll。注意不带目录路径和后缀名
59+
- `VirtualDesktop_v1.18`:适用于Windows 10
60+
- `VirtualDesktop11_v1.18`:适用于Windows 11
61+
- `VirtualDesktop11_24H2_v1.18`:适用于Windows 11 24H2
62+
- 如有其他版本Windows或DLL修改后仍然不能正常获取窗口,可以提交反馈。
63+
3564
## 运行效果
3665

3766
![running.png](images/running.png)

VirtualDesktop.dll

-52 KB
Binary file not shown.

VirtualDesktop.exe

-54 KB
Binary file not shown.

0 commit comments

Comments
 (0)