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

📄 readkey.h

📁 有关树WDM 驱动的编程.里面包含了许多实例,学习硬件的可以参考哦
💻 H
字号:
#if !defined(AFX_READKEY_H__1D47DCC6_4F6F_11D4_88C3_930647F3705A__INCLUDED_)
#define AFX_READKEY_H__1D47DCC6_4F6F_11D4_88C3_930647F3705A__INCLUDED_

#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000
// readkey.h : header file
//
#include "EditEx.h"
/////////////////////////////////////////////////////////////////////////////
// Creadkey dialog

class Creadkey : public CDialog
{
// Construction
public:
HANDLE	hDevice;
 HANDLE	hDevice1;
	int m_key;
	BYTE m_display_bit;
	void DisplayLED_bit(int x);
	void Setdiaplay_time();
	BOOL m_display;	
	void Handle_key();
	int m_key_number;
	BYTE WRIO(PBYTE x);
	BOOL Readkey_number();
	Creadkey(CWnd* pParent = NULL);   // standard constructor
CEditEx m_edit;
// Dialog Data
	//{{AFX_DATA(Creadkey)
	enum { IDD = IDD_DIALOG8 };
	CButton	m_b16;
	CButton	m_b15;
	CButton	m_b14;
	CButton	m_b13;
	CButton	m_b12;
	CButton	m_b11;
	CButton	m_b10;
	CButton	m_b9;
	CButton	m_b8;
	CButton	m_b7;
	CButton	m_b6;
	CButton	m_b5;
	CButton	m_b4;
	CButton	m_b3;
	CButton	m_b2;
	CButton	m_b1;
	CString	m_char;
	//}}AFX_DATA


//以下是用户加的自定义数据类型

//原PCI_con驱动头文件定义的数据类型
LARGE_INTEGER    config[6];
ULONG	         Length[6];
ULONG	         IRQ;

struct pci_cfg
{
	ULONG	MemBase;        //memory base address
	ULONG	MemLength;		//memory length
	ULONG	IOBase[2];		//IO base address
	ULONG	IOPortLength[2];//IO base length 
	ULONG	IRQ;			//Interrupt number
	ULONG	DMA;			//DMA number.
}*pci;						//config paramer struct.

//原Io_wr驱动头文件定义的数据类型
struct Write_AD
{
	ULONG	Address;
	UCHAR	Data;
};
struct Write_AD* W_AD;
DWORD nRet;
HANDLE hEvent;
//原Mem驱动头文件定义的数据类型
LARGE_INTEGER    Phy_Address;
ULONG	         mem_length;                           //modified by Long Yachun
struct Mem_Param
{
	ULONG mdr_PhysicalAddress;
	PVOID mdr_LinearAddress;
}*pMem;

pci_cfg* m_p;

// Overrides
	// ClassWizard generated virtual function overrides
	//{{AFX_VIRTUAL(Creadkey)
	protected:
	virtual void DoDataExchange(CDataExchange* pDX);    // DDX/DDV support
	virtual void OnCancel();
	//}}AFX_VIRTUAL
afx_msg void Zonebutton(WPARAM wparam,LPARAM lParam);
	afx_msg void Onebutton(WPARAM wparam,LPARAM lParam);
	afx_msg void Twobutton(WPARAM wparam,LPARAM lParam);
	afx_msg void Fourbutton(WPARAM wparam,LPARAM lParam);
	afx_msg void Fivebutton(WPARAM wparam,LPARAM lParam);
	afx_msg void Sixbutton(WPARAM wparam,LPARAM lParam);
	afx_msg void Sevenbutton(WPARAM wparam,LPARAM lParam);
	afx_msg void Eightbutton(WPARAM wparam,LPARAM lParam);
	afx_msg void Threebutton(WPARAM wparam,LPARAM lParam);
	afx_msg void Ninebutton(WPARAM wparam,LPARAM lParam);
	afx_msg void Abutton(WPARAM wparam,LPARAM lParam);
	afx_msg void Bbutton(WPARAM wparam,LPARAM lParam);
	afx_msg void Cbutton(WPARAM wparam,LPARAM lParam);
	afx_msg void Dbutton(WPARAM wparam,LPARAM lParam);
	afx_msg void Ebutton(WPARAM wparam,LPARAM lParam);
	afx_msg void Fbutton(WPARAM wparam,LPARAM lParam);
// Implementation
protected:
	// Generated message map functions
	//{{AFX_MSG(Creadkey)
	virtual BOOL OnInitDialog();
	afx_msg void OnTimer(UINT nIDEvent);
	virtual void OnOK();
	//}}AFX_MSG
	DECLARE_MESSAGE_MAP()
};

//{{AFX_INSERT_LOCATION}}
// Microsoft Visual C++ will insert additional declarations immediately before the previous line.

#endif // !defined(AFX_READKEY_H__1D47DCC6_4F6F_11D4_88C3_930647F3705A__INCLUDED_)

⌨️ 快捷键说明

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