				/************************************************************
				Begin Editing Sys Vars
				*************************************************************/
				case LSV_SYS_VARS_BEGINEDIT:
				{
			        if (DlgInfo.lvEdit[LV_SYS_VARS].Status) { MessageBox(NULL,"Already editing. WTF? (LSV_SYS_VARS_BEGINEDIT)","Error",0); break; }
			        DlgInfo.lvEdit[LV_SYS_VARS].iItem = LOWORD(lParam);
			        DlgInfo.lvEdit[LV_SYS_VARS].iSubItem = HIWORD(lParam);
			        if (DlgInfo.lvEdit[LV_SYS_VARS].iSubItem) { SendMessage(hSysVarsTxt, EM_SETLIMITTEXT, 8, 0); }
			        else { SendMessage(hSysVarsTxt, EM_SETLIMITTEXT, MAX_MEM_BLOCK_NAME, 0); }
					char txtInput[32];
					ListViewGetText(hSysVarsList, DlgInfo.lvEdit[LV_SYS_VARS].iItem, DlgInfo.lvEdit[LV_SYS_VARS].iSubItem, txtInput, sizeof(txtInput));
					SetWindowText(hSysVarsTxt,txtInput);
					ListViewShowEdit(hSysVarsList, hSysVarsTxt, DlgInfo.lvEdit[LV_SYS_VARS].iItem, DlgInfo.lvEdit[LV_SYS_VARS].iSubItem);
					DlgInfo.lvEdit[LV_SYS_VARS].Status = 1;
				} break;
				/************************************************************
				End Editing Sys Vars
				*************************************************************/
       			case LSV_SYS_VARS_ENDEDIT:
       			{
					if ((!DlgInfo.lvEdit[LV_SYS_VARS].Status) || (!lParam)) { goto SYS_VARS_EDIT_END; }
       			    char txtValue[32];
					if (isHexWindow(hSysVarsTxt)) { GetWindowText(hSysVarsTxt, txtValue, sizeof(txtValue)); }
					else { strcpy(txtValue, "0"); }
					ListViewSetRow(hSysVarsList, DlgInfo.lvEdit[LV_SYS_VARS].iItem, DlgInfo.lvEdit[LV_SYS_VARS].iSubItem, 1, txtValue);
					SendMessage(DlgInfo.TabDlgs[CODE_SEARCH_TAB], WM_COMMAND, VCMD_CS_UPDATE_SEARCH_AREAS, 0);
SYS_VARS_EDIT_END:
            		DlgInfo.lvEdit[LV_SYS_VARS].Status = 0;
            		SetWindowPos(hSysVarsTxt,HWND_BOTTOM,0,0,0,0,SWP_HIDEWINDOW);
            		SetFocus(hSysVarsList);
				} break;

				/************************************************************
				Hook & Launch Button
				*************************************************************/
			    case CMD_HOOK_LAUNCH:
			    {
                    char lFileName[MAX_PATH], lFilePath[MAX_PATH];
                    if (!DoFileOpen(hwnd, lFileName)) { break; }
                    if(!FileExists(lFileName)) { break; }
                    if (HookInfo.HookedProcess.hProcess) { ResetHook(); }
                    strcpy(lFilePath, lFileName);
                    char *fndchr = strrchr(lFilePath,'\\');
                    *(fndchr) = '\0';
                    STARTUPINFO si; memset(&si, 0, sizeof(STARTUPINFO));
                    si.cb = sizeof(si);
                    CreateProcess( lFileName, NULL, NULL, NULL, FALSE, CREATE_NEW_CONSOLE, NULL, lFilePath, &si, &HookInfo.HookedProcess );
                    char txtTitle[100];
                    strcpy(txtTitle,PROGRAM_NAME); strcat(txtTitle," - ");
                    fndchr = strrchr(lFileName,'\\');
                    strcat(txtTitle,fndchr+1);
                    SetWindowText(DlgInfo.Main,txtTitle);
                } break;
				/************************************************************
				Set Program Path Button
				*************************************************************/
                case CMD_HOOK_PROG_PATH:
                {
                    char lFileName[MAX_PATH], lFilePath[MAX_PATH];
                    if (!DoFileOpen(hwnd, lFileName)) { break; }
                    strcpy(lFilePath, lFileName);
                    char *fndchr = strrchr(lFileName,'\\');
                    strcpy(lFileName, fndchr+1);
                    *(fndchr) = '\0';
                    SetWindowText(hProgramPath, lFilePath);
                    SetWindowText(hProcessName, lFileName);
                } break;
				/************************************************************
				Run Preset Button
				*************************************************************/
				case CMD_HOOK_RUN_PRESET:
                {
                    char lFileName[MAX_PATH], lFilePath[MAX_PATH];
                    GetWindowText(hProgramPath, lFileName, sizeof(lFileName));
                    if(!FileExists(lFileName)) { MessageBox(NULL, "File Not Found. Try actually setting the Program Path, dipshit.", "Error", MB_OK); break; }
                    if (HookInfo.HookedProcess.hProcess) { ResetHook(); }
                    strcpy(lFilePath, lFileName);
                    char *fndchr = strrchr(lFilePath,'\\');
                    *(fndchr) = '\0';
                    STARTUPINFO si; memset(&si, 0, sizeof(STARTUPINFO));
                    si.cb = sizeof(si);
                    CreateProcess( lFileName, NULL, NULL, NULL, FALSE, CREATE_NEW_CONSOLE, NULL, lFilePath, &si, &HookInfo.HookedProcess );
                    char txtTitle[100];
                    strcpy(txtTitle,PROGRAM_NAME); strcat(txtTitle," - ");
                    fndchr = strrchr(lFileName,'\\');
                    strcat(txtTitle,fndchr+1);
                    SetWindowText(DlgInfo.Main,txtTitle);
                } break;
				/************************************************************
				Reset Presets Button
				*************************************************************/
			    case CMD_HOOK_DEFAULT_PRESETS:
			    {
                    LoadHookPresets(hPresetCombo, 1);
                    SendMessage(hPresetCombo,CB_SETCURSEL,0,0);
                    SendMessage(hwnd, WM_COMMAND, MAKEWPARAM(CMB_HOOK_PRESETS, CBN_SELCHANGE),(LPARAM)hPresetCombo);
                } break;
				/************************************************************
				Add Preset Button
				*************************************************************/
			    case CMD_HOOK_ADD_PRESET:
                {
                    SendMessage(hwnd, WM_COMMAND, VCMD_HOOK_GET_SETTS, 0);
                    int i;
                    for (i = 0; i < MAX_PRESETS; i++) {
                        if (Presets[i].HookType == 0) {
							strcpy(Presets[i].Name, "New Preset");
							ComboAddItem(hPresetCombo, Presets[i].Name, i);
							ComboSelFromData(hPresetCombo, i);
							SendMessage(hwnd, WM_COMMAND, MAKEWPARAM(CMB_HOOK_PRESETS, CBN_SELCHANGE),(LPARAM)hPresetCombo);
                            return 0;
                        }
                    }
                    MessageBox(hwnd, "Max number of presets reached. Delete some.", "Error", MB_OK);
                } break;
				/************************************************************
				Delete Preset Button
				*************************************************************/
			    case CMD_HOOK_DEL_PRESET:
			    {
                    int pNum = SendMessage(hPresetCombo,CB_GETITEMDATA,SendMessage(hPresetCombo,CB_GETCURSEL,0,0),0);
                    memset(&Presets[pNum], 0, sizeof(HOOK_VARS));
                    SaveHookPresets();
                    LoadHookPresets(hPresetCombo, 0);
                    SendMessage(hPresetCombo,CB_SETCURSEL,0,0);
                    SendMessage(hwnd, WM_COMMAND, MAKEWPARAM(CMB_HOOK_PRESETS, CBN_SELCHANGE),(LPARAM)hPresetCombo);
                } break;
