⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 pcout.cpp

📁 有关树WDM 驱动的编程.里面包含了许多实例,学习硬件的可以参考哦
💻 CPP
📖 第 1 页 / 共 3 页
字号:
// pcout.cpp : implementation file
//

#include "stdafx.h"
#include "pctest.h"
#include "pcout.h"
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif
WNDPROC   m_db0,m_db1,m_db2,m_db3,m_db4,m_db5,m_db6,m_db7,m_db8,m_db9,m_dba,m_dbb,m_dbc,m_dbd,m_dbe,m_dbf,m_db17;
/////////////////////////////////////////////////////////////////////////////
// Cpcout dialog


Cpcout::Cpcout(CWnd* pParent /*=NULL*/)
	: CDialog(Cpcout::IDD, pParent)
{
	//{{AFX_DATA_INIT(Cpcout)
	m_char = _T("");
	//}}AFX_DATA_INIT
}


void Cpcout::DoDataExchange(CDataExchange* pDX)
{
	CDialog::DoDataExchange(pDX);
	//{{AFX_DATA_MAP(Cpcout)
	DDX_Control(pDX, IDC_BUTTON16, m_b16);
	DDX_Control(pDX, IDC_BUTTON15, m_b15);
	DDX_Control(pDX, IDC_BUTTON14, m_b14);
	DDX_Control(pDX, IDC_BUTTON13, m_b13);
	DDX_Control(pDX, IDC_BUTTON12, m_b12);
	DDX_Control(pDX, IDC_BUTTON11, m_b11);
	DDX_Control(pDX, IDC_BUTTON10, m_b10);
	DDX_Control(pDX, IDC_BUTTON9, m_b9);
	DDX_Control(pDX, IDC_BUTTON8, m_b8);
	DDX_Control(pDX, IDC_BUTTON7, m_b7);
	DDX_Control(pDX, IDC_BUTTON6, m_b6);
	DDX_Control(pDX, IDC_BUTTON5, m_b5);
	DDX_Control(pDX, IDC_BUTTON4, m_b4);
	DDX_Control(pDX, IDC_BUTTON3, m_b3);
	DDX_Control(pDX, IDC_BUTTON2, m_b2);
	DDX_Control(pDX, IDC_BUTTON1, m_b1);
	DDX_Text(pDX, IDC_EDIT2, m_char);
	//}}AFX_DATA_MAP
}


BEGIN_MESSAGE_MAP(Cpcout, CDialog)
	//{{AFX_MSG_MAP(Cpcout)
	//}}AFX_MSG_MAP
	ON_MESSAGE(WM_USER+0x100,Zonebutton)
	ON_MESSAGE(WM_USER+0x101,Onebutton)
	ON_MESSAGE(WM_USER+0x102,Twobutton)
	ON_MESSAGE(WM_USER+0x103,Threebutton)
	ON_MESSAGE(WM_USER+0x104,Fourbutton)
	ON_MESSAGE(WM_USER+0x105,Fivebutton)
	ON_MESSAGE(WM_USER+0x106,Sixbutton)
	ON_MESSAGE(WM_USER+0x107,Sevenbutton)
	ON_MESSAGE(WM_USER+0x108,Eightbutton)
	ON_MESSAGE(WM_USER+0x109,Ninebutton)
	ON_MESSAGE(WM_USER+0x10a,Abutton)
	ON_MESSAGE(WM_USER+0x10b,Bbutton)
	ON_MESSAGE(WM_USER+0x10c,Cbutton)
	ON_MESSAGE(WM_USER+0x10d,Dbutton)
	ON_MESSAGE(WM_USER+0x10e,Ebutton)
	ON_MESSAGE(WM_USER+0x10f,Fbutton)
END_MESSAGE_MAP()

