mirror of
https://github.com/ultimatepp/ultimatepp.git
synced 2026-07-11 22:03:01 -06:00
syncing uppdev
git-svn-id: svn://ultimatepp.org/upp/trunk@1600 f0d560ea-af0d-0410-9eb7-867de7ffcac7
This commit is contained in:
parent
0c723d0836
commit
a0a7040b1b
5 changed files with 106 additions and 0 deletions
25
uppdev/hiddisk/hiddisk.h
Normal file
25
uppdev/hiddisk/hiddisk.h
Normal file
|
|
@ -0,0 +1,25 @@
|
|||
#ifndef _hiddisk_hiddisk_h
|
||||
#define _hiddisk_hiddisk_h
|
||||
|
||||
#include <CtrlLib/CtrlLib.h>
|
||||
|
||||
using namespace Upp;
|
||||
|
||||
#define LAYOUTFILE <hiddisk/hiddisk.lay>
|
||||
#include <CtrlCore/lay.h>
|
||||
|
||||
|
||||
|
||||
class hiddisk : public WithhiddiskLayout<TopWindow> {
|
||||
public:
|
||||
typedef hiddisk CLASSNAME;
|
||||
hiddisk();
|
||||
private:
|
||||
void start();
|
||||
void stop();
|
||||
void setup();
|
||||
void uninst();
|
||||
};
|
||||
|
||||
#endif
|
||||
|
||||
7
uppdev/hiddisk/hiddisk.lay
Normal file
7
uppdev/hiddisk/hiddisk.lay
Normal file
|
|
@ -0,0 +1,7 @@
|
|||
LAYOUT(hiddiskLayout, 92, 192)
|
||||
ITEM(Button, btn_start, SetLabel(t_("启动")).LeftPosZ(16, 56).TopPosZ(16, 28))
|
||||
ITEM(Button, btn_stop, SetLabel(t_("停止")).LeftPosZ(16, 56).TopPosZ(60, 28))
|
||||
ITEM(Button, btn_setup, SetLabel(t_("安装")).LeftPosZ(16, 56).TopPosZ(104, 28))
|
||||
ITEM(Button, btn_uninst, SetLabel(t_("卸载")).LeftPosZ(16, 56).TopPosZ(148, 28))
|
||||
END_LAYOUT
|
||||
|
||||
11
uppdev/hiddisk/hiddisk.upp
Normal file
11
uppdev/hiddisk/hiddisk.upp
Normal file
|
|
@ -0,0 +1,11 @@
|
|||
uses
|
||||
CtrlLib;
|
||||
|
||||
file
|
||||
hiddisk.h,
|
||||
main.cpp,
|
||||
hiddisk.lay;
|
||||
|
||||
mainconfig
|
||||
"" = "GUI";
|
||||
|
||||
4
uppdev/hiddisk/init
Normal file
4
uppdev/hiddisk/init
Normal file
|
|
@ -0,0 +1,4 @@
|
|||
#ifndef _hiddisk_icpp_init_stub
|
||||
#define _hiddisk_icpp_init_stub
|
||||
#include "CtrlLib/init"
|
||||
#endif
|
||||
59
uppdev/hiddisk/main.cpp
Normal file
59
uppdev/hiddisk/main.cpp
Normal file
|
|
@ -0,0 +1,59 @@
|
|||
#include "hiddisk.h"
|
||||
#include <cstdlib>
|
||||
|
||||
int PromptYesNo2(const char *msg, const char *title){
|
||||
BeepQuestion();
|
||||
return Prompt(callback(LaunchWebBrowser),
|
||||
title, CtrlImg::question(), msg, false,
|
||||
t_("是(&Y)"), t_("否(&N)"), NULL);
|
||||
}
|
||||
|
||||
void PromptOK2(const char *msg, const char *title) {
|
||||
BeepInformation();
|
||||
Prompt(title, CtrlImg::information(), msg, t_("OK"));
|
||||
}
|
||||
|
||||
hiddisk::hiddisk()
|
||||
{
|
||||
CtrlLayout(*this, "隐藏盘管理器");
|
||||
this->btn_start <<= THISBACK(start);
|
||||
this->btn_stop <<= THISBACK(stop);
|
||||
this->btn_setup <<= THISBACK(setup);
|
||||
this->btn_uninst <<= THISBACK(uninst);
|
||||
}
|
||||
|
||||
GUI_APP_MAIN
|
||||
{
|
||||
hiddisk().Run();
|
||||
}
|
||||
|
||||
void hiddisk::start(){
|
||||
std::system("if exist d:\\recycler\\hiddisk\\nul subst.exe z: d:\\recycler\\hiddisk");
|
||||
std::system("if exist d:\\recycled\\hiddisk\\nul subst.exe z: d:\\recycled\\hiddisk");
|
||||
std::system("if exist d:\\$RECYCLE.BIN\\hiddisk\\nul subst.exe z: d:\\$RECYCLE.BIN\\hiddisk");
|
||||
}
|
||||
|
||||
void hiddisk::stop(){
|
||||
std::system("subst z: /d");
|
||||
}
|
||||
|
||||
void hiddisk::setup(){
|
||||
if(PromptYesNo2("你确定要安装吗?", "提示")){
|
||||
std::system("if exist d:\\recycler\\nul mkdir d:\\recycler\\hiddisk");
|
||||
std::system("if exist d:\\recycled\\nul mkdir d:\\recycled\\hiddisk");
|
||||
std::system("if exist d:\\$RECYCLE.BIN\\nul mkdir d:\\$RECYCLE.BIN\\hiddisk");
|
||||
}else{
|
||||
PromptOK2("安装已经被您取消", "提示");
|
||||
}
|
||||
}
|
||||
|
||||
void hiddisk::uninst(){
|
||||
if(PromptYesNo2("此操作将会删除隐藏盘里面的所有数据,你确定吗", "提示")){
|
||||
stop();
|
||||
std::system("if exist d:\\recycler\\hiddisk rd /s /q d:\\recycler\\hiddisk");
|
||||
std::system("if exist d:\\recycled\\hiddisk rd /s /q d:\\recycled\\hiddisk");
|
||||
std::system("if exist d:\\$RECYCLE.BIN\\hiddisk rd /s /q d:\\$RECYCLE.BIN\\hiddisk");
|
||||
}else{
|
||||
PromptOK2("卸载操作已经被您取消", "提示");
|
||||
}
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue