ZhuCeJiDlg.cpp
上传用户:qzzxgm
上传日期:2009-12-14
资源大小:1882k
文件大小:3k
源码类别:

书籍源码

开发平台:

Visual C++

  1. // ZhuCeJiDlg.cpp : implementation file
  2. //
  3. #include "stdafx.h"
  4. #include "ZhuCeJi.h"
  5. #include "ZhuCeJiDlg.h"
  6. #ifdef _DEBUG
  7. #define new DEBUG_NEW
  8. #undef THIS_FILE
  9. static char THIS_FILE[] = __FILE__;
  10. #endif
  11. /////////////////////////////////////////////////////////////////////////////
  12. // CZhuCeJiDlg dialog
  13. CZhuCeJiDlg::CZhuCeJiDlg(CWnd* pParent /*=NULL*/)
  14. : CDialog(CZhuCeJiDlg::IDD, pParent)
  15. {
  16. //{{AFX_DATA_INIT(CZhuCeJiDlg)
  17. m_gkh = 0;
  18. m_jms = 0;
  19. //}}AFX_DATA_INIT
  20. // Note that LoadIcon does not require a subsequent DestroyIcon in Win32
  21. m_hIcon = AfxGetApp()->LoadIcon(IDR_MAINFRAME);
  22. }
  23. void CZhuCeJiDlg::DoDataExchange(CDataExchange* pDX)
  24. {
  25. CDialog::DoDataExchange(pDX);
  26. //{{AFX_DATA_MAP(CZhuCeJiDlg)
  27. DDX_Text(pDX, IDC_EDIT1, m_gkh);
  28. DDX_Text(pDX, IDC_EDIT2, m_jms);
  29. //}}AFX_DATA_MAP
  30. }
  31. BEGIN_MESSAGE_MAP(CZhuCeJiDlg, CDialog)
  32. //{{AFX_MSG_MAP(CZhuCeJiDlg)
  33. ON_WM_PAINT()
  34. ON_WM_QUERYDRAGICON()
  35. ON_BN_CLICKED(IDC_BUTTON1, OnJieMi)
  36. //}}AFX_MSG_MAP
  37. END_MESSAGE_MAP()
  38. /////////////////////////////////////////////////////////////////////////////
  39. // CZhuCeJiDlg message handlers
  40. BOOL CZhuCeJiDlg::OnInitDialog()
  41. {
  42. CDialog::OnInitDialog();
  43. // Set the icon for this dialog.  The framework does this automatically
  44. //  when the application's main window is not a dialog
  45. SetIcon(m_hIcon, TRUE); // Set big icon
  46. SetIcon(m_hIcon, FALSE); // Set small icon
  47. DWORD VolumeSerialNumber;
  48. GetVolumeInformation("c:\",NULL,12,&VolumeSerialNumber,NULL,NULL,NULL,10);
  49. char pNum[10];
  50. itoa(VolumeSerialNumber,pNum,16);
  51. VolumeSerialNumber^=0x12345678;
  52. m_gkh=VolumeSerialNumber;
  53. UpdateData(0);
  54. return TRUE;  // return TRUE  unless you set the focus to a control
  55. }
  56. // If you add a minimize button to your dialog, you will need the code below
  57. //  to draw the icon.  For MFC applications using the document/view model,
  58. //  this is automatically done for you by the framework.
  59. void CZhuCeJiDlg::OnPaint() 
  60. {
  61. if (IsIconic())
  62. {
  63. CPaintDC dc(this); // device context for painting
  64. SendMessage(WM_ICONERASEBKGND, (WPARAM) dc.GetSafeHdc(), 0);
  65. // Center icon in client rectangle
  66. int cxIcon = GetSystemMetrics(SM_CXICON);
  67. int cyIcon = GetSystemMetrics(SM_CYICON);
  68. CRect rect;
  69. GetClientRect(&rect);
  70. int x = (rect.Width() - cxIcon + 1) / 2;
  71. int y = (rect.Height() - cyIcon + 1) / 2;
  72. // Draw the icon
  73. dc.DrawIcon(x, y, m_hIcon);
  74. }
  75. else
  76. {
  77. CDialog::OnPaint();
  78. }
  79. }
  80. // The system calls this to obtain the cursor to display while the user drags
  81. //  the minimized window.
  82. HCURSOR CZhuCeJiDlg::OnQueryDragIcon()
  83. {
  84. return (HCURSOR) m_hIcon;
  85. }
  86. void CZhuCeJiDlg::OnJieMi() 
  87. {
  88. //在你要加密的文件play.exe末部改写解密匙.
  89. long num;
  90. UpdateData(1);
  91. num=m_jms;
  92. num^=0x1999aa98;
  93. if(num==m_gkh)
  94. MessageBox("ok");//提示解密匙正确
  95. CFile ff;
  96. if(!ff.Open("play.exe",CFile::modeWrite))
  97. return;
  98. CString str;
  99. str.Format("%10d",m_jms);
  100. MessageBox(str);
  101. ff.Seek(-10,CFile::end);
  102. ff.Write(str,10); //改写解密匙
  103. ff.Close();
  104. }