if ( lpki->nKey == F2 )
{
DWORD MaxBSCount = lpki->pszCurrent - lpki->pszLine;
DWORD BSCount = 0;
// remove trailing spaces before the current position
for ( BSCount=0;
BSCount <= MaxBSCount && *(lpki->pszCurrent - 1 - BSCount) == L' ';
BSCount++ );
// then remove until a space is encountered
for ( ;
BSCount <= MaxBSCount && *(lpki->pszCurrent - 1 - BSCount) != L' ';
BSCount++ );
lpki->nKey = 0;
INPUT input[2] = {{INPUT_KEYBOARD, 0}, {INPUT_KEYBOARD, 0}};
input[0].ki.wVk = input[1].ki.wVk = VK_BACK;
input[1].ki.dwFlags = KEYEVENTF_KEYUP;
for ( INT i=0; i<BSCount; i++ )
SendInput(2, input, sizeof(INPUT));
return 0;
}