mirror of
https://github.com/es3n1n/defendnot.git
synced 2026-08-02 10:32:01 +00:00
Merge pull request #15 from es3n1n/add-silent-arg
feat(loader): add --silent
This commit is contained in:
@@ -20,14 +20,17 @@ Sadly, to keep this WSC stuff even after reboot, defendnot adds itself to the au
|
||||
## Usage
|
||||
|
||||
```commandline
|
||||
Usage: defendnot-loader [--help] [--version] [--name VAR] [--disable] [--verbose]
|
||||
Usage: defendnot-loader [--help] [--version] [--name VAR] [--disable] [--verbose] [--silent] [--autorun-as-user] [--disable-autorun]
|
||||
|
||||
Optional arguments:
|
||||
-h, --help shows help message and exits
|
||||
-v, --version prints version information and exits
|
||||
-h, --help prints help message and exits
|
||||
--version shows version and exits
|
||||
-n, --name av display name [default: "https://github.com/es3n1n/defendnot"]
|
||||
-d, --disable disable defendnot
|
||||
-v, --verbose verbose logging
|
||||
--silent do not allocate console
|
||||
--autorun-as-user create autorun task as currently logged in user
|
||||
--disable-autorun disable autorun task creation
|
||||
```
|
||||
|
||||
## Writeup
|
||||
|
||||
@@ -14,6 +14,7 @@ namespace loader {
|
||||
public:
|
||||
std::string name;
|
||||
bool disable;
|
||||
bool alloc_console;
|
||||
bool verbose;
|
||||
bool from_autorun;
|
||||
AutorunType autorun_type;
|
||||
|
||||
@@ -11,7 +11,7 @@
|
||||
|
||||
namespace {
|
||||
void setup_window(const loader::Config& config) {
|
||||
if (!config.from_autorun || config.verbose) {
|
||||
if ((!config.from_autorun || config.verbose) && config.alloc_console) {
|
||||
shared::alloc_console();
|
||||
}
|
||||
}
|
||||
@@ -68,7 +68,7 @@ namespace {
|
||||
std::println("thanks for using {}", names::kProjectName);
|
||||
std::println("please don't forget to leave a star at {}", names::kRepoUrl);
|
||||
|
||||
if (!config.from_autorun) {
|
||||
if (!config.from_autorun && config.alloc_console) {
|
||||
system("pause");
|
||||
}
|
||||
}
|
||||
@@ -100,6 +100,7 @@ int main(int argc, char* argv[]) try {
|
||||
program.add_argument("-n", "--name").help("av display name").default_value(std::string(names::kRepoUrl)).nargs(1);
|
||||
program.add_argument("-d", "--disable").help(std::format("disable {}", names::kProjectName)).default_value(false).implicit_value(true);
|
||||
program.add_argument("-v", "--verbose").help("verbose logging").default_value(false).implicit_value(true);
|
||||
program.add_argument("--silent").help("do not allocate console").default_value(false).implicit_value(true);
|
||||
program.add_argument("--autorun-as-user").help("create autorun task as currently logged in user").default_value(false).implicit_value(true);
|
||||
program.add_argument("--disable-autorun").help("disable autorun task creation").default_value(false).implicit_value(true);
|
||||
program.add_argument("--from-autorun").hidden().default_value(false).implicit_value(true);
|
||||
@@ -117,6 +118,7 @@ int main(int argc, char* argv[]) try {
|
||||
auto config = loader::Config{
|
||||
.name = program.get<std::string>("-n"),
|
||||
.disable = program.get<bool>("-d"),
|
||||
.alloc_console = !program.get<bool>("--silent"),
|
||||
.verbose = program.get<bool>("-v"),
|
||||
.from_autorun = program.get<bool>("--from-autorun"),
|
||||
.autorun_type = program.get<bool>("--autorun-as-user") ? /// As system on boot is the default value
|
||||
@@ -125,6 +127,10 @@ int main(int argc, char* argv[]) try {
|
||||
.enable_autorun = !program.get<bool>("--disable-autorun"),
|
||||
};
|
||||
|
||||
if (!config.alloc_console && config.verbose) {
|
||||
fatal_print("--silent flag can not be used in combination with --verbose");
|
||||
}
|
||||
|
||||
setup_window(config);
|
||||
setup_context(config);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user