/////////////////////////////////////////////////////////////////////////////
// Cpcout message handlers
void Cpcout::OnCancel()
{CDialog::OnCancel();
}
BOOL Cpcout::OnInitDialog() 
{
	CDialog::OnInitDialog();
	
	// TODO: Add extra initialization here
	 m_db0=(WNDPROC)SetWindowLong(m_b1.GetSafeHwnd(),GWL_WNDPROC,(DWORD)WindowProc0);
m_db1=(WNDPROC)SetWindowLong(m_b2.GetSafeHwnd(),GWL_WNDPROC,
	   (DWORD)WindowProc1);
m_db2=(WNDPROC)SetWindowLong(m_b3.GetSafeHwnd(),GWL_WNDPROC,
	   (DWORD)WindowProc2);
m_db3=(WNDPROC)SetWindowLong(m_b4.GetSafeHwnd(),GWL_WNDPROC,
	   (DWORD)WindowProc3);
m_db4=(WNDPROC)SetWindowLong(m_b5.GetSafeHwnd(),GWL_WNDPROC,
	   (DWORD)WindowProc4);
m_db5=(WNDPROC)SetWindowLong(m_b6.GetSafeHwnd(),GWL_WNDPROC,
	   (DWORD)WindowProc5);
m_db6=(WNDPROC)SetWindowLong(m_b7.GetSafeHwnd(),GWL_WNDPROC,
	   (DWORD)WindowProc6);
m_db7=(WNDPROC)SetWindowLong(m_b8.GetSafeHwnd(),GWL_WNDPROC,
	   (DWORD)WindowProc7);
m_db8=(WNDPROC)SetWindowLong(m_b9.GetSafeHwnd(),GWL_WNDPROC,
	   (DWORD)WindowProc8);
m_db9=(WNDPROC)SetWindowLong(m_b10.GetSafeHwnd(),GWL_WNDPROC,
	   (DWORD)WindowProc9);
m_dba=(WNDPROC)SetWindowLong(m_b11.GetSafeHwnd(),GWL_WNDPROC,
	   (DWORD)WindowProcA);
m_dbb=(WNDPROC)SetWindowLong(m_b12.GetSafeHwnd(),GWL_WNDPROC,
	   (DWORD)WindowProcB);
m_dbc=(WNDPROC)SetWindowLong(m_b13.GetSafeHwnd(),GWL_WNDPROC,
	   (DWORD)WindowProcC);
m_dbd=(WNDPROC)SetWindowLong(m_b14.GetSafeHwnd(),GWL_WNDPROC,
	   (DWORD)WindowProcD);
m_dbe=(WNDPROC)SetWindowLong(m_b15.GetSafeHwnd(),GWL_WNDPROC,
	   (DWORD)WindowProcE);
m_dbf=(WNDPROC)SetWindowLong(m_b16.GetSafeHwnd(),GWL_WNDPROC,
	   (DWORD)WindowProcF);

	return TRUE;  // return TRUE unless you set the focus to a control
	              // EXCEPTION: OCX Property Pages should return FALSE
}
void Cpcout:: Zonebutton(WPARAM wparam,LPARAM lParam)
{
	m_b1.SendMessage(BM_SETSTATE,1,0);
	Sleep(50);
	m_b1.SendMessage(BM_SETSTATE,0,0);
	m_char="0";
	UpdateData(FALSE);
}
void Cpcout:: Onebutton(WPARAM wparam,LPARAM lParam)
{
	m_b2.SendMessage(BM_SETSTATE,1,0);
	Sleep(50);
	m_b2.SendMessage(BM_SETSTATE,0,0);
	m_char="1";
	UpdateData(FALSE);
}

