PHP Code:
#include <iostream>
#include <windows.h>
#define Selected SetConsoleTextAttribute ( GetStdHandle ( STD_OUTPUT_HANDLE ), BACKGROUND_INTENSITY | BACKGROUND_RED | BACKGROUND_GREEN | BACKGROUND_BLUE );
#define Un_Selected SetConsoleTextAttribute ( GetStdHandle ( STD_OUTPUT_HANDLE ), FOREGROUND_INTENSITY | FOREGROUND_RED | FOREGROUND_GREEN | FOREGROUND_BLUE );
void Screen_Position ( int X, int Y )
{
COORD Cursor_Position;
Cursor_Position.X = X;
Cursor_Position.Y = Y;
SetConsoleCursorPosition ( GetStdHandle ( STD_OUTPUT_HANDLE ), Cursor_Position );
}
int main()
{
using namespace std;
SetConsoleTitle ( "Menu" );
Screen_Position ( 10, 5 );
Un_Selected;
cout << " Minimize ";
Screen_Position ( 10, 7 );
Un_Selected;
cout << " Maximize ";
Screen_Position ( 10, 9 );
Un_Selected;
cout << " Restore ";
Screen_Position ( 10, 11 );
Un_Selected;
cout << " Close ";
INPUT_RECORD Record_Input;
DWORD Event_Count,
Input_Size;
bool Mouse_On1 = false,
Mouse_On2 = false,
Mouse_On3 = false,
Mouse_On4 = false,
Mouse_Moved_On1 = true,
Mouse_Moved_On2 = true,
Mouse_Moved_On3 = true,
Mouse_Moved_On4 = true,
Mouse_Pressed;
while ( EOF )
{
GetNumberOfConsoleInputEvents ( GetStdHandle ( STD_INPUT_HANDLE ), & Event_Count );
if ( Event_Count != 0 )
{
ReadConsoleInput ( GetStdHandle ( STD_INPUT_HANDLE ), & Record_Input, 1, & Input_Size );
if ( Record_Input.EventType == MOUSE_EVENT )
{
MOUSE_EVENT_RECORD Mouse = Record_Input.Event.MouseEvent;
if ( Mouse.dwMousePosition.X >= 11 &&
Mouse.dwMousePosition.X <= 18 &&
Mouse.dwMousePosition.Y == 5 )
{
if ( Mouse.dwButtonState == FROM_LEFT_1ST_BUTTON_PRESSED )
{
mciSendString ( "Play click.wav", NULL, 0, NULL );
Screen_Position ( 10, 5 );
Selected;
cout << "[Minimize]";
Mouse_Pressed = true;
while ( Mouse.dwMousePosition.X >= 11 &&
Mouse.dwMousePosition.X <= 18 &&
Mouse.dwMousePosition.Y == 5 &&
Mouse_Pressed == true )
{
ReadConsoleInput ( GetStdHandle ( STD_INPUT_HANDLE ), & Record_Input, 1, & Input_Size );
if ( Record_Input.EventType == MOUSE_EVENT )
{
Mouse = Record_Input.Event.MouseEvent;
if ( Mouse.dwButtonState == ! FROM_LEFT_1ST_BUTTON_PRESSED )
{
mciSendString ( "Play open.wav", NULL, 0, NULL );
Screen_Position ( 10, 5 );
Un_Selected;
cout << " Minimize ";
ShowWindow ( FindWindow ( "ConsoleWindowClass", "Menu" ), SW_MINIMIZE );
Mouse_Pressed = false;
}
}
}
}
else if ( Mouse_Moved_On1 == true )
{
mciSendString ( "Play hover.wav", NULL, 0, NULL );
Screen_Position ( 10, 5 );
Selected;
cout << " Minimize ";
Mouse_Moved_On1 = false;
}
Mouse_On1 = true;
}
else if ( Mouse_On1 == true )
{
Screen_Position ( 10, 5 );
Un_Selected;
cout << " Minimize ";
Mouse_On1 = false,
Mouse_Moved_On1 = true;
}
if ( Mouse.dwMousePosition.X >= 11 &&
Mouse.dwMousePosition.X <= 18 &&
Mouse.dwMousePosition.Y == 7 )
{
if ( Mouse.dwButtonState == FROM_LEFT_1ST_BUTTON_PRESSED )
{
mciSendString ( "Play click.wav", NULL, 0, NULL );
Screen_Position ( 10, 7 );
Selected;
cout << "[Maximize]";
Mouse_Pressed = true;
while ( Mouse.dwMousePosition.X >= 11 &&
Mouse.dwMousePosition.X <= 18 &&
Mouse.dwMousePosition.Y == 7 &&
Mouse_Pressed == true )
{
ReadConsoleInput ( GetStdHandle ( STD_INPUT_HANDLE ), & Record_Input, 1, & Input_Size );
if ( Record_Input.EventType == MOUSE_EVENT )
{
Mouse = Record_Input.Event.MouseEvent;
if ( Mouse.dwButtonState == ! FROM_LEFT_1ST_BUTTON_PRESSED )
{
mciSendString ( "Play open.wav", NULL, 0, NULL );
Screen_Position ( 10, 7 );
Un_Selected;
cout << " Maximize ";
ShowWindow ( FindWindow ( "ConsoleWindowClass", "Menu" ), SW_SHOWMAXIMIZED );
Mouse_Pressed = false;
}
}
}
}
else if ( Mouse_Moved_On2 == true )
{
mciSendString ( "Play hover.wav", NULL, 0, NULL );
Screen_Position ( 10, 7 );
Selected;
cout << " Maximize ";
Mouse_Moved_On2 = false;
}
Mouse_On2 = true;
}
else if ( Mouse_On2 == true )
{
Screen_Position ( 10, 7 );
Un_Selected;
cout << " Maximize ";
Mouse_On2 = false,
Mouse_Moved_On2 = true;
}
if ( Mouse.dwMousePosition.X >= 11 &&
Mouse.dwMousePosition.X <= 17 &&
Mouse.dwMousePosition.Y == 9 )
{
if ( Mouse.dwButtonState == FROM_LEFT_1ST_BUTTON_PRESSED )
{
mciSendString ( "Play click.wav", NULL, 0, NULL );
Screen_Position ( 10, 9 );
Selected;
cout << "[Restore]";
Mouse_Pressed = true;
while ( Mouse.dwMousePosition.X >= 11 &&
Mouse.dwMousePosition.X <= 17 &&
Mouse.dwMousePosition.Y == 9 &&
Mouse_Pressed == true )
{
ReadConsoleInput ( GetStdHandle ( STD_INPUT_HANDLE ), & Record_Input, 1, & Input_Size );
if ( Record_Input.EventType == MOUSE_EVENT )
{
Mouse = Record_Input.Event.MouseEvent;
if ( Mouse.dwButtonState == ! FROM_LEFT_1ST_BUTTON_PRESSED )
{
mciSendString ( "Play open.wav", NULL, 0, NULL );
Screen_Position ( 10, 9 );
Un_Selected;
cout << " Restore ";
ShowWindow ( FindWindow ( "ConsoleWindowClass", "Menu" ), SW_SHOWDEFAULT );
Mouse_Pressed = false;
}
}
}
}
else if ( Mouse_Moved_On3 == true )
{
mciSendString ( "Play hover.wav", NULL, 0, NULL );
Screen_Position ( 10, 9 );
Selected;
cout << " Restore ";
Mouse_Moved_On3 = false;
}
Mouse_On3 = true;
}
else if ( Mouse_On3 == true )
{
Screen_Position ( 10, 9 );
Un_Selected;
cout << " Restore ";
Mouse_On3 = false,
Mouse_Moved_On3 = true;
}
if ( Mouse.dwMousePosition.X >= 11 &&
Mouse.dwMousePosition.X <= 15 &&
Mouse.dwMousePosition.Y == 11 )
{
if ( Mouse.dwButtonState == FROM_LEFT_1ST_BUTTON_PRESSED )
{
mciSendString ( "Play click.wav", NULL, 0, NULL );
Screen_Position ( 10, 11 );
Selected;
cout << "[Close]";
Mouse_Pressed = true;
while ( Mouse.dwMousePosition.X >= 11 &&
Mouse.dwMousePosition.X <= 15 &&
Mouse.dwMousePosition.Y == 11 &&
Mouse_Pressed == true )
{
ReadConsoleInput ( GetStdHandle ( STD_INPUT_HANDLE ), & Record_Input, 1, & Input_Size );
if ( Record_Input.EventType == MOUSE_EVENT )
{
Mouse = Record_Input.Event.MouseEvent;
if ( Mouse.dwButtonState == ! FROM_LEFT_1ST_BUTTON_PRESSED )
{
mciSendString ( "Play back.wav", NULL, 0, NULL );
Sleep ( 250 );
return 0;
}
}
}
}
else if ( Mouse_Moved_On4 == true )
{
mciSendString ( "Play hover.wav", NULL, 0, NULL );
Screen_Position ( 10, 11 );
Selected;
cout << " Close ";
Mouse_Moved_On4 = false;
}
Mouse_On4 = true;
}
else if ( Mouse_On4 == true )
{
Screen_Position ( 10, 11 );
Un_Selected;
cout << " Close ";
Mouse_On4 = false,
Mouse_Moved_On4 = true;
}
}
}
Sleep ( 10 );
}
}