# ActiveWindowDebugger
**Repository Path**: CodingNinja/ActiveWindowDebugger
## Basic Information
- **Project Name**: ActiveWindowDebugger
- **Description**: ActiveWindowDebugger:活动窗口调试器。
- **Primary Language**: C#
- **License**: MIT
- **Default Branch**: master
- **Homepage**: None
- **GVP Project**: No
## Statistics
- **Stars**: 0
- **Forks**: 0
- **Created**: 2023-08-22
- **Last Updated**: 2023-11-22
## Categories & Tags
**Categories**: Uncategorized
**Tags**: None
## README
# ActiveWindowDebugger
[中文](/README.md) | English
> Translate by [DeepL](https://www.deepl.com/translator)
[](https://github.com/CodingOctocat/ActiveWindowDebugger)
[](https://github.com/CodingOctocat/ActiveWindowDebugger/issues)
[](https://github.com/CodingOctocat/ActiveWindowDebugger/stargazers)
[](https://github.com/CodingOctocat/ActiveWindowDebugger/blob/master/LICENSE)
[](https://www.codefactor.io/repository/github/codingoctocat/ActiveWindowDebugger)
ActiveWindowDebugger: Active window debugger.
---
#### Introduction
AWD was originally a collaborative debugger for one of my `Selenium` projects. During `Selenium` development, there are some elements that require the browser window to be in the active window state in order to locate them successfully. In order to find potential such elements, you need to make the browser window lose the active window to locate the element, and if it fails to locate the element, you need to make the browser window regain the active state to locate the element again, which is not good for debugging, so AWD provides a smooth solution. AWD can make itself get the active window state, with the addition of `autostart` and `autostop` trigger conditions, AWD can automatically seize the active window state at the right time.
#### Software Architecture
Powered by [C# 10](https://docs.microsoft.com/dotnet/csharp/)/[.NET 7](https://docs.microsoft.com/dotnet/), Proudly Built by [WPF](https://docs.microsoft.com/dotnet/desktop/wpf/).
#### Command Line Support
**[Base]**
- `--poll`: `` Activation frequency (ms), *default: 1*.
- `-topmost`: `` Top AWD window, *default: True*.
- `-single`: `` Single instance mode, *default: False*.
**[Auto-start condition]**.
- `--auto-start`: `` Enable/disable auto-start, *default: False*.
- `--auto-start-state`: `` True: active; False: inactive; null: any state, *default: True*.
- `--auto-start-pid`: `` Process ID, -1 means currently active, *default: -1*.
- `--auto-start-meet`: `` Regular expression condition satisfied or not, *default: True*.
- `--auto-start-regex`: `` Regular expression (matches the process's main window title), *default: ".*"*.
- `--auto-start-match-case`: `` Whether the regular expression is case sensitive, *default: True*.
**[Auto-stop-case]**.
- `--auto-stop`: `` Enable/disable auto-stop, *default: False*.
- `--auto-stop-state`: `` True: active; False: inactive; null: arbitrary, *default: True*.
- `--auto-stop-pid`: `` Process ID, -1 means currently active, *default: -1*.
- `--auto-stop-meet`: `` Regular expression to be met or not met, *default: True*.
- `--auto-stop-regex`: `` Regular expression (matches the process's main window title), *default: ".*"*.
- `--auto-stop-match-case`: `` Whether the regular expression is case sensitive, *default: True*.