网站导航网学 原创论文 原创专题 网站设计 最新系统 原创论文 论文降重 发表论文 论文发表 UI设计定制 论文答辩PPT格式排版 期刊发表 论文专题
返回网学首页
网学原创论文
最新论文 推荐专题 热门论文 论文专题
当前位置: 网学 > 交易代码 > 课程设计 > 正文

密码体制MFC

论文降重修改服务、格式排版等 获取论文 论文降重及排版 论文发表 相关服务
密码体制MFC
课程设计主题:密码体制.
运行环境:Microsoft  Visual  Studio.NET 2003
代码量: 511行
功能介绍:
1本系统分为以下几个功能块:
a)        Hash 的使用
b)        恺撒密码体制
c)        对称密码体制
d)       非对称密码体制
(1).Hash的使用:
²   输入任意长度的数据输出相同长度的Hash代码,
² SHA1 Hash函数总是生成20个字节长度的Hash代码,
² MD5 Hash函数总是生成16个字节长度的Hash代码
(2).恺撒密码体制:
   该模块通过恺撒密码体制对数据为进行加密和解密(只能对字母进行加解密对于其他字符无加密效果)
  加密
  解密
  打开要加解密的文件
  保存加解密结果
  清零
  关闭
(3).对称密码体制:
通过支持托管扩展使用DES的私钥进行加解密
此项目把私钥固定为“KeyAbcGG”
通过选择你要加密的文件进行加密,选择.enc文件进行解密,但解密时数据文本框中不能显示中文,列表框显示加解密情况。
(4).非对称密码体制:
    通过支持托管扩展使用RSA对数据进行加密
a)   输入数据并对数据进行加密和保存
b)  从文件中打开并进行解密                                                                                                                
公私钥对由RSACrypttoServiceProvider实例化生成88
 
密码体制MFC
================================================================================    MICROSOFT 基础类库: 0408008404 项目概述===============================================================================
应用程序向导已为您创建了此 0408008404 应用程序。此应用程序不仅介绍了使用 Microsoft 基础类的基本知识,而且是编写应用程序的起点。
此文件包含组成 0408008404 应用程序的每个文件的内容摘要。
0408008404.vcproj    这是使用“应用程序向导”生成的 VC++ 项目的主项目文件。     它包含有关生成文件的 Visual C++ 版本的信息,以及    有关用“应用程序向导”所选择的平台、配置和    项目功能的信息。
0408008404.h    这是应用程序的主头文件。  它包含其他    项目特定的头文件(包括 Resource.h),并声明    CMyApp 应用程序类。
0408008404.cpp    这是包含应用程序    类 CMyApp 的主应用程序源文件。
0408008404.rc    这是程序使用的所有 Microsoft Windows 资源    的列表。  它包含存储在 RES 子目录中    的图标、位图和光标。  可直接在 Microsoft     Visual C++ 中编辑此文件。 项目资源包含在 2052 中。
res\My.ico    这是一个图标文件,用作应用程序的图标。  此    图标包含在主资源文件 0408008404.rc 中。
res\My.rc2    此文件包含不由 Microsoft     Visual C++ 编辑的资源。 应将所有不能由    资源编辑器编辑的资源放在此文件中。
/////////////////////////////////////////////////////////////////////////////
应用程序向导将创建一个对话框类:0408008404Dlg.h、0408008404Dlg.cpp - 对话框    这些文件包含 CMyDlg 类。  此类定义    应用程序主对话框的行为。  此对话框的模板包含在     0408008404.rc 中,而此文件可以在 Microsoft Visual C++ 中进行编辑。/////////////////////////////////////////////////////////////////////////////
其他功能:
ActiveX 控件    应用程序支持使用 ActiveX 控件。
打印支持和打印预览支持    应用程序向导已生成了一些代码,通过从 MFC 库调用 CView 类中的成员函数来    处理打印、打印设置和打印预览命令。/////////////////////////////////////////////////////////////////////////////
其他标准文件:
StdAfx.h、StdAfx.cpp    这些文件用于生成名为 0408008404.pch 的预编译头文件 (PCH)    和名为 StdAfx.obj 的预编译类型文件。
Resource.h    这是标准头文件,它定义新资源 ID。    Microsoft Visual C++ 将读取并更新此文件。
/////////////////////////////////////////////////////////////////////////////
其他说明:
应用程序向导使用“TODO:” 来指示应添加或自定义的源代码部分。
如果应用程序在共享 DLL 中使用 MFC,且应用程序使用的语言不是操作系统的当前语言,则需要从 Microsoft Visual C++ 光盘上 Win\System 目录下将相应的本地化资源 MFC70XXX.DLL 复制到计算机的 system 或 system32 目录下,并将其重命名为 MFCLOC.DLL。  (“XXX”代表语言缩写。  例如,MFC70DEU.DLL 包含翻译成德语的资源。)  如果不这样做,应用程序的某些 UI 元素将保留为操作系统的语言。
 

