Advertisement
Guest User

Untitled

a guest
Jun 29th, 2017
65
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 3.12 KB | None | 0 0
  1. #include "Memory Scanner.h"
  2.  
  3. INT_PTR CALLBACK ScannerCallback( HWND hwndDlg, UINT uMsg, WPARAM wParam, LPARAM lParam ) {
  4.   switch( uMsg ) {
  5.     case WM_INITDIALOG: {
  6.       TCHAR* arrNames[]   = { _T("Address"), _T("Value") };
  7.       int    arrColLens[] = { 120, 0 };
  8.  
  9.       CreateListViewColumns( hwndDlg, IDC_ADDRESSES, arrNames, arrColLens, 2 );
  10.       break;
  11.     }
  12.     case WM_COMMAND: {
  13.       switch( LOWORD( wParam ) ) {
  14.         case IDC_VALUE: {
  15.           switch( HIWORD( wParam ) ) {
  16.             case EN_UPDATE:
  17.               if( Button_GetCheck( GetDlgItem( hwndDlg, IDC_HEXCHECK ) ) == BST_CHECKED ) {
  18.                 TCHAR lpch[16] = {0};
  19.                 int   nTextLen = Edit_GetText( ( HWND )lParam, lpch, _countof( lpch ) );
  20.  
  21.                 if( nTextLen == 0 ) {
  22.                   Edit_SetText( ( HWND )lParam, NULL );
  23.                 } else {
  24.                   for( int i = 0; i < nTextLen; i++ ) {
  25.                     if( !isxdigit( lpch[i] ) ) {
  26.                       Edit_Undo( ( HWND )lParam );
  27.                     }
  28.                   }
  29.                 }
  30.               } else {
  31.                 // CheckSize
  32.               }
  33.               break;
  34.             default:
  35.               return false;
  36.           }
  37.  
  38.           return true;
  39.         }
  40.         case IDC_HEXCHECK: {
  41.           switch( HIWORD( wParam ) ) {
  42.             case BN_CLICKED: {
  43.               LONG_PTR lala = GetWindowLongPtr( ( HWND )lParam, GWL_STYLE );
  44.               LONG_PTR returnval = SetWindowLongPtr( ( HWND )lParam, GWL_STYLE, lala ^ ES_NUMBER );
  45.               lala = 123;
  46.             }
  47.             default:
  48.               return false;
  49.           }
  50.  
  51.           return true;
  52.         }
  53.         case IDC_FIRSTSCAN:
  54.           // FirstScan()
  55.           EnableWindow( GetDlgItem( hwndDlg, IDC_FIRSTSCAN ), false );
  56.           break;
  57.         case IDC_NEXTSCAN:
  58.           EnableWindow( GetDlgItem( hwndDlg, IDC_NEXTSCAN ), false );
  59.           break;
  60.         default:
  61.           return false;
  62.       }
  63.  
  64.       return true;
  65.     }
  66.     case WM_READY:
  67.       EnableWindow( GetDlgItem( hwndDlg, IDC_NEXTSCAN ), true );
  68.       break;
  69.     case WM_CLOSE:
  70.       EndDialog( hwndDlg, 0 );
  71.       break;
  72.     default:
  73.       return false;
  74.   }
  75.  
  76.   return true;
  77. }
  78.  
  79. void init( HMODULE hLibModule ) {
  80.   INITCOMMONCONTROLSEX iccex = {0};
  81.  
  82.   iccex.dwSize = sizeof iccex;
  83.   iccex.dwICC  = ICC_WIN95_CLASSES | ICC_LISTVIEW_CLASSES;
  84.  
  85.   if( !InitCommonControlsEx( &iccex ) ) {
  86.     MessageBox( NULL, _T("Error registering classes from comctl32.lib"), NULL, MB_OK );
  87.   } else if( DialogBox( hLibModule, MAKEINTRESOURCE( IDD_MEMSCANNER ), NULL, ScannerCallback ) == -1 ) {
  88.     MessageBox( NULL, _T("Error creating main window"), NULL, MB_OK );
  89.   }
  90.  
  91.   FreeLibraryAndExitThread( hLibModule, 0 );
  92. }
  93.  
  94. BOOL WINAPI DllMain( HANDLE hinstDLL, DWORD dwReason, LPVOID lpvReserved ) {
  95.   switch( dwReason ) {
  96.     case DLL_PROCESS_ATTACH: {
  97.       HANDLE hThread;
  98.      
  99.       if( hThread = CreateThread( NULL, NULL, ( LPTHREAD_START_ROUTINE )init, hinstDLL, NULL, NULL ) ) {
  100.         CloseHandle( hThread );
  101.       } else {
  102.         MessageBox( NULL, _T("Error creating initial thread"), NULL, MB_OK );
  103.       }
  104.  
  105.       break;
  106.     }
  107.     default:
  108.       break;
  109.   }
  110.  
  111.   return true;
  112. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement