Cookie Viewer/Killer

Environment:VC6 SP5, VC7.NET, WinXP Pro

This dialog-based application first tries to find the path to the user's Cookies folder' if this is successful, an entry is made in the Registry. The path can later be changed by opening the AboutBox and entering the new path. The cookies can be opened by clicking the cookie; also, a search box is provided to find a cookie with text entered in the find cookie box. A keyboard handler has been added so the user can either click the find cookie button or press the enter key. Any other key is passed on to the system. When the Enter key is pressed, it has to be removed from the queue; this is done be replacing it with the Home key. I have included a fair error handler. There is also a Delete current cookie button which prompts the user to confirm deletion. The cookie is then removed from the cookie list and the user's cookie folder.

BOOL CCookieViewerDlg::PreTranslateMessage(MSG* pMsg)
{
  // TODO: Add your specialized code here and/or call the
  // base class
  if (pMsg->message == WM_KEYDOWN)
  {
    if (pMsg->wParam == VK_RETURN)
    {
      pMsg->wParam = VK_HOME;
      OnFindcookie();
    }
  }
  
  return CDialog::PreTranslateMessage(pMsg);
}

void CCookieViewerDlg::GetError(LPSTR lpszFunction)
{
  LPVOID lpMsgBuf;
  FormatMessage(
    FORMAT_MESSAGE_ALLOCATE_BUFFER |
    FORMAT_MESSAGE_FROM_SYSTEM |
    FORMAT_MESSAGE_IGNORE_INSERTS,
    NULL,
    GetLastError(),
    MAKELANGID(LANG_NEUTRAL, SUBLANG_DEFAULT), // Default language
    (LPTSTR) &lpMsgBuf,
    0,
    NULL );
  // Process any inserts in lpszFunction
  // ...
  if (lpszFunction == "")
    lpszFunction = "Error";
  // Display the string.
  ::MessageBox( NULL, (LPCTSTR)lpMsgBuf, lpszFunction,
                MB_OK | MB_ICONINFORMATION );
  // Free the buffer.
  LocalFree( lpMsgBuf );

}

Downloads

Download demo project - 101 Kb
Download source - 22 Kb


Comments

  • There are no comments yet. Be the first to comment!

Leave a Comment
  • Your email address will not be published. All fields are required.

Top White Papers and Webcasts

  • With JRebel, developers get to see their code changes immediately, fine-tune their code with incremental changes, debug, explore and deploy their code with ease (both locally and remotely), and ultimately spend more time coding instead of waiting for the dreaded application redeploy to finish. Every time a developer tests a code change it takes minutes to build and deploy the application. JRebel keeps the app server running at all times, so testing is instantaneous and interactive.

  • The impact of a data loss event can be significant. Real-time data is essential to remaining competitive. Many companies can no longer afford to rely on a truck arriving each day to take backup tapes offsite. For most companies, a cloud backup and recovery solution will eliminate, or significantly reduce, IT resources related to the mundane task of backup and allow your resources to be redeployed to more strategic projects. The cloud - can now be comfortable for you – with 100% recovery from anywhere all …

Most Popular Programming Stories

More for Developers

Latest Developer Headlines

RSS Feeds