void Cpcout:: Twobutton(WPARAM wparam,LPARAM lParam)
{
	m_b3.SendMessage(BM_SETSTATE,1,0);
	Sleep(50);
	m_b3.SendMessage(BM_SETSTATE,0,0);
	m_char="2";
	UpdateData(FALSE);
}
void Cpcout::Fourbutton(WPARAM wparam,LPARAM lParam)
{
	m_b5.SendMessage(BM_SETSTATE,1,0);
	Sleep(50);
	m_b5.SendMessage(BM_SETSTATE,0,0);
	m_char="4";
	UpdateData(FALSE);
}
void Cpcout:: Fivebutton(WPARAM wparam,LPARAM lParam)
{
	m_b6.SendMessage(BM_SETSTATE,1,0);
	Sleep(50);
	m_b6.SendMessage(BM_SETSTATE,0,0);
	m_char="5";
	UpdateData(FALSE);
}
void Cpcout:: Sixbutton(WPARAM wparam,LPARAM lParam)
{
	m_b7.SendMessage(BM_SETSTATE,1,0);
	Sleep(50);
	m_b7.SendMessage(BM_SETSTATE,0,0);
	m_char="6";
	UpdateData(FALSE);
}
void Cpcout:: Sevenbutton(WPARAM wparam,LPARAM lParam)
{
	m_b8.SendMessage(BM_SETSTATE,1,0);
	Sleep(50);
	m_b8.SendMessage(BM_SETSTATE,0,0);
	m_char="7";
	UpdateData(FALSE);
}
void Cpcout:: Eightbutton(WPARAM wparam,LPARAM lParam)
{
	m_b9.SendMessage(BM_SETSTATE,1,0);
	Sleep(50);
	m_b9.SendMessage(BM_SETSTATE,0,0);
	m_char="8";
	UpdateData(FALSE);
}
void Cpcout:: Threebutton(WPARAM wparam,LPARAM lParam)
{
	m_b4.SendMessage(BM_SETSTATE,1,0);
	Sleep(50);
	m_b4.SendMessage(BM_SETSTATE,0,0);
	m_char="3";
	UpdateData(FALSE);
}
void Cpcout:: Ninebutton(WPARAM wparam,LPARAM lParam)
{
	m_b10.SendMessage(BM_SETSTATE,1,0);
	Sleep(50);
	m_b10.SendMessage(BM_SETSTATE,0,0);
	m_char="9";
	UpdateData(FALSE);
}
void Cpcout:: Abutton(WPARAM wparam,LPARAM lParam)
{
	m_b11.SendMessage(BM_SETSTATE,1,0);
	Sleep(50);
	m_b11.SendMessage(BM_SETSTATE,0,0);
	m_char="A";
	UpdateData(FALSE);
}
void Cpcout:: Bbutton(WPARAM wparam,LPARAM lParam)
{
	m_b12.SendMessage(BM_SETSTATE,1,0);
	Sleep(50);
	m_b12.SendMessage(BM_SETSTATE,0,0);
	m_char="B";
	UpdateData(FALSE);
}
void Cpcout:: Cbutton(WPARAM wparam,LPARAM lParam)
{
	m_b13.SendMessage(BM_SETSTATE,1,0);
	Sleep(50);
	m_b13.SendMessage(BM_SETSTATE,0,0);
	m_char="C";
	UpdateData(FALSE);
}
void Cpcout:: Dbutton(WPARAM wparam,LPARAM lParam)
{
	m_b14.SendMessage(BM_SETSTATE,1,0);
	Sleep(50);
	m_b14.SendMessage(BM_SETSTATE,0,0);
	m_char="D";
	UpdateData(FALSE);
}
void Cpcout:: Ebutton(WPARAM wparam,LPARAM lParam)
{
	m_b15.SendMessage(BM_SETSTATE,1,0);
	Sleep(50);
	m_b15.SendMessage(BM_SETSTATE,0,0);
	m_char="E";
	UpdateData(FALSE);
}
void Cpcout:: Fbutton(WPARAM wparam,LPARAM lParam)
{
	m_b16.SendMessage(BM_SETSTATE,1,0);
	Sleep(50);
	m_b16.SendMessage(BM_SETSTATE,0,0);
	m_char="F";
	UpdateData(FALSE);
}
LRESULT  CALLBACK Cpcout:: WindowProc9(HWND hwnd,UINT iMsg,WPARAM wParam,LPARAM lParam)
{
	HWND  m_dialog;
	m_dialog=::GetParent(hwnd);
	ASSERT(m_dialog);
	switch(iMsg)
	{
	case WM_KEYDOWN:
		{
			if((int)wParam)
			{
				int a=wParam;
				switch(a)
				{
				case 96:
					::SendMessage (m_dialog,WM_USER+0x100,0,0);
					break;
				case 97:
					::SendMessage (m_dialog,WM_USER+0x101,0,0);
					break;
				case 98:
					::SendMessage (m_dialog,WM_USER+0x102,0,0);
					break;
				case 99:
					::SendMessage (m_dialog,WM_USER+0x103,0,0);
					break;
				case 100:
					::SendMessage (m_dialog,WM_USER+0x104,0,0);
					break;
				case 101:
					::SendMessage (m_dialog,WM_USER+0x105,0,0);
					break;
				case 102:
					::SendMessage (m_dialog,WM_USER+0x106,0,0);
					break;
				case 103:
					::SendMessage (m_dialog,WM_USER+0x107,0,0);
					break;
				case 104:
					::SendMessage (m_dialog,WM_USER+0x108,0,0);
					break;
				case 105:
					::SendMessage (m_dialog,WM_USER+0x109,0,0);
					break;
				case 48:
					::SendMessage (m_dialog,WM_USER+0x100,0,0);
					break;
				case 49:
					::SendMessage (m_dialog,WM_USER+0x101,0,0);
					break;
				case 50:
					::SendMessage (m_dialog,WM_USER+0x102,0,0);
					break;
				case 51:
					::SendMessage (m_dialog,WM_USER+0x103,0,0);
					break;
				case 52:
					::SendMessage (m_dialog,WM_USER+0x104,0,0);
					break;
				case 53:
					::SendMessage (m_dialog,WM_USER+0x105,0,0);
					break;
				case 54:
					::SendMessage (m_dialog,WM_USER+0x106,0,0);
					break;
				case 55:
					::SendMessage (m_dialog,WM_USER+0x107,0,0);
					break;
				case 56:
					::SendMessage (m_dialog,WM_USER+0x108,0,0);
					break;
				case 57:
					::SendMessage (m_dialog,WM_USER+0x109,0,0);
					break;
				case 65:
					::SendMessage (m_dialog,WM_USER+0x10a,0,0);
				   break;
				case 66:
					::SendMessage (m_dialog,WM_USER+0x10b,0,0);
					break;
				case 67:
					::SendMessage (m_dialog,WM_USER+0x10c,0,0);
					break;
				case 68:
					::SendMessage (m_dialog,WM_USER+0x10d,0,0);
					break;
				case 69:
					::SendMessage (m_dialog,WM_USER+0x10e,0,0);
					break;
				case 70:
					::SendMessage (m_dialog,WM_USER+0x10f,0,0);
					break;

                default:
					AfxMessageBox("请输入0-F数字");
				}

			}
		}
		break;
	}
		return CallWindowProc(m_db8,hwnd,iMsg,wParam,lParam);
}
LRESULT  CALLBACK Cpcout:: WindowProc0(HWND hwnd,UINT iMsg,WPARAM wParam,LPARAM lParam)
{
	HWND  m_dialog;
	m_dialog=::GetParent(hwnd);
	ASSERT(m_dialog);
	switch(iMsg)
	{
	case WM_KEYDOWN:
		{
			if((int)wParam)
			{
				int a=wParam;
				switch(a)
				{
				case 96:
					::SendMessage (m_dialog,WM_USER+0x100,0,0);
					break;
				case 97:
					::SendMessage (m_dialog,WM_USER+0x101,0,0);
					break;
				case 98:
					::SendMessage (m_dialog,WM_USER+0x102,0,0);
					break;
				case 99:
					::SendMessage (m_dialog,WM_USER+0x103,0,0);
					break;
				case 100:
					::SendMessage (m_dialog,WM_USER+0x104,0,0);
					break;
				case 101:
					::SendMessage (m_dialog,WM_USER+0x105,0,0);
					break;
				case 102:
					::SendMessage (m_dialog,WM_USER+0x106,0,0);
					break;
				case 103:
					::SendMessage (m_dialog,WM_USER+0x107,0,0);
					break;
				case 104:
					::SendMessage (m_dialog,WM_USER+0x108,0,0);
					break;
				case 105:
					::SendMessage (m_dialog,WM_USER+0x109,0,0);
					break;
				case 48:
					::SendMessage (m_dialog,WM_USER+0x100,0,0);
					break;
				case 49:
					::SendMessage (m_dialog,WM_USER+0x101,0,0);
					break;
				case 50:
					::SendMessage (m_dialog,WM_USER+0x102,0,0);
					break;
				case 51:
					::SendMessage (m_dialog,WM_USER+0x103,0,0);
					break;
				case 52:
					::SendMessage (m_dialog,WM_USER+0x104,0,0);
					break;
				case 53:
					::SendMessage (m_dialog,WM_USER+0x105,0,0);
					break;
				case 54:
					::SendMessage (m_dialog,WM_USER+0x106,0,0);
					break;
				case 55:
					::SendMessage (m_dialog,WM_USER+0x107,0,0);
					break;
				case 56:
					::SendMessage (m_dialog,WM_USER+0x108,0,0);
					break;
				case 57:
					::SendMessage (m_dialog,WM_USER+0x109,0,0);
					break;
				case 65:
					::SendMessage (m_dialog,WM_USER+0x10a,0,0);
				   break;
				case 66:
					::SendMessage (m_dialog,WM_USER+0x10b,0,0);
					break;
				case 67:
					::SendMessage (m_dialog,WM_USER+0x10c,0,0);
					break;
				case 68:
					::SendMessage (m_dialog,WM_USER+0x10d,0,0);
					break;
				case 69:
					::SendMessage (m_dialog,WM_USER+0x10e,0,0);
					break;
				case 70:
					::SendMessage (m_dialog,WM_USER+0x10f,0,0);
					break;

                default:
					AfxMessageBox("请输入0-F数字");
				}

			}
		}
		break;
	}
		return CallWindowProc(m_db0,hwnd,iMsg,wParam,lParam);
}
LRESULT  CALLBACK Cpcout:: WindowProc1(HWND hwnd,UINT iMsg,WPARAM wParam,LPARAM lParam)
{
	HWND  m_dialog;
	m_dialog=::GetParent(hwnd);
	ASSERT(m_dialog);
	switch(iMsg)
	{
	case WM_KEYDOWN:
		{
			if((int)wParam)
			{
				int a=wParam;
				switch(a)
				{
				case 96:
					::SendMessage (m_dialog,WM_USER+0x100,0,0);
					break;
				case 97:
					::SendMessage (m_dialog,WM_USER+0x101,0,0);
					break;
				case 98:
					::SendMessage (m_dialog,WM_USER+0x102,0,0);
					break;
				case 99:
					::SendMessage (m_dialog,WM_USER+0x103,0,0);
					break;
				case 100:
					::SendMessage (m_dialog,WM_USER+0x104,0,0);
					break;
				case 101:
					::SendMessage (m_dialog,WM_USER+0x105,0,0);
					break;
				case 102:
					::SendMessage (m_dialog,WM_USER+0x106,0,0);
					break;
				case 103:
					::SendMessage (m_dialog,WM_USER+0x107,0,0);
					break;
				case 104:
					::SendMessage (m_dialog,WM_USER+0x108,0,0);
					break;
				case 105:
					::SendMessage (m_dialog,WM_USER+0x109,0,0);
					break;
				case 48:
					::SendMessage (m_dialog,WM_USER+0x100,0,0);
					break;
				case 49:
					::SendMessage (m_dialog,WM_USER+0x101,0,0);
					break;
				case 50:
					::SendMessage (m_dialog,WM_USER+0x102,0,0);
					break;
				case 51:
					::SendMessage (m_dialog,WM_USER+0x103,0,0);
					break;
				case 52:
					::SendMessage (m_dialog,WM_USER+0x104,0,0);
					break;
				case 53:
					::SendMessage (m_dialog,WM_USER+0x105,0,0);
					break;
				case 54:
					::SendMessage (m_dialog,WM_USER+0x106,0,0);
					break;
				case 55:
					::SendMessage (m_dialog,WM_USER+0x107,0,0);
					break;
				case 56:
					::SendMessage (m_dialog,WM_USER+0x108,0,0);
					break;
				case 57:
					::SendMessage (m_dialog,WM_USER+0x109,0,0);
					break;
				case 65:
					::SendMessage (m_dialog,WM_USER+0x10a,0,0);
				   break;
				case 66:
					::SendMessage (m_dialog,WM_USER+0x10b,0,0);
					break;
				case 67:
					::SendMessage (m_dialog,WM_USER+0x10c,0,0);
					break;
				case 68:
					::SendMessage (m_dialog,WM_USER+0x10d,0,0);
					break;
				case 69:
					::SendMessage (m_dialog,WM_USER+0x10e,0,0);
					break;
				case 70:
					::SendMessage (m_dialog,WM_USER+0x10f,0,0);
					break;

                default:
					AfxMessageBox("请输入0-F数字");
				}

			}
		}
		break;
	}
		return CallWindowProc(m_db1,hwnd,iMsg,wParam,lParam);
}
LRESULT  CALLBACK Cpcout:: WindowProc2(HWND hwnd,UINT iMsg,WPARAM wParam,LPARAM lParam)
{
	HWND  m_dialog;
	m_dialog=::GetParent(hwnd);
	ASSERT(m_dialog);
	switch(iMsg)
	{
	case WM_KEYDOWN:
		{
			if((int)wParam)
			{
				int a=wParam;
				switch(a)
				{
				case 96:
					::SendMessage (m_dialog,WM_USER+0x100,0,0);
					break;
				case 97:
					::SendMessage (m_dialog,WM_USER+0x101,0,0);
					break;
				case 98:
					::SendMessage (m_dialog,WM_USER+0x102,0,0);
					break;
				case 99:
					::SendMessage (m_dialog,WM_USER+0x103,0,0);
					break;
				case 100:
					::SendMessage (m_dialog,WM_USER+0x104,0,0);
					break;
				case 101:
					::SendMessage (m_dialog,WM_USER+0x105,0,0);
					break;
				case 102:
					::SendMessage (m_dialog,WM_USER+0x106,0,0);
					break;
				case 103:
					::SendMessage (m_dialog,WM_USER+0x107,0,0);
					break;
				case 104:
					::SendMessage (m_dialog,WM_USER+0x108,0,0);
					break;
				case 105:
					::SendMessage (m_dialog,WM_USER+0x109,0,0);
					break;
				case 48:
					::SendMessage (m_dialog,WM_USER+0x100,0,0);
					break;
				case 49:
					::SendMessage (m_dialog,WM_USER+0x101,0,0);
					break;
				case 50:
					::SendMessage (m_dialog,WM_USER+0x102,0,0);
					break;
				case 51:
					::SendMessage (m_dialog,WM_USER+0x103,0,0);
					break;
				case 52:
					::SendMessage (m_dialog,WM_USER+0x104,0,0);
					break;
				case 53:
					::SendMessage (m_dialog,WM_USER+0x105,0,0);
					break;
				case 54:
					::SendMessage (m_dialog,WM_USER+0x106,0,0);
					break;
				case 55:
					::SendMessage (m_dialog,WM_USER+0x107,0,0);
					break;
				case 56:
					::SendMessage (m_dialog,WM_USER+0x108,0,0);
					break;
				case 57:
					::SendMessage (m_dialog,WM_USER+0x109,0,0);
					break;
				case 65:
					::SendMessage (m_dialog,WM_USER+0x10a,0,0);
				   break;
				case 66:

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -