struct FocusRectInfo  
{public:

void Open()
{
nOldInfox = nOldInfoy = 0;
nHasXValue = SystemParametersInfo(SPI_GETFOCUSBORDERWIDTH ,0,&nOldInfox,0);
nHasYValue = SystemParametersInfo(SPI_GETFOCUSBORDERHEIGHT,0,&nOldInfoy,0); if( !nHasXValue || !nHasYValue)
return; BOOL B;
int *nInfo = NULL;
B = SystemParametersInfo(SPI_SETFOCUSBORDERWIDTH ,0,nInfo,SPIF_SENDWININICHANGE);
B = SystemParametersInfo(SPI_SETFOCUSBORDERHEIGHT,0,nInfo,SPIF_SENDWININICHANGE); nHasXValue = SystemParametersInfo(SPI_GETFOCUSBORDERWIDTH ,0,&nOldInfox,0);
nHasYValue = SystemParametersInfo(SPI_GETFOCUSBORDERHEIGHT,0,&nOldInfoy,0); }

void Close()
{
if( !nHasXValue || !nHasYValue)
return;// SystemParametersInfo(SPI_SETFOCUSBORDERWIDTH, 0,&nOldInfox,SPIF_SENDCHANGE);
// SystemParametersInfo(SPI_SETFOCUSBORDERHEIGHT,0,&nOldInfoy,SPIF_SENDCHANGE);
}private:
BOOL nHasXValue,nHasYValue;
int nOldInfox,nOldInfoy;
};