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
|
## Usage
|
||||||
|
|
||||||
```commandline
|
```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:
|
Optional arguments:
|
||||||
-h, --help shows help message and exits
|
-h, --help prints help message and exits
|
||||||
-v, --version prints version information and exits
|
--version shows version and exits
|
||||||
-n, --name av display name [default: "https://github.com/es3n1n/defendnot"]
|
-n, --name av display name [default: "https://github.com/es3n1n/defendnot"]
|
||||||
-d, --disable disable defendnot
|
-d, --disable disable defendnot
|
||||||
-v, --verbose verbose logging
|
-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
|
## Writeup
|
||||||
|
|||||||
@@ -14,6 +14,7 @@ namespace loader {
|
|||||||
public:
|
public:
|
||||||
std::string name;
|
std::string name;
|
||||||
bool disable;
|
bool disable;
|
||||||
|
bool alloc_console;
|
||||||
bool verbose;
|
bool verbose;
|
||||||
bool from_autorun;
|
bool from_autorun;
|
||||||
AutorunType autorun_type;
|
AutorunType autorun_type;
|
||||||
|
|||||||
@@ -11,7 +11,7 @@
|
|||||||
|
|
||||||
namespace {
|
namespace {
|
||||||
void setup_window(const loader::Config& config) {
|
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();
|
shared::alloc_console();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -68,7 +68,7 @@ namespace {
|
|||||||
std::println("thanks for using {}", names::kProjectName);
|
std::println("thanks for using {}", names::kProjectName);
|
||||||
std::println("please don't forget to leave a star at {}", names::kRepoUrl);
|
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");
|
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("-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("-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("-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("--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("--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);
|
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{
|
auto config = loader::Config{
|
||||||
.name = program.get<std::string>("-n"),
|
.name = program.get<std::string>("-n"),
|
||||||
.disable = program.get<bool>("-d"),
|
.disable = program.get<bool>("-d"),
|
||||||
|
.alloc_console = !program.get<bool>("--silent"),
|
||||||
.verbose = program.get<bool>("-v"),
|
.verbose = program.get<bool>("-v"),
|
||||||
.from_autorun = program.get<bool>("--from-autorun"),
|
.from_autorun = program.get<bool>("--from-autorun"),
|
||||||
.autorun_type = program.get<bool>("--autorun-as-user") ? /// As system on boot is the default value
|
.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"),
|
.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_window(config);
|
||||||
setup_context(config);
|
setup_context(config);
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user