mirror of
https://github.com/HIllya51/LunaTranslator.git
synced 2024-12-28 08:04:13 +08:00
remove
This commit is contained in:
parent
7169e7e5bf
commit
6a06a60f21
@ -800,7 +800,7 @@ def setTabThree_lazy(self):
|
||||
getsimplecombobox(
|
||||
static_data["scalemethods_vis"],
|
||||
globalconfig,
|
||||
"fullscreenmethod_3",
|
||||
"fullscreenmethod_4",
|
||||
),
|
||||
6,
|
||||
),
|
||||
@ -832,31 +832,6 @@ def setTabThree_lazy(self):
|
||||
("Hook Magpie进程使其不会退出缩放", 4),
|
||||
getsimpleswitch(globalconfig, "hookmagpie"),
|
||||
],
|
||||
[],
|
||||
[
|
||||
("LosslessScaling_路径", 4),
|
||||
(
|
||||
getcolorbutton(
|
||||
globalconfig,
|
||||
"",
|
||||
callback=lambda x: getsomepath1(
|
||||
self,
|
||||
"LosslessScaling_路径",
|
||||
globalconfig["lossless"],
|
||||
"path",
|
||||
"LosslessScaling_路径",
|
||||
isdir=True,
|
||||
),
|
||||
icon="fa.gear",
|
||||
constcolor="#FF69B4",
|
||||
),
|
||||
1,
|
||||
),
|
||||
],
|
||||
[
|
||||
("Hook LosslessScaling进程使其不会退出缩放", 4),
|
||||
getsimpleswitch(globalconfig, "hooklossless"),
|
||||
],
|
||||
]
|
||||
tab = self.makesubtab_lazy(
|
||||
["文本设置", "界面设置", "窗口缩放"],
|
||||
|
@ -755,16 +755,16 @@ class QUnFrameWindow(resizableframeless):
|
||||
# self.refreshtoolicon()
|
||||
skip = False
|
||||
if (self.fullscreenmanager is None) or (
|
||||
self.fullscreenmethod != globalconfig["fullscreenmethod_3"]
|
||||
self.fullscreenmethod != globalconfig["fullscreenmethod_4"]
|
||||
):
|
||||
|
||||
self.fullscreenmethod = globalconfig["fullscreenmethod_3"]
|
||||
self.fullscreenmethod = globalconfig["fullscreenmethod_4"]
|
||||
|
||||
if self.fullscreenmanager:
|
||||
skip = self.fullscreenmanager.endX()
|
||||
self.fullscreenmanager = importlib.import_module(
|
||||
"scalemethod."
|
||||
+ static_data["scalemethods"][globalconfig["fullscreenmethod_3"]]
|
||||
+ static_data["scalemethods"][globalconfig["fullscreenmethod_4"]]
|
||||
).Method(self._externalfsend)
|
||||
if skip:
|
||||
return
|
||||
|
@ -1,78 +0,0 @@
|
||||
from scalemethod.base import scalebase
|
||||
import os
|
||||
import windows
|
||||
from myutils.config import globalconfig
|
||||
from myutils.hwnd import ListProcess, injectdll
|
||||
from myutils.subproc import subproc_w
|
||||
import time
|
||||
from myutils.wrapper import threader
|
||||
import re
|
||||
|
||||
|
||||
class Method(scalebase):
|
||||
|
||||
@threader
|
||||
def _wait_lossless_stop_external(self):
|
||||
while windows.FindWindow("LosslessScaling", None) == 0:
|
||||
time.sleep(0.5)
|
||||
while windows.FindWindow("LosslessScaling", None):
|
||||
time.sleep(0.5)
|
||||
self.setuistatus(False)
|
||||
|
||||
def init(self):
|
||||
self.injectedpids = set()
|
||||
|
||||
def runlossless(self):
|
||||
exes = [_[1] for _ in ListProcess()]
|
||||
path = globalconfig["lossless"]["path"]
|
||||
pexe = os.path.join(path, "LosslessScaling.exe")
|
||||
if pexe.replace("/", "\\") not in exes:
|
||||
subproc_w(pexe, cwd=path, name="LosslessScaling")
|
||||
time.sleep(1)
|
||||
|
||||
if globalconfig["hooklossless"]:
|
||||
for pids, exe in ListProcess():
|
||||
if exe == pexe.replace("/", "\\"):
|
||||
for pid in pids:
|
||||
if pid in self.injectedpids:
|
||||
continue
|
||||
dll = os.path.abspath("./files/plugins/hookmagpie.dll")
|
||||
injecter = os.path.abspath(
|
||||
"./files/plugins/shareddllproxy{}.exe".format("64")
|
||||
)
|
||||
injectdll([pid], injecter, dll)
|
||||
self.injectedpids.add(pid)
|
||||
break
|
||||
|
||||
def changestatus(self, hwnd, full):
|
||||
|
||||
if full:
|
||||
self.runlossless()
|
||||
# self._wait_lossless_stop_external()
|
||||
|
||||
windows.SetForegroundWindow(hwnd)
|
||||
time.sleep(0.1)
|
||||
configpath = os.path.join(
|
||||
os.environ["LOCALAPPDATA"], "Lossless Scaling/Settings.xml"
|
||||
)
|
||||
if os.path.exists(configpath) == False:
|
||||
return False
|
||||
with open(configpath, "r", encoding="utf8") as ff:
|
||||
config = ff.read()
|
||||
|
||||
Hotkey = re.findall("<Hotkey>(.*?)</Hotkey>", config)[0]
|
||||
hotkHotkeyModifierKeysey = re.findall(
|
||||
"<HotkeyModifierKeys>(.*?)</HotkeyModifierKeys>", config
|
||||
)[0]
|
||||
|
||||
mods = hotkHotkeyModifierKeysey.split(" ")
|
||||
|
||||
vkcode = windows.MapVirtualKey(Hotkey)
|
||||
mp1 = {"Shift": 16, "Windows": 91, "Control": 17, "Alt": 18}
|
||||
for k in mods:
|
||||
windows.keybd_event(mp1[k], 0, 0, 0)
|
||||
windows.keybd_event(vkcode, 0, 0, 0)
|
||||
windows.keybd_event(vkcode, 0, windows.KEYEVENTF_KEYUP, 0)
|
||||
for k in mods:
|
||||
windows.keybd_event(mp1[k], 0, windows.KEYEVENTF_KEYUP, 0)
|
||||
return True
|
@ -179,7 +179,7 @@
|
||||
"ocrrangewidth": 2,
|
||||
"useproxy": true,
|
||||
"usesysproxy": true,
|
||||
"fullscreenmethod_3": 0,
|
||||
"fullscreenmethod_4": 0,
|
||||
"dialog_savegame_layout": {
|
||||
"itemw": 250,
|
||||
"itemh": 350,
|
||||
@ -1219,40 +1219,6 @@
|
||||
"path": ""
|
||||
},
|
||||
"proxies": null,
|
||||
"lossless":{
|
||||
"path":"",
|
||||
"scalingMode":0,
|
||||
"scalingFitMode":0,
|
||||
"scalingType":0,
|
||||
"scalingSubtype":0,
|
||||
"scalingSubtype1":0,
|
||||
"scalingSubtype2":0,
|
||||
"scalingSubtype3":0,
|
||||
"scaleFactor":1.0,
|
||||
"resizeBeforeScale":true,
|
||||
"windowedMode":true,
|
||||
"sharpness":1,
|
||||
"VRS":false,
|
||||
"frameGeneration":0,
|
||||
"clipCursor":false,
|
||||
"cursorSensitivity":false,
|
||||
"hideCursor":false,
|
||||
"scaleCursor":false,
|
||||
"syncInterval":0,
|
||||
"doubleBuffering":false,
|
||||
"vrrSupport":false,
|
||||
"hdrSupport":false,
|
||||
"allowTearing":false,
|
||||
"legacyCaptureApi":false,
|
||||
"drawFps":false,
|
||||
"gpuId":0,
|
||||
"displayId":0,
|
||||
"captureOffsetLeft":0,
|
||||
"captureOffsetTop":0,
|
||||
"captureOffsetRight":0,
|
||||
"captureOffsetBottom":0,
|
||||
"multiDisplayMode":false
|
||||
},
|
||||
"labelset":[],
|
||||
"backupsavedatato":""
|
||||
}
|
||||
|
@ -335,8 +335,8 @@
|
||||
"./files/plugins/DLL32/libcurl.dll"
|
||||
]
|
||||
},
|
||||
"scalemethods":["magpie_builtin","alt_enter","SW_SHOWMAXIMIZED","external_lossless","external_magpie"],
|
||||
"scalemethods_vis":["Magpie","ALT+ENTER","SW_SHOWMAXIMIZED","LosslessScaling","Magpie_External"],
|
||||
"scalemethods":["magpie_builtin","alt_enter","SW_SHOWMAXIMIZED","external_magpie"],
|
||||
"scalemethods_vis":["Magpie","ALT+ENTER","SW_SHOWMAXIMIZED","Magpie_External"],
|
||||
"transoptimi":[
|
||||
{
|
||||
"name":"noundict",
|
||||
|
@ -689,7 +689,6 @@
|
||||
"获取最新提取器核心&错误反馈&游戏支持": "الحصول على أحدث المستخلص الأساسية و ردود فعل خاطئة و دعم اللعبة",
|
||||
"外部缩放软件": "برامج التكبير الخارجي",
|
||||
"Hook Magpie进程使其不会退出缩放": "هوك ماجي العملية بحيث لا تخرج من التكبير",
|
||||
"Hook LosslessScaling进程使其不会退出缩放": "هوك looslessscaling العملية بحيث لا تخرج من التكبير",
|
||||
"保持非重复字符": "الحفاظ على الطابع غير المتكرر",
|
||||
"选择文本窗口中文本框只读": "حدد مربع النص للقراءة فقط في نافذة النص",
|
||||
"多重区域模式": "وضع منطقة متعددة",
|
||||
|
@ -689,7 +689,6 @@
|
||||
"获取最新提取器核心&错误反馈&游戏支持": "獲取最新提取器覈心&錯誤迴響&遊戲支持",
|
||||
"外部缩放软件": "外部縮放軟件",
|
||||
"Hook Magpie进程使其不会退出缩放": "Hook Magpie行程使其不會退出縮放",
|
||||
"Hook LosslessScaling进程使其不会退出缩放": "Hook LosslessScaling行程使其不會退出縮放",
|
||||
"保持非重复字符": "保持非重複字元",
|
||||
"选择文本窗口中文本框只读": "選擇文字視窗中文字方塊只讀",
|
||||
"多重区域模式": "多重區域模式",
|
||||
|
@ -689,7 +689,6 @@
|
||||
"获取最新提取器核心&错误反馈&游戏支持": "Get the latest extractor core&error feedback&game support",
|
||||
"外部缩放软件": "External scaling software",
|
||||
"Hook Magpie进程使其不会退出缩放": "Hook Magpie process prevents it from exiting scaling",
|
||||
"Hook LosslessScaling进程使其不会退出缩放": "Hook LosslessScaling process prevents it from exiting scaling",
|
||||
"保持非重复字符": "Keep non repeating characters",
|
||||
"选择文本窗口中文本框只读": "Select read-only text boxes in the text window",
|
||||
"多重区域模式": "Multi region mode",
|
||||
|
@ -689,7 +689,6 @@
|
||||
"获取最新提取器核心&错误反馈&游戏支持": "Obtener el último núcleo del extractor & comentarios erróneos & soporte del juego",
|
||||
"外部缩放软件": "Software de zoom externo",
|
||||
"Hook Magpie进程使其不会退出缩放": "El proceso Hook magpie hace que no salga del zoom",
|
||||
"Hook LosslessScaling进程使其不会退出缩放": "El proceso Hook losslessscaling hace que no salga del zoom",
|
||||
"保持非重复字符": "Mantener caracteres no repetitivos",
|
||||
"选择文本窗口中文本框只读": "Seleccione la ventana de texto en la que el cuadro de texto es de solo lectura",
|
||||
"多重区域模式": "Modelo multiregional",
|
||||
|
@ -689,7 +689,6 @@
|
||||
"获取最新提取器核心&错误反馈&游戏支持": "Obtenez le dernier extractor Core & BUG Feedback & Game support",
|
||||
"外部缩放软件": "Logiciel de zoom externe",
|
||||
"Hook Magpie进程使其不会退出缩放": "Le processus Hook Magpie ne quitte pas le zoom",
|
||||
"Hook LosslessScaling进程使其不会退出缩放": "Hook losslesscaling processus pour ne pas quitter le zoom",
|
||||
"保持非重复字符": "Garder les caractères non répétitifs",
|
||||
"选择文本窗口中文本框只读": "Sélectionner une zone de texte en lecture seule dans la fenêtre de texte",
|
||||
"多重区域模式": "Mode Multi - zones",
|
||||
|
@ -689,7 +689,6 @@
|
||||
"获取最新提取器核心&错误反馈&游戏支持": "Ottieni l'ultimo core&error feedback & supporto al gioco dell'estrattore",
|
||||
"外部缩放软件": "Software di ridimensionamento esterno",
|
||||
"Hook Magpie进程使其不会退出缩放": "Il processo Hook Magpie impedisce di uscire dalla scala",
|
||||
"Hook LosslessScaling进程使其不会退出缩放": "Hook LosslessScaling processo impedisce di uscire dalla scalabilità",
|
||||
"保持非重复字符": "Mantieni caratteri non ripetuti",
|
||||
"选择文本窗口中文本框只读": "Selezionare le caselle di testo di sola lettura nella finestra di testo",
|
||||
"多重区域模式": "Modalità multi regione",
|
||||
|
@ -689,7 +689,6 @@
|
||||
"获取最新提取器核心&错误反馈&游戏支持": "最新の抽出コア&エラーフィードバック&ゲームサポートの取得",
|
||||
"外部缩放软件": "外部ズームソフトウェア",
|
||||
"Hook Magpie进程使其不会退出缩放": "Hook Magpieプロセスはスケールを終了しないようにする",
|
||||
"Hook LosslessScaling进程使其不会退出缩放": "Hook LosslessScalingプロセスはスケーリングを終了しないようにする",
|
||||
"保持非重复字符": "非反復文字の維持",
|
||||
"选择文本窗口中文本框只读": "テキストウィンドウのテキストボックス読み取り専用を選択",
|
||||
"多重区域模式": "複数領域モード",
|
||||
|
@ -689,7 +689,6 @@
|
||||
"获取最新提取器核心&错误反馈&游戏支持": "최신 추출기 코어 & 오류 피드백 & 게임 지원 받기",
|
||||
"外部缩放软件": "외부 확대 / 축소 소프트웨어",
|
||||
"Hook Magpie进程使其不会退出缩放": "Hook Magpie 프로세스로 인해 줌이 종료되지 않습니다.",
|
||||
"Hook LosslessScaling进程使其不会退出缩放": "Hook LosslessScaling 프로세스로 인해 줌이 종료되지 않습니다.",
|
||||
"保持非重复字符": "비반복 문자 유지",
|
||||
"选择文本窗口中文本框只读": "텍스트 선택 창의 텍스트 상자 읽기 전용",
|
||||
"多重区域模式": "다중 영역 모드",
|
||||
|
@ -689,7 +689,6 @@
|
||||
"获取最新提取器核心&错误反馈&游戏支持": "Uzyskaj najnowszą informację zwrotną o błędach ekstraktora i wsparcie gry",
|
||||
"外部缩放软件": "Oprogramowanie do skalowania zewnętrznego",
|
||||
"Hook Magpie进程使其不会退出缩放": "Proces Hook Magpie zapobiega zakończeniu skalowania",
|
||||
"Hook LosslessScaling进程使其不会退出缩放": "Proces Hook Losslessless Scaling zapobiega zakończeniu skalowania",
|
||||
"保持非重复字符": "Zachowaj niepowtarzające się znaki",
|
||||
"选择文本窗口中文本框只读": "Zaznaczanie pola tekstowe tylko do odczytu w oknie tekstowym",
|
||||
"多重区域模式": "Tryb wielu regionów",
|
||||
|
@ -689,7 +689,6 @@
|
||||
"获取最新提取器核心&错误反馈&游戏支持": "Получите последние ядра экстрактора и обратную связь с ошибками & Поддержка игры",
|
||||
"外部缩放软件": "Программное обеспечение для внешнего масштабирования",
|
||||
"Hook Magpie进程使其不会退出缩放": "Процесс Hook Magpie не выводит из масштабирования",
|
||||
"Hook LosslessScaling进程使其不会退出缩放": "Процесс Hook LosslessScaling не выводит из масштабирования",
|
||||
"保持非重复字符": "Сохранить символ без повторения",
|
||||
"选择文本窗口中文本框只读": "Выберите текстовое окно только для чтения",
|
||||
"多重区域模式": "Многорегиональная модель",
|
||||
|
@ -689,7 +689,6 @@
|
||||
"获取最新提取器核心&错误反馈&游戏支持": "รับแกนดูดล่าสุดและข้อเสนอแนะข้อผิดพลาดและการสนับสนุนเกม",
|
||||
"外部缩放软件": "ซอฟต์แวร์ซูมภายนอก",
|
||||
"Hook Magpie进程使其不会退出缩放": "กระบวนการ Hook Magpie ทำให้ไม่ออกจากการซูม",
|
||||
"Hook LosslessScaling进程使其不会退出缩放": "Hook LosslessScaling กระบวนการทำให้มันไม่ออกจากซูม",
|
||||
"保持非重复字符": "เก็บอักขระที่ไม่ซ้ำกัน",
|
||||
"选择文本窗口中文本框只读": "เลือกกล่องข้อความในหน้าต่างข้อความ อ่านอย่างเดียว",
|
||||
"多重区域模式": "โหมดหลายโซน",
|
||||
|
@ -689,7 +689,6 @@
|
||||
"获取最新提取器核心&错误反馈&游戏支持": "Son ekstraktör çekirdek&hata geri veri&oyunu desteğini alın",
|
||||
"外部缩放软件": "Dışarı skalama yazılımı",
|
||||
"Hook Magpie进程使其不会退出缩放": "Hook Magpie süreci ölçeklenmesini engelledi",
|
||||
"Hook LosslessScaling进程使其不会退出缩放": "Hook LosslessScaling süreç ölçeklenmesini engelledi",
|
||||
"保持非重复字符": "Tekrarlamayan karakterleri tut",
|
||||
"选择文本窗口中文本框只读": "Metin penceresindeki sadece okuyulmuş metin kutularını seçin",
|
||||
"多重区域模式": "Çok bölge modu",
|
||||
|
@ -689,7 +689,6 @@
|
||||
"获取最新提取器核心&错误反馈&游戏支持": "Отримати останню підтримку гри для відтворення & помилок ядра екстрактора",
|
||||
"外部缩放软件": "Зовнішнє програмне забезпечення масштабу",
|
||||
"Hook Magpie进程使其不会退出缩放": "Процес Hook Magpie забороняє їй вийти з масштабу",
|
||||
"Hook LosslessScaling进程使其不会退出缩放": "Процес безвтратного розміруScaling забороняє їй вийти з розміру",
|
||||
"保持非重复字符": "Зберегти символи, які не повторюються",
|
||||
"选择文本窗口中文本框只读": "Виберіть текстові поля для лише читання у текстовому вікні",
|
||||
"多重区域模式": "Режим декількох регіонів",
|
||||
|
@ -689,7 +689,6 @@
|
||||
"获取最新提取器核心&错误反馈&游戏支持": "Nhận lõi Extractor mới nhất&Phản hồi lỗi&Hỗ trợ trò chơi",
|
||||
"外部缩放软件": "Phần mềm Zoom ngoài",
|
||||
"Hook Magpie进程使其不会退出缩放": "Quá trình Hook Magpie làm cho nó không thoát khỏi zoom",
|
||||
"Hook LosslessScaling进程使其不会退出缩放": "Quá trình Hook LosslessScaling làm cho nó không thoát khỏi zoom",
|
||||
"保持非重复字符": "Giữ các ký tự không trùng lặp",
|
||||
"选择文本窗口中文本框只读": "Chọn hộp văn bản chỉ đọc trong cửa sổ văn bản",
|
||||
"多重区域模式": "Chế độ đa vùng",
|
||||
|
@ -689,7 +689,6 @@
|
||||
"获取最新提取器核心&错误反馈&游戏支持": "",
|
||||
"外部缩放软件": "",
|
||||
"Hook Magpie进程使其不会退出缩放": "",
|
||||
"Hook LosslessScaling进程使其不会退出缩放": "",
|
||||
"保持非重复字符": "",
|
||||
"选择文本窗口中文本框只读": "",
|
||||
"多重区域模式": "",
|
||||
|
@ -2,7 +2,7 @@
|
||||
|
||||
if(${CMAKE_SIZEOF_VOID_P} EQUAL 8)
|
||||
add_library(hookmagpie MODULE hookmagpie.cpp veh_hook.cpp)
|
||||
target_link_libraries(hookmagpie ${Detours})
|
||||
target_link_libraries(hookmagpie)
|
||||
endif()
|
||||
|
||||
|
@ -1,7 +1,6 @@
|
||||
#include <iostream>
|
||||
#include <windows.h>
|
||||
#include <thread>
|
||||
#include <detours.h>
|
||||
#include <string>
|
||||
#include <assert.h>
|
||||
#include "veh_hook.h"
|
||||
@ -196,36 +195,10 @@ void starthookmagpie()
|
||||
// DetourAttach(&(PVOID&)IsValidSrcWindow,IsValidSrcWindow_hooked);
|
||||
// DetourTransactionCommit();
|
||||
}
|
||||
|
||||
auto GetClassNameWs = GetClassNameW;
|
||||
int
|
||||
WINAPI
|
||||
GetClassNameWH(
|
||||
_In_ HWND hWnd,
|
||||
_Out_writes_to_(nMaxCount, return) LPWSTR lpClassName,
|
||||
_In_ int nMaxCount)
|
||||
{
|
||||
if (checkislunawindow(hWnd))
|
||||
{
|
||||
wcscpy(lpClassName, L"ApplicationManager_ImmersiveShellWindow");
|
||||
return TRUE;
|
||||
}
|
||||
else
|
||||
return GetClassNameWs(hWnd, lpClassName, nMaxCount);
|
||||
}
|
||||
void starthooklossless()
|
||||
{
|
||||
DetourTransactionBegin();
|
||||
DetourUpdateThread(GetCurrentThread());
|
||||
DetourAttach(&(PVOID &)GetClassNameWs, GetClassNameWH);
|
||||
DetourTransactionCommit();
|
||||
}
|
||||
void starthook()
|
||||
{
|
||||
if (GetModuleHandle(L"Magpie.App.dll"))
|
||||
starthookmagpie();
|
||||
else if (GetModuleHandle(L"Lossless.dll"))
|
||||
starthooklossless();
|
||||
}
|
||||
BOOL APIENTRY DllMain(HMODULE hModule,
|
||||
DWORD ul_reason_for_call,
|
||||
|
Loading…
x
Reference in New Issue
Block a user