Code:
#include <windows.h>
#include "..\Header\SecSuite.h"
#define ID_COMBOBOX1 1
#define ID_BUTTON 2
#define ID_COMBOBOX2 3
#define ID_COMBOBOX3 4
void InitApp(HINSTANCE);
//The prototypes
LRESULT APIENTRY MainProc(HWND,UINT,WPARAM,LPARAM);
LRESULT APIENTRY SDW_Proc(HWND,UINT,WPARAM,LPARAM);
LRESULT APIENTRY SDC_Proc(HWND,UINT,WPARAM,LPARAM);
LRESULT APIENTRY SFD_Proc(HWND,UINT,WPARAM,LPARAM);
//The window names
HWND Main;
HWND SDW;
HWND SDC;
HWND SFD;
//Our main application handler, I believe
HINSTANCE g_hInst;
//The main proccess
int APIENTRY WinMain(HINSTANCE hInst,HINSTANCE hPrev,LPSTR line,int CmdShow)
{
MSG msg;
g_hInst=hInst;
InitApp(hInst);
while(GetMessage(&msg,0,0,0))
{
TranslateMessage(&msg);
DispatchMessage(&msg);
}
return msg.wParam;
}
//Define the window class
void InitApp(HINSTANCE hInst)
{
WNDCLASS WinCl;
WinCl.cbClsExtra=0;
WinCl.cbWndExtra=0;
WinCl.hbrBackground=(HBRUSH)(COLOR_WINDOW+1);
WinCl.hInstance=hInst;
WinCl.hCursor=LoadCursor(NULL,IDC_ARROW);
WinCl.hIcon=LoadIcon(NULL,IDI_APPLICATION);
WinCl.lpfnWndProc=(WNDPROC)MainProc;
WinCl.lpszClassName="Main";
WinCl.lpszMenuName=NULL;
WinCl.style=CS_HREDRAW|CS_VREDRAW;
RegisterClass(&WinCl);
//Redefine for the SDW window
WinCl.lpszClassName="SDW";
WinCl.lpfnWndProc=(WNDPROC)SDW_Proc;
RegisterClass(&WinCl);
//Redefine for the SDC window
WinCl.lpszClassName="SDC";
WinCl.lpfnWndProc=(WNDPROC)SDC_Proc;
RegisterClass(&WinCl);
//Redefine for the SFD window
WinCl.lpszClassName="SFD";
WinCl.lpfnWndProc=(WNDPROC)SFD_Proc;
RegisterClass(&WinCl);
//The windows
Main=CreateWindow("Main","Security Suite",WS_OVERLAPPEDWINDOW,CW_USEDEFAULT,CW_USEDEFAULT,330,240,0,0,hInst,0);
SDW=CreateWindow("SDW","Secure Disk Wipe",WS_OVERLAPPEDWINDOW,CW_USEDEFAULT,CW_USEDEFAULT,330,240,0,0,hInst,0);
SDC=CreateWindow("SDC","Secure Disk Cleanse",WS_OVERLAPPEDWINDOW,CW_USEDEFAULT,CW_USEDEFAULT,330,240,0,0,hInst,0);
SFD=CreateWindow("SFD","Secure File Deletion",WS_OVERLAPPEDWINDOW,CW_USEDEFAULT,CW_USEDEFAULT,330,240,0,0,hInst,0);
//Shows the window
ShowWindow(Main,SW_SHOW);
UpdateWindow(Main);
}
//The main window Proccess
LRESULT APIENTRY MainProc(HWND hwnd,UINT msg,WPARAM wParam,LPARAM lParam)
{
INT index;
HWND hButton=NULL;
HDC hdc;
PAINTSTRUCT ps;
TCHAR chTxt[32];
static TCHAR chOutTxt[32];
static HWND hCombo=NULL;
LPSTR Greeting,Question,Option;
Option="Option:";
Greeting="Welcome to C.J.'s SecuritySuite!";
Question="Please select what you want to do.";
switch(msg)
{
case WM_CREATE:
{
hCombo=CreateWindowEx(NULL,"COMBOBOX","Options",
WS_CHILD|WS_VISIBLE|CBS_DROPDOWNLIST,
60,120,180,100,hwnd,(HMENU)ID_COMBOBOX1,g_hInst,NULL);
lstrcpy(chTxt,"Secure Disk Wipe");
SendMessage(hCombo,CB_ADDSTRING,0,(LPARAM)chTxt);
lstrcpy(chTxt,"Secure File Deletion");
SendMessage(hCombo,CB_ADDSTRING,1,(LPARAM)chTxt);
lstrcpy(chTxt,"Secure Disk Cleanse");
SendMessage(hCombo,CB_ADDSTRING,2,(LPARAM)chTxt);
hButton=CreateWindowEx(NULL,"Button","Submit",
WS_BORDER|WS_CHILD|WS_VISIBLE|BS_PUSHBUTTON,
250,120,60,25,hwnd,(HMENU)ID_BUTTON,g_hInst,NULL);
}
break;
case WM_COMMAND:
if(LOWORD(wParam)==ID_COMBOBOX1&&HIWORD(wParam)==CBN_SELCHANGE)
{
index=SendMessage(hCombo,CB_GETCURSEL,0,0);
if(index==CB_ERR)
{
return TRUE;
}
SendMessage(hCombo,CB_GETLBTEXT,index,(LPARAM)chOutTxt);
}
if(LOWORD(wParam)==ID_BUTTON)
{
if(strcmp(chOutTxt,"Secure Disk Wipe")==0)
{
MessageBox(NULL,"Secure Disk Wipe option was selected","Combo Box Selection",MB_OK);
ShowWindow(hwnd,SW_HIDE);
ShowWindow(SDW,SW_SHOW);
}
if(strcmp(chOutTxt,"Secure Disk Cleanse")==0)
{
MessageBox(NULL,"Secure Disk Cleanse option was selected","Combo Box Selection",MB_OK);
ShowWindow(hwnd,SW_HIDE);
ShowWindow(SDC,SW_SHOW);
}
if(strcmp(chOutTxt,"Secure File Deletion")==0)
{
MessageBox(NULL,"Secure File Deletion option was selected","Combo Box Selection",MB_OK);
ShowWindow(hwnd,SW_HIDE);
ShowWindow(SFD,SW_SHOW);
}
}
return 0;
break;
case WM_PAINT:
hdc=BeginPaint(hwnd,&ps);
TextOut(hdc,53,20,Greeting,strlen(Greeting));
TextOut(hdc,49,40,Question,strlen(Question));
TextOut(hdc,10,120,Option,strlen(Option));
EndPaint(hwnd,&ps);
break;
case WM_DESTROY:
PostQuitMessage(0);
break;
default: return DefWindowProc(hwnd,msg,wParam,lParam);
}
}
//The Secure Disk Wipe window, needs to be fixed, I think
LRESULT APIENTRY SDW_Proc(HWND hwnd,UINT msg,WPARAM wParam,LPARAM lParam)
{
static TCHAR chOutTxt[32];
INT index;
HWND hButton=NULL;
TCHAR chTxt[32];
static HWND hCombo1=NULL;
HDC hdc;
PAINTSTRUCT ps;
LPSTR Greeting,Option;
Option="Drive:";
Greeting="Secure Disk Wipe ";
switch(msg)
{
case WM_CREATE:
hCombo1=CreateWindowEx(0,"COMBOBOX","Secure Disk Wipe",
WS_CHILD|WS_VISIBLE | CBS_DROPDOWNLIST,
75,120,180,100,hwnd,(HMENU) ID_COMBOBOX2,g_hInst,NULL);
lstrcpy(chTxt,"A:\\");
SendMessage(hCombo1,CB_ADDSTRING,0,(LPARAM)chTxt);
lstrcpy(chTxt,"C:\\");
SendMessage(hCombo1,CB_ADDSTRING,1,(LPARAM)chTxt);
lstrcpy(chTxt,"D:\\");
SendMessage(hCombo1,CB_ADDSTRING,2,(LPARAM)chTxt);
hButton=CreateWindowEx(NULL,"Button","Submit",
WS_BORDER|WS_CHILD|WS_VISIBLE|BS_PUSHBUTTON,
225,150,60,25,hwnd,(HMENU)ID_BUTTON,g_hInst,NULL);
break;
case WM_COMMAND:
if(LOWORD(wParam)==ID_COMBOBOX1&&HIWORD(wParam)==CBN_SELCHANGE)
{
index=SendMessage(hCombo1,CB_GETCURSEL,0,0);
if(index==CB_ERR)
{
return TRUE;
}
SendMessage(hCombo1,CB_GETLBTEXT,index,(LPARAM)chOutTxt);
}
if(LOWORD(wParam)==ID_BUTTON)
{
if(strcmp(chOutTxt,"A:\\")==0)
{
MessageBox(NULL,"A:\\ was selected","Combo Box Selection",MB_OK);
}
if(strcmp(chOutTxt,"C:\\")==0)
{
MessageBox(NULL,"C:\\ was selected","Combo Box Selection",MB_OK);
}
if(strcmp(chOutTxt,"D:\\")==0)
{
MessageBox(NULL,"D:\\ was selected","Combo Box Selection",MB_OK);
}
MessageBox(0,"This option is not yet complete","Not complete",MB_OK);
}
return 0;
break;
case WM_PAINT:
hdc=BeginPaint(hwnd,&ps);
TextOut(hdc,85,25,Greeting,strlen(Greeting));
TextOut(hdc,50,100,Option,strlen(Option));
EndPaint(hwnd,&ps);
break;
case WM_CLOSE:
ShowWindow(SDW,SW_HIDE);
ShowWindow(Main,SW_SHOW);
break;
default: return DefWindowProc(hwnd,msg,wParam,lParam);
}
return 0;
}
//The Secure Disk Cleanse window, It's not up yet
LRESULT APIENTRY SDC_Proc(HWND hwnd,UINT msg,WPARAM wParam,LPARAM lParam)
{
static TCHAR chOutTxt[32];
INT index;
HWND hButton=NULL;
TCHAR chTxt[32];
static HWND hCombo1=NULL;
HDC hdc;
PAINTSTRUCT ps;
LPSTR Greeting,Question,Option;
Option="Drive:";
Greeting="Secure Disk Cleanse";
switch(msg)
{
case WM_CREATE:
hCombo1=CreateWindowEx(0,"COMBOBOX","Secure Disk Cleanse",
WS_CHILD|WS_VISIBLE | CBS_DROPDOWNLIST,
75,120,180,100,hwnd,(HMENU) ID_COMBOBOX2,g_hInst,NULL);
lstrcpy(chTxt,"A:\\");
SendMessage(hCombo1,CB_ADDSTRING,0,(LPARAM)chTxt);
lstrcpy(chTxt,"C:\\");
SendMessage(hCombo1,CB_ADDSTRING,1,(LPARAM)chTxt);
lstrcpy(chTxt,"D:\\");
SendMessage(hCombo1,CB_ADDSTRING,2,(LPARAM)chTxt);
hButton=CreateWindowEx(NULL,"Button","Submit",
WS_BORDER|WS_CHILD|WS_VISIBLE|BS_PUSHBUTTON,
225,150,60,25,hwnd,(HMENU)ID_BUTTON,g_hInst,NULL);
case WM_COMMAND:
if(LOWORD(wParam)==ID_COMBOBOX1&&HIWORD(wParam)==CBN_SELCHANGE)
{
index=SendMessage(hCombo1, CB_GETCURSEL, 0, 0);
if (index==CB_ERR)
{
return TRUE;
}
SendMessage(hCombo1,CB_GETLBTEXT,index,(LPARAM)chOutTxt);
}
if(LOWORD(wParam)==ID_BUTTON)
{
if(strcmp(chOutTxt,"A:\\")==0)
{
MessageBox(NULL,"A:\\ was selected","Combo Box Selection",MB_OK);
}
if(strcmp(chOutTxt,"C:\\")==0)
{
MessageBox(NULL,"C:\\ was selected","Combo Box Selection",MB_OK);
}
if(strcmp(chOutTxt,"D:\\")==0)
{
MessageBox(NULL,"D:\\ was selected","Combo Box Selection",MB_OK);
}
std::string File,Drive;
Drive=chOutTxt;
File=Drive+"SecureDiskCleanse.txt";
int Exists;
Exists=0;
if(Exists==0)
{
int Loops=GetDiskSize(Drive.c_str());
OverWrite(Loops,File,0);
MessageBox(0,"Drive Cleanse Finished","Completed",MB_OK);
}
else
{
int Loops=GetDiskSize(Drive.c_str());
OverWrite(Loops,File.c_str(),2);
MessageBox(0,"Drive Cleanse Finished","Completed",MB_OK);
}
}
return 0;
case WM_PAINT:
hdc=BeginPaint(hwnd,&ps);
TextOut(hdc,85,25,Greeting,strlen(Greeting));
TextOut(hdc,50,100,Option,strlen(Option));
EndPaint(hwnd,&ps);
break;
case WM_CLOSE:
ShowWindow(SDC,SW_HIDE);
ShowWindow(Main,SW_SHOW);
break;
default: return DefWindowProc(hwnd,msg,wParam,lParam);
}
return 0;
}
//Pretty much a completed window for Secure File Deletion, should be working
LRESULT APIENTRY SFD_Proc(HWND hwnd,UINT msg,WPARAM wParam,LPARAM lParam)
{
static TCHAR chOutTxt[64];
static TCHAR chOutTxt2[64];
std::string Drives;
std::string File;
INT index;
HWND hButton=NULL;
TCHAR chTxt[32];
static HWND hCombo1=NULL;
static HWND hCombo2=NULL;
HDC hdc;
PAINTSTRUCT ps;
LPSTR Greeting,Drive,Path;
Drive="Drive:";
Path="Path:";
Greeting="Secure File Deletion";
switch(msg)
{
case WM_CREATE:
hCombo1=CreateWindowEx(0,"COMBOBOX","Secure File Deletion",
WS_CHILD|WS_VISIBLE|CBS_DROPDOWNLIST,
125,75,100,100,hwnd,(HMENU)ID_COMBOBOX2,g_hInst,NULL);
lstrcpy(chTxt,"A:\\");
SendMessage(hCombo1,CB_ADDSTRING,0,(LPARAM)chTxt);
lstrcpy(chTxt,"C:\\");
SendMessage(hCombo1,CB_ADDSTRING,1,(LPARAM)chTxt);
lstrcpy(chTxt,"D:\\");
SendMessage(hCombo1,CB_ADDSTRING,2,(LPARAM)chTxt);
hCombo2=CreateWindowEx(0,"COMBOBOX","Secure File Deletion FilePath",
WS_CHILD|WS_VISIBLE|CBS_HASSTRINGS,
85,100,200,25,hwnd,(HMENU)ID_COMBOBOX3,g_hInst,NULL);
hButton=CreateWindowEx(NULL,"Button","Submit",
WS_BORDER|WS_CHILD|WS_VISIBLE|BS_PUSHBUTTON,
125,125,75,25,hwnd,(HMENU)ID_BUTTON,g_hInst,NULL);
break;
case WM_PAINT:
hdc=BeginPaint(hwnd,&ps);
TextOut(hdc,100,25,Greeting,strlen(Greeting));
TextOut(hdc,75,75,Drive,strlen(Drive));
TextOut(hdc,40,100,Path,strlen(Path));
EndPaint(hwnd,&ps);
break;
case WM_COMMAND:
if(LOWORD(wParam)==ID_COMBOBOX2&&HIWORD(wParam)==CBN_SELCHANGE)
{
index=SendMessage(hCombo1,CB_GETCURSEL,0,0);
if (index==CB_ERR)
{
return TRUE;
}
SendMessage(hCombo1,CB_GETLBTEXT,index,(LPARAM)chOutTxt);
}
if(LOWORD(wParam)==ID_COMBOBOX3&&HIWORD(wParam)==CBN_SELCHANGE)
{
index=SendMessage(hCombo2,CB_GETLBTEXTLEN,0,0);
if (index==CB_ERR)
{
return TRUE;
}
SendMessage(hCombo2,CB_GETLBTEXT,index,(LPARAM)chOutTxt2);
}
if(LOWORD(wParam)==ID_BUTTON)
{
if(strcmp(chOutTxt,"A:\\")==0)
{
MessageBox(NULL,"A:\\ was selected","Combo Box Selection",MB_OK);
}
if (strcmp(chOutTxt,"C:\\")==0)
{
MessageBox(NULL,"C:\\ was selected","Combo Box Selection",MB_OK);
}
if (strcmp(chOutTxt,"D:\\")==0)
{
MessageBox(NULL,"D:\\ was selected","Combo Box Selection",MB_OK);
}
}
Drives=chOutTxt;
File=chOutTxt2;
File=Drives+File;
int Loops;
Loops=GetFileSize(File);
OverWrite(Loops,File,1);
File="DEL "+File;
system(File.c_str());
MessageBox(0,"File was deleted","Completed",MB_ICONINFORMATION|MB_OK);
return 0;
break;
case WM_CLOSE:
ShowWindow(SFD,SW_HIDE);
ShowWindow(Main,SW_SHOW);
break;
default: return DefWindowProc(hwnd,msg,wParam,lParam);
}
return 0;
}
And here is the Header