backup.h
上传用户:dzyhzl
上传日期:2019-04-29
资源大小:56270k
文件大小:2k
源码类别:

模拟服务器

开发平台:

C/C++

  1. /********************************************************************
  2. created: 2003/05/05
  3. file base: backup
  4. file ext: h
  5. author: liupeng
  6. purpose:
  7. *********************************************************************/
  8. #ifndef __INCLUDE_BACKUP_H__
  9. #define __INCLUDE_BACKUP_H__
  10. #ifdef USE_THIS
  11. enum enumBaseValue
  12. {
  13. _enumLoginState = 0x10,
  14. };
  15. enum enumLoginState
  16. {
  17. enumLoginBase = _enumLoginState,
  18. enumLoginEnter,
  19. enumLoginLeave
  20. };
  21. /*
  22.  * Log on to system
  23.  */
  24. bool LoginSystem( HINSTANCE hInstance, UINT nState /* enumLoginState */ )
  25. {
  26. static HWND hLoginDlg = NULL;
  27. if ( enumLoginEnter == nState )
  28. {
  29. if ( !hLoginDlg || !::IsWindow( hLoginDlg ) )
  30. {
  31. hLoginDlg = ::CreateDialog( hInstance, 
  32. MAKEINTRESOURCE( IDD_DLG_LOGIN ),
  33. NULL,
  34. ( DLGPROC )LoginDlgProc );
  35. if ( !hLoginDlg || !::IsWindow( hLoginDlg ) )
  36. {
  37. return false;
  38. }
  39. ::ShowWindow( hLoginDlg, SW_SHOW );
  40. ::UpdateWindow( hLoginDlg );
  41. }
  42. }
  43. else if ( enumLoginLeave == nState )
  44. {
  45. if ( hLoginDlg && ::IsWindow( hLoginDlg ) )
  46. {
  47. ::PostMessage( hLoginDlg, WM_COMMAND, MAKEWORD( IDCANCEL, 0 ), 0L );
  48. }
  49. }
  50. else
  51. {
  52. ASSERT( FALSE );
  53. return false;
  54. }
  55. return true;
  56. }
  57. BOOL CALLBACK LoginDlgProc(HWND hwndDlg, UINT message, WPARAM wParam, LPARAM lParam)
  58. {
  59.     switch ( message )
  60.     {
  61.         case WM_INITDIALOG:
  62. ::MessageBox( hwndDlg, "ENTER", "INFO", MB_OK );
  63.             return TRUE; 
  64.  
  65.         case WM_COMMAND: 
  66.             switch ( LOWORD( wParam ) ) 
  67.             { 
  68.                 case IDOK: 
  69.                     /*
  70.  * Notify the owner window to carry out the task. 
  71.  */
  72.  
  73.                     return TRUE; 
  74.  
  75.                 case IDCANCEL: 
  76. ::MessageBox( hwndDlg, "LEAVE", "INFO", MB_OK ); 
  77.                     ::DestroyWindow( hwndDlg ); 
  78.                     return TRUE; 
  79.             } 
  80.     } 
  81. return FALSE;
  82. }
  83. #endif // USE_THIS
  84. #endif // __INCLUDE_BACKUP_H__