6
0
mirror of https://github.com/JKornev/hidden synced 2024-06-28 18:02:15 +00:00
hidden/HiddenCLI/Helper.h
2016-12-16 00:09:42 +03:00

74 lines
1.1 KiB
C++

#pragma once
#include <string>
#include <vector>
#include <stdio.h>
#include <stdarg.h>
#include <Windows.h>
#include "../HiddenLib/HiddenLib.h"
class WException
{
std::wstring m_errorMessage;
unsigned int m_errorCode;
public:
WException(unsigned int Code, wchar_t* Format, ...);
const wchar_t* What();
unsigned int Code();
};
class Arguments
{
std::vector<std::wstring> m_arguments;
unsigned int m_argPointer;
public:
Arguments(int argc, wchar_t* argv[], int start = 1);
size_t ArgsCount();
bool Probe(std::wstring& arg);
bool SwitchToNext();
bool GetNext(std::wstring& arg);
};
class Handle
{
private:
DWORD m_error;
HANDLE m_handle;
public:
Handle(HANDLE handle);
~Handle();
HANDLE Get();
DWORD Error();
};
enum EObjTypes {
TypeFile,
TypeDir,
TypeRegKey,
TypeRegVal,
};
enum EProcTypes {
TypeProcessId,
TypeImage,
};
HidRegRootTypes GetRegType(std::wstring& path);
HidPsInheritTypes LoadInheritOption(Arguments& args, HidPsInheritTypes default);
bool LoadApplyOption(Arguments& args, bool applyByDefault);
const wchar_t* ConvertInheritTypeToUnicode(HidPsInheritTypes type);