Q:

Visual studio "cannot find the path specified" error

I am having a problem creating a simple window in C++ visual studio. I started a new "empty project" and only created one .cpp file. When I try to run the program, I get this error:
Unable to start program C:\...\Project1.exe. The system cannot find the file specified. 

Why does this happen? I'm using visual studio 2010. 
Here is my code:
#include <windows.h>

// Function prototypes.
LRESULT CALLBACK WndProc( HWND hwnd, UINT message, WPARAM wparam, LPARAM lparam );
int WINAPI WinMain( HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR szCmdLine, int iCmdShow );

int WINAPI WinMain( HINSTANCE hInstance,    
                    HINSTANCE hPrevInstance,
                    LPSTR szCmdLine,        
                    int iCmdShow )          

    #pragma region part 1 - STARTUP STUFF

    WNDCLASS wc;
    wc.cbClsExtra = 0;  
    wc.cbWndExtra = 0; 
    wc.hbrBackground = (HBRUSH)GetStockObject( WHITE_BRUSH );   
    wc.hCursor = LoadCursor( NULL, IDC_ARROW );            
    wc.hIcon = LoadIcon( NULL, IDI_APPLICATION );        
    wc.hInstance = hInstance;          
    wc.lpfnWndProc = WndProc;           
    wc.lpszClassName = TEXT("Philip");  
    wc.lpszMenuName = 0;    // no menu - ignore
    wc.style = CS_HREDRAW | CS_VREDRAW; // Redraw the window

    RegisterClass( &wc );  
    HWND hwnd = CreateWindow(
        TEXT("Philip"),         

        TEXT("window's title!"),// appears in title of window

        WS_OVERLAPPEDWINDOW,    
        10, 10,                 
        200, 200,               
        NULL, NULL,             
        hInstance, NULL );      

    ShowWindow(hwnd, iCmdShow );
    UpdateWindow(hwnd);
    #pragma endregion

    #pragma region part 2 - ENTER A LOOP TO CONTINUALLY KEEP CHECKING WITH WIN O/S FOR USER INTERACTION

    MSG msg;

    while( GetMessage( &msg, NULL, 0, 0 ) )
    {

        TranslateMessage( &msg );   

        DispatchMessage( &msg );  

    }
    #pragma endregion

    return msg.wParam;    // return from WinMain
}

LRESULT CALLBACK WndProc(   HWND hwnd,      // "handle" to the window that this message is for
                            UINT message,   // TYPE of message (e.g. WM_PAINT is a message asking to paint the window)
                            WPARAM wparam,  // information about the actual message
                            LPARAM lparam ) // MORE info about the message
{

    switch( message )
    {
    case WM_CREATE:
        // upon creation, let the speaker beep at 50Hz, for 10ms.
        Beep( 50, 10 );
        return 0;
        break;

    case WM_PAINT:
        {

            HDC hdc;
            PAINTSTRUCT ps;
            hdc = BeginPaint( hwnd, &ps );

            // draw a circle and a 2 squares
            Ellipse( hdc, 20, 20, 160, 160 );
            Rectangle( hdc, 50, 50, 90, 90 );
            Rectangle( hdc, 100, 50, 140, 90 );

            EndPaint( hwnd, &ps );
        }
        return 0;
        break;

    case WM_DESTROY:
        PostQuitMessage( 0 ) ;
        return 0;
        break;

    }
    return DefWindowProc( hwnd, message, wparam, lparam );
}

A:

If you want to create a window then your kind of project is Windows Form Application (see picture above).
The solutions are an abstract concept to get together several projects. For example you could want to have a Windows Form Application using the features of a Class Library.

