Click here to Skip to main content
15,886,422 members
Articles / Desktop Programming / Win32

Password Field Unhider (and some C++ utility classes)

Rate me:
Please Sign up or sign in to vote.
4.88/5 (10 votes)
9 Apr 2009CPOL13 min read 54K   1.5K   46  
Utility to unmask password edit controls and INPUT fields, plus some useful C++ classes used to implement it.
// By David S. Bakin (davidbak@gmail.com)
// Copyright @ 2009 David S. Bakin
// This work licensed under The Code Project Open License (CPOL) 1.02

// Microsoft Visual C++ generated resource script.
//
#include "resource.h"

#define APSTUDIO_READONLY_SYMBOLS
/////////////////////////////////////////////////////////////////////////////
//
// Generated from the TEXTINCLUDE 2 resource.
//
#ifndef APSTUDIO_INVOKED
#include "targetver.h"
#endif
#define APSTUDIO_HIDDEN_SYMBOLS
#include "windows.h"
#undef APSTUDIO_HIDDEN_SYMBOLS

/////////////////////////////////////////////////////////////////////////////
#undef APSTUDIO_READONLY_SYMBOLS

/////////////////////////////////////////////////////////////////////////////
// English (U.S.) resources

#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_ENU)
#ifdef _WIN32
LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US
#pragma code_page(1252)
#endif //_WIN32

/////////////////////////////////////////////////////////////////////////////
//
// Icon
//

// Icon with lowest ID value placed first to ensure application icon
// remains consistent on all systems.
IDI_PASSWORD            ICON                    "Resources/PasswordUnhider.ico"
IDI_SMALL               ICON                    "Resources/small.ico"
IDI_FRAMEDBLUEDOT       ICON                    "Resources/FramedBlueDot.ico"
IDI_FRAMEDREDDOT        ICON                    "Resources/FramedRedDot.ico"
IDI_GEAR1               ICON                    "Resources/Gear1.ico"
IDI_GREENSTARBURST      ICON                    "Resources/GreenStarBurst.ico"
IDI_LIGHTSWITCH         ICON                    "Resources/LightSwitch.ico"
IDI_REDTRIANGLE         ICON                    "Resources/RedTriangle.ico"
IDI_STAR1               ICON                    "Resources/Star1.ico"
IDI_YINYANG             ICON                    "Resources\\YinYangRed.ico"
IDI_YINYANG_REV         ICON                    "resources/yinyang1.ico"

/////////////////////////////////////////////////////////////////////////////
//
// Cursor
//

IDCUR_CROSSHAIRS1       CURSOR                  "Resources/Crosshairs1.cur"
IDCUR_CROSSHAIRS2       CURSOR                  "Resources/Crosshairs2.cur"
IDCUR_CROSSHAIRS3       CURSOR                  "Resources/Crosshairs3.cur"
IDCUR_DOTTEDCROSS1      CURSOR                  "Resources/DottedCross1.cur"
IDCUR_DOTTEDCROSS2      CURSOR                  "Resources/DottedCross2.cur"
IDCUR_SLASHEDNO1        CURSOR                  "Resources/SlashedNo1.cur"

/////////////////////////////////////////////////////////////////////////////
//
// Menu
//

IDR_MAINFRAME MENU 
BEGIN
    POPUP "&File"
    BEGIN
        MENUITEM "Setup &Tray Icon",            IDM_SETUPTRAYICON
        MENUITEM "Test &Dialog",                IDM_TESTDIALOG
        MENUITEM "E&xit",                       IDM_EXIT
    END
    POPUP "&Help"
    BEGIN
        MENUITEM "&About PasswordUnhider...",   IDM_ABOUT
    END
END

IDR_TRAYMENU MENU 
BEGIN
    POPUP "POPUP"
    BEGIN
        MENUITEM "&Show passwords",             IDM_WINDOW_ENUM_PASSWORD_ELIM
#ifdef _DEBUG
        MENUITEM "&About PasswordUnhider...",   IDM_ABOUT_TRAY
#endif
        MENUITEM "E&xit",                       IDM_EXIT
    END
END


/////////////////////////////////////////////////////////////////////////////
//
// Accelerator
//

IDC_PASSWORD ACCELERATORS 
BEGIN
    "?",            IDM_ABOUT,              ASCII,  ALT
    "/",            IDM_ABOUT,              ASCII,  ALT
END


/////////////////////////////////////////////////////////////////////////////
//
// Dialog
//

#ifdef _DEBUG
IDD_ABOUTBOX DIALOGEX 0, 0, 170, 74
STYLE DS_SETFONT | DS_MODALFRAME | DS_FIXEDSYS | WS_POPUP | WS_CAPTION | WS_SYSMENU
CAPTION "About PasswordUnhider"
FONT 8, "MS Shell Dlg", 0, 0, 0x1
BEGIN
    ICON            128,IDC_STATIC,14,14,21,20
    LTEXT           "PasswordUnhider, Version 1.0",IDC_STATIC,42,14,114,8,SS_NOPREFIX
    LTEXT           "David Bakin",IDC_STATIC,42,26,114,8
    LTEXT           "Copyright (C) 2009",IDC_STATIC,42,38,114,8
    DEFPUSHBUTTON   "OK",IDOK,113,53,50,14,WS_GROUP
END
#endif

