Vutils or Vic Utilities is an utility library written in Modern C++ and for Modern C++.
It helps your programming go easier, faster and simpler.
- Windows 32-bit & 64-bit
- TCHAR - ANSI & UNICODE
- MS Visual Studio
- for 32-bit application
- for 64-bit application
- GNU MinGW
- for 32-bit application
- for 64-bit application
- GP-GPU CUDA Programming (in-progress)
- GUID - Globally/Universally Unique Identifier
- WMI - Windows Management Instrumentation
- Smart Buffer Memory
- Run-time Link Library
- Object-Oriented Path
- Object-Oriented Process
- Object-Oriented Registry
- Service Manager
- Sync/Async Socket
- RESTful Client
- Thread Pool
- Thread Lock, Thread Signal
- Read/Write/Parse INI File
- Parse PE File
- Create/Parse LNK File Shortcut
- Smart Stop Watch
- File System Helper
- File Mapping
- IAT/INL API Hooking
- Windows Message Hooking
- Debouncer
- Singleton Template
- Input Dialog
- In-Memory Dialog
- AOB Find Pattern
- Font/Color/File/Directory Picker
- Cryptography (B64, CRC, MD5, SHA, Big Number, etc)
- File/Directory, Window, Process, Math Manipulation
- Shorten Formatting for Date/Time, String, Message Box, Debug Message, Text Encoding, etc
- Decode Constants like Window Message, HTTP Status, etc
- Name Operator for STL Container (Eg.
2 <in> {1, 2, 3}
, etc) - Miscellaneous (I/O Console Window, Hex Dump, URL Encode/Decode, etc)
Released under the MIT license (and its third parties per se are also released under the MIT license)
Vutils requires the C++ Compiler that supported at least C++ 11
The minimum version of the following IDEs are supported C++ 11
- MS Visual Studio C++ 2012 or later
- GNU MinGW 4.6 or later
-
Clone
Vutils
repository to your machine -
Run the batch file
tools\Getting.Started.CMD
-
Build
MS Visual Studio C++
- Run the batch file
tools\VS<version>.Build.Static.Library.CMD
(<version>
is your Visual Studio version)
GNU MinGW
- Run the batch file
tools\MinGW.Build.Static.Library.CMD
- Run the batch file
-
Configuration
MS Visual Studio C++
- If you are using
Visual Studio 2012~2015
, you don't need to do anything, it automatic included in the global settings. - If you are using
Visual Studio 2017 or later
, you have to copyDirectory.Build.props
file to your solution folder that contains the.sln
file.
GNU MinGW
- Include : You don't need to do anything, automatic included in the global settings.
- Library :
-lVutils
-lgdi32 -lole32 -lcomdlg32
- If
SOCKET
enabled, insert option-DVU_INET_ENABLED -lws2_32 -lwinhttp
- If
GUID
enabled, insert option-DVU_GUID_ENABLED -lrpcrt4
- If
WMI
enabled, insert option-DVU_WMI_ENABLED -loleaut32 -lwbemuuid
- If
- If you are using
-
Usage
- Insert
#include <vu>
to your source code. - Let's get started with
vu
. Eg.vu::format(...)
,vu::find_top_window(...)
,vu::Socket
,vu::Process
,vu::Service
, etc. - Note: If building error or conflict, add
#define VU_NO_EX
above of#include <vu>
to disable all extended utilities.
- Insert
- Vutils CUDA @ https://github.com/vic4key/gpu-cuda-3rd-benchmark.git
- Test\Sample.Misc.h
- Test\Sample.WMI.h
- Test\Sample.Crypt.h
- Test\Sample.Picker.h
- Test\Sample.Process.h
- Test\Sample.Singleton.h
- Test\Sample.StopWatch.h
- Test\Sample.ThreadPool.h
- Test\Sample.AsyncSocket.h
- Test\Sample.RESTClient.h
- Test\Sample.WMHooking.h
- Test\Sample.INLHooking.h
- Test\Sample.IATHooking.h
- Test\Sample.AOBScanning.h
- See more examples in the
Test
project