mirror of
https://github.com/HIllya51/LunaHook.git
synced 2025-01-12 04:49:37 +08:00
1
This commit is contained in:
parent
c655de972d
commit
bf6625ce97
10
Lang/en.h
10
Lang/en.h
@ -43,13 +43,15 @@
|
|||||||
#define BtnShowSettingWindow L"Settings"
|
#define BtnShowSettingWindow L"Settings"
|
||||||
#define BtnAttach L"Attach"
|
#define BtnAttach L"Attach"
|
||||||
#define BtnRefresh L"Refresh"
|
#define BtnRefresh L"Refresh"
|
||||||
#define BtnToClipboard L"to clipboard"
|
#define BtnToClipboard L"Copy To Clipboard"
|
||||||
#define BtnReadOnly L"Text box Read only"
|
#define BtnReadOnly L"Text box Read only"
|
||||||
#define BtnInsertUserHook L"Insert UserHook"
|
#define BtnInsertUserHook L"Insert UserHook"
|
||||||
#define BtnPlugin L"Plugins"
|
#define BtnPlugin L"Plugins"
|
||||||
#define LblFlushDelay L"flushDelay"
|
#define LblFlushDelay L"Flush delay"
|
||||||
#define LblFilterRepeat L"Filter Repeat"
|
#define LblFilterRepeat L"Filter repetition"
|
||||||
#define LblCodePage L"CodePage"
|
#define LblCodePage L"Default codepage"
|
||||||
|
#define LblMaxBuff L"Max buffer size"
|
||||||
|
#define LblAutoAttach L"Auto attach"
|
||||||
#define MenuCopyHookCode L"CopyHookCode"
|
#define MenuCopyHookCode L"CopyHookCode"
|
||||||
#define MenuRemoveHook L"RemoveHook"
|
#define MenuRemoveHook L"RemoveHook"
|
||||||
#define MenuDetachProcess L"DetachProcess"
|
#define MenuDetachProcess L"DetachProcess"
|
||||||
|
@ -48,8 +48,10 @@
|
|||||||
#define BtnInsertUserHook L"插入特殊码"
|
#define BtnInsertUserHook L"插入特殊码"
|
||||||
#define BtnPlugin L"插件"
|
#define BtnPlugin L"插件"
|
||||||
#define LblFlushDelay L"刷新延迟"
|
#define LblFlushDelay L"刷新延迟"
|
||||||
#define LblFilterRepeat L"过滤重复"
|
#define LblFilterRepeat L"过滤重复文本"
|
||||||
#define LblCodePage L"默认代码页"
|
#define LblCodePage L"默认代码页"
|
||||||
|
#define LblMaxBuff L"最大缓冲区长度"
|
||||||
|
#define LblAutoAttach L"自动附加"
|
||||||
#define MenuCopyHookCode L"复制特殊码"
|
#define MenuCopyHookCode L"复制特殊码"
|
||||||
#define MenuRemoveHook L"移除钩子"
|
#define MenuRemoveHook L"移除钩子"
|
||||||
#define MenuDetachProcess L"离开进程"
|
#define MenuDetachProcess L"离开进程"
|
||||||
|
@ -25,6 +25,7 @@ void LunaHost::toclipboard(std::wstring& sentence){
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
void LunaHost::on_close(){
|
void LunaHost::on_close(){
|
||||||
|
savesettings();
|
||||||
delete configs;
|
delete configs;
|
||||||
for(auto pid:attachedprocess){
|
for(auto pid:attachedprocess){
|
||||||
Host::DetachProcess(pid);
|
Host::DetachProcess(pid);
|
||||||
@ -44,9 +45,25 @@ void LunaHost::on_size(int w,int h){
|
|||||||
g_hEdit_userhook->setgeo(10,50,_w*2/3+10,30);
|
g_hEdit_userhook->setgeo(10,50,_w*2/3+10,30);
|
||||||
g_hButton_insert->setgeo(10+20+_w*2/3,50,_w/3,30);
|
g_hButton_insert->setgeo(10+20+_w*2/3,50,_w/3,30);
|
||||||
}
|
}
|
||||||
|
void LunaHost::savesettings()
|
||||||
|
{
|
||||||
|
configs->set("ToClipboard",check_toclipboard);
|
||||||
|
configs->set("AutoAttach",autoattach);
|
||||||
|
configs->set("flushDelay",TextThread::flushDelay);
|
||||||
|
configs->set("filterRepetition",TextThread::filterRepetition);
|
||||||
|
configs->set("maxBufferSize",TextThread::maxBufferSize);
|
||||||
|
configs->set("defaultCodepage",Host::defaultCodepage);
|
||||||
|
}
|
||||||
|
void LunaHost::loadsettings(){
|
||||||
|
check_toclipboard=configs->get("ToClipboard",false);
|
||||||
|
autoattach=configs->get("AutoAttach",false);
|
||||||
|
TextThread::flushDelay=configs->get("flushDelay",TextThread::flushDelay);
|
||||||
|
TextThread::filterRepetition=configs->get("filterRepetition",TextThread::filterRepetition);
|
||||||
|
TextThread::maxBufferSize=configs->get("maxBufferSize",TextThread::maxBufferSize);
|
||||||
|
Host::defaultCodepage=configs->get("defaultCodepage",Host::defaultCodepage);
|
||||||
|
}
|
||||||
LunaHost::LunaHost(){
|
LunaHost::LunaHost(){
|
||||||
|
loadsettings();
|
||||||
setfont(25);
|
setfont(25);
|
||||||
configs=new confighelper;
|
configs=new confighelper;
|
||||||
settext(WndLunaHostGui);
|
settext(WndLunaHostGui);
|
||||||
@ -124,12 +141,7 @@ LunaHost::LunaHost(){
|
|||||||
}
|
}
|
||||||
};
|
};
|
||||||
g_showtexts = new textedit(this,L"",10, 330, 200, 200,ES_MULTILINE |ES_AUTOVSCROLL| WS_VSCROLL);
|
g_showtexts = new textedit(this,L"",10, 330, 200, 200,ES_MULTILINE |ES_AUTOVSCROLL| WS_VSCROLL);
|
||||||
|
g_showtexts->setreadonly(true);
|
||||||
g_showtexts->setreadonly(configs->get("ReadOnly",true));
|
|
||||||
TextThread::filterRepetition=configs->get("filterrepeat",false);
|
|
||||||
check_toclipboard=configs->get("ToClipboard",false);
|
|
||||||
TextThread::flushDelay=configs->get("flushDelay",TextThread::flushDelay);
|
|
||||||
Host::defaultCodepage=configs->get("codepage",Host::defaultCodepage);
|
|
||||||
|
|
||||||
Host::Start(
|
Host::Start(
|
||||||
[&](DWORD pid) {attachedprocess.push_back(pid);},
|
[&](DWORD pid) {attachedprocess.push_back(pid);},
|
||||||
@ -183,41 +195,54 @@ void LunaHost::on_thread_delete(TextThread& thread){
|
|||||||
}
|
}
|
||||||
|
|
||||||
Settingwindow::Settingwindow(LunaHost* host):mainwindow(host){
|
Settingwindow::Settingwindow(LunaHost* host):mainwindow(host){
|
||||||
new label(this,LblFlushDelay,10, 10, 150, 30);
|
int height=30;int curry=10;int space=10;
|
||||||
new label(this,LblCodePage,10, 50, 150, 30);
|
int labelwidth=250;
|
||||||
ckbfilterrepeat=new checkbox(this,LblFilterRepeat,10, 130, 200, 30);
|
g_timeout = new spinbox(this,std::to_wstring(TextThread::flushDelay),space+labelwidth, curry, 100, height) ;
|
||||||
ckbfilterrepeat->onclick=[=](){
|
new label(this,LblFlushDelay,10, curry, labelwidth, height);curry+=height+space;
|
||||||
auto ck=ckbfilterrepeat->ischecked();
|
|
||||||
TextThread::filterRepetition=ck;
|
g_codepage = new spinbox(this,std::to_wstring(Host::defaultCodepage),space+labelwidth, curry, 100, height) ;
|
||||||
host->configs->set("filterrepeat",ck);
|
new label(this,LblCodePage,10, curry, labelwidth, height);curry+=height+space;
|
||||||
};
|
|
||||||
ckbfilterrepeat->setcheck(host->configs->get("filterrepeat",false));
|
spinmaxbuffsize = new spinbox(this,std::to_wstring(TextThread::maxBufferSize),space+labelwidth, curry, 100, height) ;
|
||||||
|
new label(this,LblMaxBuff,10, curry, labelwidth, height);curry+=height+space;
|
||||||
|
|
||||||
g_check_clipboard =new checkbox(this,BtnToClipboard,10, 90, 200, 30) ;
|
spinmaxbuffsize->onvaluechange=[=](int v){
|
||||||
g_check_clipboard->onclick=[=](){
|
TextThread::flushDelay=v;
|
||||||
auto ck=g_check_clipboard->ischecked();
|
|
||||||
((LunaHost*)parent)->check_toclipboard=ck;
|
|
||||||
host->configs->set("ToClipboard",ck);
|
|
||||||
};
|
|
||||||
g_check_clipboard->setcheck(host->configs->get("ToClipboard",false));
|
|
||||||
readonlycheck=new checkbox(this,BtnReadOnly,10,170,200,30);
|
|
||||||
readonlycheck->onclick=[=](){
|
|
||||||
auto ck=readonlycheck->ischecked();
|
|
||||||
((LunaHost*)parent)->g_showtexts->setreadonly(ck);
|
|
||||||
host->configs->set("ReadOnly",ck);
|
|
||||||
};
|
};
|
||||||
readonlycheck->setcheck(host->configs->get("ReadOnly",true));
|
spinmaxbuffsize->setminmax(0,0x7fffffff);
|
||||||
g_timeout = new spinbox(this,std::to_wstring(host->configs->get("flushDelay",TextThread::flushDelay)),150, 10, 100, 30) ;
|
|
||||||
g_codepage = new spinbox(this,std::to_wstring(host->configs->get("codepage",Host::defaultCodepage)),150, 50, 100, 30) ;
|
ckbfilterrepeat=new checkbox(this,LblFilterRepeat,10, curry, labelwidth, height);curry+=height+space;
|
||||||
|
ckbfilterrepeat->onclick=[=](){
|
||||||
|
TextThread::filterRepetition=ckbfilterrepeat->ischecked();
|
||||||
|
};
|
||||||
|
ckbfilterrepeat->setcheck(TextThread::filterRepetition);
|
||||||
|
|
||||||
|
g_check_clipboard =new checkbox(this,BtnToClipboard,10, curry, labelwidth, height) ;curry+=height+space;
|
||||||
|
g_check_clipboard->onclick=[=](){
|
||||||
|
((LunaHost*)parent)->check_toclipboard=g_check_clipboard->ischecked();
|
||||||
|
};
|
||||||
|
g_check_clipboard->setcheck(host->check_toclipboard);
|
||||||
|
|
||||||
|
autoattach =new checkbox(this,LblAutoAttach,10, curry, labelwidth, height) ;curry+=height+space;
|
||||||
|
autoattach->onclick=[=](){
|
||||||
|
((LunaHost*)parent)->autoattach=autoattach->ischecked();
|
||||||
|
};
|
||||||
|
autoattach->setcheck(host->autoattach);
|
||||||
|
|
||||||
|
|
||||||
|
readonlycheck=new checkbox(this,BtnReadOnly,10,curry,labelwidth,height);curry+=height+space;
|
||||||
|
readonlycheck->onclick=[=](){
|
||||||
|
((LunaHost*)parent)->g_showtexts->setreadonly(readonlycheck->ischecked());
|
||||||
|
};
|
||||||
|
readonlycheck->setcheck(true);
|
||||||
|
|
||||||
g_timeout->onvaluechange=[=](int v){
|
g_timeout->onvaluechange=[=](int v){
|
||||||
TextThread::flushDelay=v;
|
TextThread::flushDelay=v;
|
||||||
host->configs->set("flushDelay",v);
|
|
||||||
};
|
};
|
||||||
g_timeout->setminmax(0,9999);
|
g_timeout->setminmax(0,9999);
|
||||||
g_codepage->onvaluechange=[=](int v){
|
g_codepage->onvaluechange=[=](int v){
|
||||||
if(IsValidCodePage(v)){
|
if(IsValidCodePage(v)){
|
||||||
Host::defaultCodepage= v;
|
Host::defaultCodepage= v;
|
||||||
host->configs->set("codepage",v);
|
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
g_codepage->setminmax(0,CP_UTF8);
|
g_codepage->setminmax(0,CP_UTF8);
|
||||||
|
@ -18,6 +18,8 @@ class Settingwindow:public mainwindow{
|
|||||||
spinbox* g_codepage;
|
spinbox* g_codepage;
|
||||||
checkbox* g_check_clipboard;
|
checkbox* g_check_clipboard;
|
||||||
checkbox* readonlycheck;
|
checkbox* readonlycheck;
|
||||||
|
checkbox* autoattach;
|
||||||
|
spinbox* spinmaxbuffsize;
|
||||||
public:
|
public:
|
||||||
Settingwindow(LunaHost*);
|
Settingwindow(LunaHost*);
|
||||||
};
|
};
|
||||||
@ -44,8 +46,12 @@ public:
|
|||||||
confighelper* configs;
|
confighelper* configs;
|
||||||
int64_t currentselect=0;
|
int64_t currentselect=0;
|
||||||
bool check_toclipboard=false;
|
bool check_toclipboard=false;
|
||||||
|
bool autoattach=false;
|
||||||
void on_size(int w,int h);
|
void on_size(int w,int h);
|
||||||
void on_close();
|
void on_close();
|
||||||
LunaHost();
|
LunaHost();
|
||||||
friend class Settingwindow;
|
friend class Settingwindow;
|
||||||
|
private:
|
||||||
|
void loadsettings();
|
||||||
|
void savesettings();
|
||||||
};
|
};
|
||||||
|
Loading…
x
Reference in New Issue
Block a user