|
@@ -40,6 +40,19 @@ bool IsWindows11OrGreater() {
|
|
|
(rovi.dwMajorVersion == 10 && rovi.dwBuildNumber >= 22000);
|
|
|
}
|
|
|
|
|
|
+void ShowConsole() {
|
|
|
+ HWND consoleWindow = GetConsoleWindow();
|
|
|
+ if (consoleWindow != NULL) {
|
|
|
+ ShowWindow(consoleWindow, SW_SHOW);
|
|
|
+ }
|
|
|
+}
|
|
|
+
|
|
|
+void HideConsole() {
|
|
|
+ HWND consoleWindow = GetConsoleWindow();
|
|
|
+ if (consoleWindow != NULL) {
|
|
|
+ ShowWindow(consoleWindow, SW_HIDE);
|
|
|
+ }
|
|
|
+}
|
|
|
namespace wl_base_help {
|
|
|
|
|
|
// static
|
|
@@ -67,7 +80,15 @@ WlBaseHelpPlugin::~WlBaseHelpPlugin() {}
|
|
|
void WlBaseHelpPlugin::HandleMethodCall(
|
|
|
const flutter::MethodCall<flutter::EncodableValue>& method_call,
|
|
|
std::unique_ptr<flutter::MethodResult<flutter::EncodableValue>> result) {
|
|
|
- if (method_call.method_name().compare("runAsAdministrator") == 0) {
|
|
|
+
|
|
|
+ if (method_call.method_name().compare("showConsole") == 0) {
|
|
|
+ ShowConsole();
|
|
|
+ result->Success();
|
|
|
+ }
|
|
|
+ else if (method_call.method_name().compare("hideConsole") == 0) {
|
|
|
+ HideConsole();
|
|
|
+ result->Success();
|
|
|
+ }else if (method_call.method_name().compare("runAsAdministrator") == 0) {
|
|
|
HWND hwnd = GetMainWindow();
|
|
|
// 调用您的提权逻辑,传递 hwnd
|
|
|
TryRunAsAdmin(hwnd, result);
|