密码体制MFC// duicheng.cpp : 实现文件//
#include "stdafx.h"#include "0408008404.h"#include "duicheng.h"#include ".\duicheng.h"
// duicheng 对话框
IMPLEMENT_DYNAMIC(duicheng, CDialog)duicheng::duicheng(CWnd* pParent /*=NULL*/) : CDialog(duicheng::IDD, pParent) , m_strFileName(_T("")) , m_strFileContents(_T("")){ TCHAR buff[MAX_PATH]; GetModuleFileName(NULL,buff,MAX_PATH);m_strWorkingDir=System::IO::Path::GetDirectoryName(buff);}
duicheng::~duicheng(){}
void duicheng::DoDataExchange(CDataExchange* pDX){ CDialog::DoDataExchange(pDX); DDX_Text(pDX, IDC_EDIT1, m_strFileName); DDX_Control(pDX, IDC_EDIT1, m_edtFileName); DDX_Text(pDX, IDC_EDIT2, m_strFileContents); DDX_Control(pDX, IDC_LIST3, m_lbxStatus);}
BEGIN_MESSAGE_MAP(duicheng, CDialog) ON_BN_CLICKED(IDC_BUTTON1, OnBnClickedButton1) ON_BN_CLICKED(IDC_Encrypt, OnBnClickedEncrypt) ON_BN_CLICKED(IDCANCEL, OnBnClickedCancel) ON_BN_CLICKED(IDC_Decrypt, OnBnClickedDecrypt)END_MESSAGE_MAP()
// duicheng 消息处理程序
void duicheng::OnBnClickedButton1(){UpdateData();  CFileDialog dlg(TRUE);  dlg.m_ofn.lpstrInitialDir = m_strWorkingDir;  dlg.m_ofn.lpstrFilter =     _T("Text Files (*.txt)\0*.txt\0"    "Encrypted Files (*.enc)\0*.enc\0"    "Decrypted Files (*.dec)\0*.dec\0"    "All Files (*.*)\0*.*\0"  );
  if (IDOK == dlg.DoModal())  {    m_strFileName = dlg.GetPathName();    UpdateData(FALSE);     m_edtFileName.SetSel(m_strFileName.GetLength(),                          m_strFileName.GetLength(),                          FALSE);  }}
