utility.cpp

来自「PPC上的任务管理器源代码, 可以列表, 中止等操作, 并自动过滤PPC内部程序」· C++ 代码 · 共 70 行

CPP
70
字号



////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
// 预处理
#include "Main.h"
#include "Utility.h"
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////



////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
// 清空数据库
BOOL CUtility::ClearDataBase(PTSTR ptzName)
{
	CEGUID gidSystem;
	CREATE_INVALIDGUID(&gidSystem);
	CEOID oidObject = 0;
	HANDLE hData = CeOpenDatabaseEx2(&gidSystem, &oidObject, ptzName, NULL, 0, NULL);
	_ReturnValIf(hData == INVALID_HANDLE_VALUE, FALSE);

	for (UINT i = 0; oidObject = CeSeekDatabaseEx(hData, CEDB_SEEK_BEGINNING, i, 0, NULL); i++)
	{
		CeDeleteRecord(hData, oidObject);
	}

	CloseHandle(hData);

	return TRUE;
}
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////



////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
// 删除目录
BOOL CUtility::DeleteDirectory(PCTSTR ptzDir)
{
	TCHAR tzPath[MAX_PATH];
	wsprintf(tzPath, TEXT("%s\\*.*"), ptzDir);

	WIN32_FIND_DATA fdFind;
	HANDLE hFind = FindFirstFile(tzPath, &fdFind);
	if (hFind != INVALID_HANDLE_VALUE)
	{
		do
		{
			if (fdFind.cFileName[0] != '.')
			{
				wsprintf(tzPath, TEXT("%s\\%s"), ptzDir, fdFind.cFileName);
				if (fdFind.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY)
				{
					DeleteDirectory(tzPath);
				}
				else
				{
					DeleteFile(tzPath);
				}
			}
		}
		while (FindNextFile(hFind, &fdFind));
		FindClose(hFind);
	}

	RemoveDirectory(ptzDir);

	return TRUE;
}
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?