DEV Community


Creating a Windows Project in Visual Studio [Windows PE Internals]

A Software Engineer trying to venture out to the Security world... Documenting my learning journey.
Updated on ・1 min read

Just a very short blog post on how to create a windows api project in visual studio. Would be referencing this for other articles that I post.


Ensure Project template is of type C++, Windows and Console.

For now, just start with an Empty Project.


Give it a project name. I called it as WindowsApiProject.


Next right click your project, click Properties.


Under Configuration Properties->Linker->System, set the subsystem to Windows.

Hit Apply and Ok.

Now right click your Source folder, and create a new .cpp file.


Now lets create a main function.

In Windows Api, we create it with WinMain function instead of main.

#include <Windows.h>

int  WinMain(
     HINSTANCE hInstance,
     HINSTANCE hPrevInstance,
     LPSTR     lpCmdLine,
     int       nCmdShow
    MessageBoxA(0, "Hello World!", "Bye", 0);

    return 0;
Enter fullscreen mode Exit fullscreen mode

And we have our hello world message box.


I learnt how to create a simple hello world windows project. I realized the main definition was different then the regular c programs, we should use WinMain instead.

I also learnt how to configure Visual Studio to target the Windows subsystem.


Getting a Handle to a Dynamically Linked Library

Discussion (0)