IDD_ABOUTTRAYBOX DIALOGEX 0, 0, 170, 74
STYLE DS_SETFONT | DS_MODALFRAME | DS_FIXEDSYS | WS_POPUP | WS_CAPTION | WS_SYSMENU
CAPTION "About PasswordUnhider"
FONT 8, "MS Shell Dlg", 0, 0, 0x1
BEGIN
    ICON            128,IDC_STATIC,14,14,20,20
    LTEXT           "PasswordUnhider, Version 1.0",IDC_STATIC,42,14,114,8,SS_NOPREFIX
    LTEXT           "David Bakin",IDC_STATIC,42,26,114,8
    LTEXT           "Copyright (C) 2009",IDC_STATIC,42,38,114,8
    DEFPUSHBUTTON   "OK",IDOK,113,53,50,14,WS_GROUP
END

#ifdef _DEBUG
IDD_TESTDIALOG DIALOGEX 0, 0, 316, 183
STYLE DS_SETFONT | DS_MODALFRAME | DS_FIXEDSYS | WS_POPUP | WS_CAPTION | WS_SYSMENU
CAPTION "Test Dialog"
FONT 8, "MS Shell Dlg", 400, 0, 0x1
BEGIN
    DEFPUSHBUTTON   "OK",IDOK,259,144,50,14
    PUSHBUTTON      "Cancel",IDCANCEL,259,162,50,14
    LTEXT           "Edit here:",IDC_STATIC,7,7,32,8
    LTEXT           "Password:",IDC_STATIC,7,25,34,8
    LTEXT           "Another edit:",IDC_STATIC,7,61,44,8
    LTEXT           "Another password:",IDC_STATIC,7,43,62,8
    EDITTEXT        IDC_EDIT1,80,7,128,14,ES_AUTOHSCROLL
    EDITTEXT        IDC_EDIT2,80,41,128,14,ES_PASSWORD | ES_AUTOHSCROLL
    EDITTEXT        IDC_EDIT3,80,24,128,14,ES_PASSWORD | ES_AUTOHSCROLL
    EDITTEXT        IDC_EDIT4,80,58,128,14,ES_AUTOHSCROLL
    PUSHBUTTON      "Reset",IDC_RESET,259,7,50,14
END
#endif


/////////////////////////////////////////////////////////////////////////////
//
// DESIGNINFO
//

#ifdef APSTUDIO_INVOKED
GUIDELINES DESIGNINFO 
BEGIN
    IDD_ABOUTBOX, DIALOG
    BEGIN
        LEFTMARGIN, 7
        RIGHTMARGIN, 163
        TOPMARGIN, 7
        BOTTOMMARGIN, 55
    END

    IDD_ABOUTTRAYBOX, DIALOG
    BEGIN
        LEFTMARGIN, 7
        RIGHTMARGIN, 163
        TOPMARGIN, 7
        BOTTOMMARGIN, 55
    END

    IDD_TESTDIALOG, DIALOG
    BEGIN
        LEFTMARGIN, 7
        RIGHTMARGIN, 309
        TOPMARGIN, 7
        BOTTOMMARGIN, 176
    END
END
#endif    // APSTUDIO_INVOKED


#ifdef APSTUDIO_INVOKED
/////////////////////////////////////////////////////////////////////////////
//
// TEXTINCLUDE
//

1 TEXTINCLUDE 
BEGIN
    "resource.h\0"
END

2 TEXTINCLUDE 
BEGIN
    "#ifndef APSTUDIO_INVOKED\r\n"
    "#include ""targetver.h""\r\n"
    "#endif\r\n"
    "#define APSTUDIO_HIDDEN_SYMBOLS\r\n"
    "#include ""windows.h""\r\n"
    "#undef APSTUDIO_HIDDEN_SYMBOLS\r\n"
    "\0"
END

3 TEXTINCLUDE 
BEGIN
    "\r\n"
    "\0"
END

#endif    // APSTUDIO_INVOKED


/////////////////////////////////////////////////////////////////////////////
//
// String Table
//

STRINGTABLE 
BEGIN
    IDS_APP_TITLE           "PasswordUnhider"
    IDS_TRAYTOOLTIP         "Password Unhider"
    IDS_BALLONTITLE         "Password Unhider!"
    IDS_BALLOONMSG          "Changed password field in %s."
    IDS_BALLOONMSGFAIL      "Couldn't change password field in %s."
    IDS_NOCHANGEMSG         "No password fields found."
    IDC_PASSWORD            "PASSWORDUNHIDER"
END

#endif    // English (U.S.) resources
/////////////////////////////////////////////////////////////////////////////



#ifndef APSTUDIO_INVOKED
/////////////////////////////////////////////////////////////////////////////
//
// Generated from the TEXTINCLUDE 3 resource.
//


/////////////////////////////////////////////////////////////////////////////
#endif    // not APSTUDIO_INVOKED

By viewing downloads associated with this article you agree to the Terms of Service and the article's licence.

If a file you wish to view isn't highlighted, and is a text file (not binary), please let us know and we'll add colourisation support for it.

License

This article, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)


Written By
Architect Bakin's Bits
United States United States
I've been programming for 35 years and I'm still learning new things. My major interests recently are programming models and methods for concurrency, applications of functional programming, and doing interesting things with Mathematica.

Comments and Discussions