void duicheng::OnBnClickedCancel(){DestroyWindow();delete this;}void  EncryptFile(String* inputFileName,String* outputFileName){#pragma push_macro("new")#undef new  CryptoStream *cryptoStream;  FileStream* outputFileStream;  FileStream* inputFileStream;
  try  {    String* keyString = S"KeyAbcGG";    Byte keyByteArray[] = Text::Encoding::Default->GetBytes(keyString);   inputFileStream = new FileStream(inputFileName,                         FileMode::Open,                          FileAccess::Read);
   outputFileStream  = new FileStream(outputFileName,                          FileMode::Create,                           FileAccess::Write);    DESCryptoServiceProvider *serviceProvider =      new DESCryptoServiceProvider();    ICryptoTransform* encryptor =      serviceProvider->CreateEncryptor(keyByteArray,keyByteArray);   cryptoStream = new CryptoStream(outputFileStream,                                    encryptor,                                     CryptoStreamMode::Write);      Byte bytesread[] = new Byte[129];   while(int n = inputFileStream->Read(bytesread, 0, 128))   {    cryptoStream->Write(bytesread, 0, n);   }  }  catch(Exception* e)  {   throw e;  }  __finally  {   cryptoStream->Close();   outputFileStream->Close();   inputFileStream->Close();       }#pragma pop_macro("new")}
 
void duicheng::OnBnClickedEncrypt(){#pragma push_macro("new")#undef new  CWaitCursor wc;
  UpdateData();  if (0 < m_strFileName.GetLength())  {       FileStream* pFS;     try    {      CString strStatus;      m_strFileContents = _T("");
      CString strOutputFile = m_strFileName;      if (0 == strOutputFile.Right(4).CompareNoCase(_T(".dec")))      {        strOutputFile =           strOutputFile.Left(strOutputFile.GetLength() - 4)           + _T(".enc");      }      else      {        strOutputFile += _T(".enc");      }
      strStatus.Format(_T("Encrypting file %s"), m_strFileName);      EncryptFile(m_strFileName, strOutputFile);            strStatus.Format(_T("%s successfully encrypted to file %s"),                       m_strFileName,                       strOutputFile);      m_lbxStatus.InsertString(0, strStatus);      m_lbxStatus.InsertString(0, _T("Attempting to read newly "        "encrypted file"));
      pFS = new FileStream(strOutputFile,                            FileMode::Open,                           FileAccess::Read);            if (pFS->CanRead)      {        Byte buffer __gc[] = new Byte __gc[pFS->Length];        pFS->Read(buffer, 0, buffer->Length);
        for (int i = 0; i < buffer->Length; i++)        {          CString c;          c.Format(_T("%02x "), buffer[i]);          m_strFileContents += c;        }        m_lbxStatus.InsertString(0, _T("Data read back and displayed"));        m_strFileName = strOutputFile;      }                }    catch(Exception* e)    {      m_lbxStatus.InsertString(0, (CString)e->Message);    }    __finally    {      pFS->Close();    }        UpdateData(FALSE);  }  else  {    MessageBox::Show(S"You must supply an input file name.");  }#pragma pop_macro("new")}
 
void DecryptFile(String* inputFileName,String* outputFileName){#pragma push_macro("new")#undef new  CryptoStream *cryptoStream;  FileStream* outputFileStream;  FileStream* inputFileStream;
  try  {    String* keyString = S"KeyAbcGG";    Byte keyByteArray[] = Text::Encoding::Default->GetBytes(keyString);   inputFileStream = new FileStream(inputFileName,                                     FileMode::Open,                                      FileAccess::Read);
   outputFileStream = new FileStream(outputFileName,                         FileMode::Create,                          FileAccess::Write);   DESCryptoServiceProvider* serviceProvider =       new DESCryptoServiceProvider();    ICryptoTransform* decryptor =      serviceProvider->CreateDecryptor(keyByteArray, keyByteArray);   cryptoStream = new CryptoStream(inputFileStream,                                    decryptor,                                    CryptoStreamMode::Read);
   Byte bytesRead[] = new Byte[129];   while(int n = cryptoStream->Read(bytesRead, 0, 128))   {     outputFileStream->Write(bytesRead,0,n);   }     }  catch(Exception* e)  {   throw e;  }  __finally  {    cryptoStream->Close();   outputFileStream->Close();   inputFileStream->Close();  }#pragma pop_macro("new")
}
void duicheng::OnBnClickedDecrypt(){#pragma push_macro("new")#undef new  CWaitCursor wc;
  UpdateData();  if (0 < m_strFileName.GetLength())  {    StreamReader* pSR;    try    {      CString strStatus;      m_strFileContents = _T("");            CString strOutputFile = m_strFileName;      if (0 == strOutputFile.Right(4).CompareNoCase(_T(".enc")))      {        strOutputFile =           strOutputFile.Left(strOutputFile.GetLength() - 4)           + _T(".dec");      }      else      {        strOutputFile += _T(".dec");      }
      strStatus.Format(_T("Decrypting file %s"), m_strFileName);      DecryptFile(m_strFileName, strOutputFile);            strStatus.Format(_T("%s successfully decrypted to file %s"),                       m_strFileName,                       strOutputFile);      m_lbxStatus.InsertString(0, strStatus);
      m_lbxStatus.InsertString(0, _T("Attempting to read "        "newly decrypted file"));
      pSR = new StreamReader(strOutputFile);
      CString strCurrLine;
      while (0 < pSR->Peek())      {        strCurrLine = pSR->ReadLine();        m_strFileContents += strCurrLine;        m_strFileContents += _T("\r\n");      }
      m_lbxStatus.InsertString(0, _T("Data read back and displayed"));      m_strFileName = strOutputFile;    }    catch(Exception* e)    {      m_lbxStatus.InsertString(0, (CString)e->Message);若图片无法显示请联系QQ3710167,密码体制MFC系统免费,转发请注明源于www.lwfree.cn    }        file name.");  }#pragma pop_macro("new")}// HashCode.cpp : 实现文件//
#include "stdafx.h"#include "0408008404.h"#include "HashCode.h"#include ".\hashcode.h"
// CHashCode 对话框
IMPLEMENT_DYNAMIC(CHashCode, CDialog)CHashCode::CHashCode(CWnd* pParent /*=NULL*/) : CDialog(CHashCode::IDD, pParent) , m_strInputData(_T("")) , m_iStart(0) , m_iLength(0) , m_strSHA1Hash(_T("")) , m_strMD5Hash(_T("")) , m_strMD5HashSubstring(_T("")){}
CHashCode::~CHashCode(){}
void CHashCode::DoDataExchange(CDataExchange* pDX){ CDialog::DoDataExchange(pDX); DDX_Text(pDX, IDC_EDIT1, m_strInputData); DDX_Text(pDX, IDC_EDIT2, m_iStart); DDX_Text(pDX, IDC_EDIT3, m_iLength); DDX_Text(pDX, IDC_EDIT4, m_strSHA1Hash); DDX_Text(pDX, IDC_EDIT5, m_strMD5Hash); DDX_Text(pDX, IDC_EDIT6, m_strMD5HashSubstring);}
BEGIN_MESSAGE_MAP(CHashCode, CDialog) ON_BN_CLICKED(IDCANCEL, OnBnClickedCancel) ON_BN_CLICKED(IDOK, OnBnClickedOk)END_MESSAGE_MAP()
// CHashCode 消息处理程序
void CHashCode::OnBnClickedCancel(){DestroyWindow();delete this;}
void CHashCode::OnBnClickedOk(){#pragma push_macro("new")#undef newtry{if(UpdateData()){try{m_strSHA1Hash=_T("");m_strMD5Hash=_T("");m_strMD5HashSubstring=_T("");UpdateData(FALSE);Byte barr[]=new Byte[m_strInputData.GetLength()];for(int i=0; i(m_strInputData[i]);SHA1CryptoServiceProvider* csp1=new SHA1CryptoServiceProvider();MD5CryptoServiceProvider* csp2=new MD5CryptoServiceProvider();Byte hash[];
hash=csp1->ComputeHash(barr);m_strSHA1Hash=(CString)BitConverter::ToString(hash);
hash=csp2->ComputeHash(barr);m_strMD5Hash=(CString)BitConverter::ToString(hash);
hash=csp2->ComputeHash(barr,m_iStart,m_iLength);m_strMD5HashSubstring=(CString)BitConverter::ToString(hash);} MessageBox::Show(e->Message);}#pragma pop_macro("new")}
 

密码体制MFC// kaisa.cpp : 实现文件//
#include "stdafx.h"#include "0408008404.h"#include "kaisa.h"#include ".\kaisa.h"
// kaisa 对话框
IMPLEMENT_DYNAMIC(kaisa, CDialog)kaisa::kaisa(CWnd* pParent /*=NULL*/) : CDialog(kaisa::IDD, pParent) , m_ikey(0) , m_strInEdit(_T("")) , m_iCounter(0){}
kaisa::~kaisa(){}
void kaisa::DoDataExchange(CDataExchange* pDX){ CDialog::DoDataExchange(pDX); DDX_Text(pDX, IDC_EDIT1, m_ikey); DDX_Text(pDX, IDC_EDIT2, m_strInEdit); DDX_Text(pDX, IDC_COUNT, m_iCounter);}
BEGIN_MESSAGE_MAP(kaisa, CDialog) ON_BN_CLICKED(ID_CODE, OnBnClickedCode) ON_BN_CLICKED(ID_UNCODE, OnBnClickedUncode) ON_BN_CLICKED(ID_DISPLAY, OnBnClickedDisplay) ON_BN_CLICKED(ID_SAVE, OnBnClickedSave) ON_BN_CLICKED(ID_CLEAR, OnBnClickedClear) ON_BN_CLICKED(ID_CLOSE, OnBnClickedClose)END_MESSAGE_MAP()
// kaisa 消息处理程序
void kaisa::OnBnClickedCode(){UpdateData(TRUE); int iFileLength; iFileLength=m_strInEdit.GetLength(); CString buff=m_strInEdit; if (m_strInEdit.IsEmpty ()) {MessageBox::Show ("明文不能为空!"); return; }
 for(int i=0;i='A'&&m_strInEdit[i]<='Z')m_strInEdit.SetAt(i,'A'+(m_strInEdit[i]-'A'+m_ikey)%26);            if(m_strInEdit[i]!=' '&&m_strInEdit[i]>='a'&&m_strInEdit[i]<='z')m_strInEdit.SetAt(i,'a'-32+(m_strInEdit[i]-'a'+m_ikey)%26);   }   m_iCounter++; UpdateData(FALSE);}
void kaisa::OnBnClickedUncode(){UpdateData(TRUE); int iFileLength; iFileLength=m_strInEdit.GetLength(); CString buff=m_strInEdit; if (m_strInEdit.IsEmpty ()) {MessageBox::Show("密文不能为空!"); return; } for(int i=0;i='A'&&m_strInEdit[i]<='Z')   m_strInEdit.SetAt(i,('Z'-('Z'-m_strInEdit[i]+m_ikey%26)%26)+32);   else  if(m_strInEdit[i]!=' '&&m_strInEdit[i]>='a'&&m_strInEdit[i]<='z')     m_strInEdit.SetAt(i,'z'-('z'-m_strInEdit[i]+m_ikey)%26);   } m_iCounter--; UpdateData(FALSE);}
void kaisa::OnBnClickedDisplay(){CFileDialog FileDlg(TRUE,_T("txt"),NULL,OFN_HIDEREADONLY | OFN_OVERWRITEPROMPT,  _T("Text Files(*.txt)|*.txt|All Files(*.*)|*.*||")); if(FileDlg.DoModal()==IDOK) {  CString strPath=FileDlg.GetPathName();  CFile file;  file.Open(strPath, CFile::modeRead);
  CString strFlag("thanks for your use");  char strHead[80];  file.Read(strHead,strFlag.GetLength());  strHead[strFlag.GetLength()]='\0';  if(strFlag!=CString(strHead))  {   int iFileLength=file.GetLength();   BYTE *buff=(BYTE *)(new char[iFileLength+1]);   file.SeekToBegin();   file.Read(buff,iFileLength);   *((char *)buff+iFileLength)='\0';   file.Close();   m_strInEdit=buff;   m_iCounter=0;   UpdateData(FALSE);   delete buff;  }  else  {   file.Read(&m_iCounter,sizeof(int));   CString strText;   while(file.GetPosition()!=file.GetLength())   {    char ch;    file.Read(&ch,1);    strText+=ch;   }   m_strInEdit=strText;   UpdateData(FALSE);  } }}
void kaisa::OnBnClickedSave(){UpdateData(TRUE); CFileDialog FileDlg(FALSE,_T("cod"),NULL,OFN_HIDEREADONLY | OFN_OVERWRITEPROMPT,  _T("Text Files(*.txt)|*.txt|All Files(*.*)|*.*||"));
 if(FileDlg.DoModal()==IDOK) {  CString strPath=FileDlg.GetPathName();  CFile fileCoded;  fileCoded.Open(strPath,CFile::modeCreate|CFile::modeWrite);  int iLength;  iLength=m_strInEdit.GetLength();  if(m_iCounter==0)   fileCoded.Write((LPCTSTR)m_strInEdit,iLength);  else  {   CString strFlag("The encoded text is :");   fileCoded.Write((LPCTSTR)strFlag,strFlag.GetLength());   fileCoded.Write(&m_iCounter,sizeof(int));   fileCoded.Write((LPCTSTR)m_strInEdit,iLength);  }  fileCoded.Close(); }}
void kaisa::OnBnClickedClear(){ DestroyWindow();delete this;}// 0408008404Dlg.cpp : 实现文件//
#include "stdafx.h"#include "0408008404.h"#include "0408008404Dlg.h"#include ".\0408008404dlg.h"#include "HashCode.h"#include "duicheng.h"#include "kaisa.h"#include "Rsa.h"#ifdef _DEBUG#define new DEBUG_NEW#endif//CString m_strWorkingDir;
// 用于应用程序“关于”菜单项的 CAboutDlg 对话框
class CAboutDlg : public CDialog{public: CAboutDlg();
// 对话框数据 enum { IDD = IDD_ABOUTBOX };
 protected: virtual void DoDataExchange(CDataExchange* pDX);    // DDX/DDV 支持
// 实现protected: DECLARE_MESSAGE_MAP()};
CAboutDlg::CAboutDlg() : CDialog(CAboutDlg::IDD){}
void CAboutDlg::DoDataExchange(CDataExchange* pDX){ CDialog::DoDataExchange(pDX);}
BEGIN_MESSAGE_MAP(CAboutDlg, CDialog)END_MESSAGE_MAP()
// CMyDlg 对话框
 
CMyDlg::CMyDlg(CWnd* pParent /*=NULL*/) : CDialog(CMyDlg::IDD, pParent){ m_hIcon = AfxGetApp()->LoadIcon(IDR_MAINFRAME);}
void CMyDlg::DoDataExchange(CDataExchange* pDX){ CDialog::DoDataExchange(pDX);}
BEGIN_MESSAGE_MAP(CMyDlg, CDialog) ON_WM_SYSCOMMAND() ON_WM_PAINT() ON_WM_QUERYDRAGICON() //}}AFX_MSG_MAP ON_BN_CLICKED(IDC_BUTTON1, OnBnClickedButton1) ON_BN_CLICKED(IDC_BUTTON2, OnBnClickedButton2) ON_BN_CLICKED(IDC_BUTTON3, OnBnClickedButton3) ON_BN_CLICKED(IDC_BUTTON4, OnBnClickedButton4)END_MESSAGE_MAP()
// CMyDlg 消息处理程序
BOOL CMyDlg::OnInitDialog(){ CDialog::OnInitDialog();
 // 将\“关于...\”菜单项添加到系统菜单中。
 // IDM_ABOUTBOX 必须在系统命令范围内。 ASSERT((IDM_ABOUTBOX & 0xFFF0) == IDM_ABOUTBOX); ASSERT(IDM_ABOUTBOX < 0xF000);
 CMenu* pSysMenu = GetSystemMenu(FALSE); if (pSysMenu != NULL) {  CString strAboutMenu;  strAboutMenu.LoadString(IDS_ABOUTBOX);  if (!strAboutMenu.IsEmpty())  {   pSysMenu->AppendMenu(MF_SEPARATOR);   pSysMenu->AppendMenu(MF_STRING, IDM_ABOUTBOX, strAboutMenu);  } }
 // 设置此对话框的图标。当应用程序主窗口不是对话框时,框架将自动 //  执行此操作 SetIcon(m_hIcon, TRUE);   // 设置大图标 SetIcon(m_hIcon, FALSE);  // 设置小图标//TCHAR buff[MAX_PATH]; //GetModuleFileName(NULL,buff,MAX_PATH);//m_strWorkingDir=System::IO::Path::GetDirectoryName(buff);     return TRUE;  // 除非设置了控件的焦点,否则返回 TRUE}
void CMyDlg::OnSysCommand(UINT nID, LPARAM lParam){ if ((nID & 0xFFF0) == IDM_ABOUTBOX) {  CAboutDlg dlgAbout;  dlgAbout.DoModal(); } else {  CDialog::OnSysCommand(nID, lParam); }}
// 如果向对话框添加最小化按钮,则需要下面的代码//  来绘制该图标。对于使用文档/视图模型的 MFC 应用程序,//  这将由框架自动完成。
void CMyDlg::OnPaint() { if (IsIconic()) {  CPaintDC dc(this); // 用于绘制的设备上下文
  SendMessage(WM_ICONERASEBKGND, reinterpret_cast(dc.GetSafeHdc()), 0);
  // 使图标在工作矩形中居中  int cxIcon = GetSystemMetrics(SM_CXICON);  int cyIcon = GetSystemMetrics(SM_CYICON);  CRect rect;  GetClientRect(&rect);  int x = (rect.Width() - cxIcon + 1) / 2;  int y = (rect.Height() - cyIcon + 1) / 2;
  // 绘制图标  dc.DrawIcon(x, y, m_hIcon); } else {  CDialog::OnPaint(); }}
//当用户拖动最小化窗口时系统调用此函数取得光标显示。HCURSOR CMyDlg::OnQueryDragIcon(){ return static_cast(m_hIcon);}
void CMyDlg::OnBnClickedButton1(){CHashCode *dlg=new CHashCode;dlg->Create(IDD_DIALOG1);dlg->ShowWindow(SW_NORMAL);}
void CMyDlg::OnBnClickedButton2(){duicheng *dlg=new duicheng;dlg->Create(IDD_DIALOG2);dlg->ShowWindow(SW_NORMAL);}
void CMyDlg::OnBnClickedButton3(){kaisa *dlg=new kaisa;dlg->Create(IDD_DIALOG3);dlg->ShowWindow(SW_NORMAL);}
void CMyDlg::OnBnClickedButton4(){ Rsa *dlg=new Rsa;dlg->Create(IDD_DIALOG4);dlg->ShowWindow(SW_NORMAL);}// 0408008404.cpp : 定义应用程序的类行为。//
#include "stdafx.h"#include "0408008404.h"#include "0408008404Dlg.h"
#ifdef _DEBUG#define new DEBUG_NEW#endif
// CMyApp
BEGIN_MESSAGE_MAP(CMyApp, CWinApp) ON_COMMAND(ID_HELP, CWinApp::OnHelp)END_MESSAGE_MAP()
// CMyApp 构造
CMyApp::CMyApp(){ // TODO: 在此处添加构造代码, // 将所有重要的初始化放置在 InitInstance 中}
// 唯一的一个 CMyApp 对象
CMyApp theApp;
// CMyApp 初始化
BOOL CMyApp::InitInstance(){ // 如果一个运行在 Windows XP 上的应用程序清单指定要 // 使用 ComCtl32.dll 版本 6 或更高版本来启用可视化方式, //则需要 InitCommonControls()。否则,将无法创建窗口。 InitCommonControls();
 CWinApp::InitInstance();
 AfxEnableControlContainer();
 // 标准初始化 // 如果未使用这些功能并希望减小 // 最终可执行文件的大小,则应移除下列 // 不需要的特定初始化例程 // 更改用于存储设置的注册表项 // TODO: 应适当修改该字符串, // 例如修改为公司或组织名 SetRegistryKey(_T("应用程序向导生成的本地应用程序"));
 CMyDlg dlg; m_pMainWnd = &dlg; INT_PTR nResponse = dlg.DoModal(); if (nResponse == IDOK) }
 // 由于对话框已关闭,所以将返回 FALSE 以便退出应用程序, // 而不是启动应用程序的消息泵。 return FALSE;}
  • 上一篇资讯: JSP留言簿系统无版权
  • 下一篇资讯: JSP+mysql电子购物商城
  • 设为首页 | 加入收藏 | 网学首页 | 原创论文 | 计算机原创
    版权所有 网学网 [Myeducs.cn] 您电脑的分辨率是 像素
    Copyright 2008-2020 myeducs.Cn www.myeducs.Cn All Rights Reserved 湘ICP备09003080号 常年法律顾问:王律师