调win32api函数SendMessage实现模拟按键
#include <windows.h>
...
SendMessage(hWnd,WM_KEYDOWN,键值,0)
...
其中hWnd是目标窗口的句柄
值是被宏定义过的,VK_ENTER回车,VK_ESC是ESC,VK_A是A键等
目标槐塌袜窗口句柄可以通过HWND hwnd=FindWindow("窗口名")获得
语言特点
基本特性
C++语言代码
1、高级语言:它是把高级语言的基本结构和语句与低级语言的实用性结合起来的工作单元。 [10]
2、结构式语言:结构式语言的显著特点是代码及数据的分隔化,即程序的各个部分除了必要的信息交流外彼此独立。这种结构化方式可使程序层次清晰,便于使用、维护以及调试。C 语言是以函数形式提供给用户的,这些衫盯函数可方便的调用,并具有多种循环、条件语句控制程序流向,从而使程序完全结构化。 [10]
4、代码级别的跨平台:由于标准的存在,使得几乎同样的C代码可用于多种 *** 作系统,如Windows、DOS、UNIX等等;也适用于多种机型。C语言对编写需要进行硬件 *** 作的场合,优于其它高级语言。 [10]
5、使用指针:可以直接进行靠近硬件的 *** 作,但是C的指针 *** 作不做保护,也给它带来了很多不安全的因素。C++在这方面做了改进,在保留了指针 *** 作的同时又增强了安全性,受到了一些用户的支持,但是,由于这些改进增加语言的复杂度,也为另一部分所诟病。Java则吸取了C++的教训,取消了指针 *** 作,也取消了C++改进中一些备受争议的地方,在安全性和适合性方面均取得良好的效果,但其本身解释在虚拟机中运行,运行效率低于C++/C。一般而言,C,C++,java被视为同一系的语言,它们长期占据着程序使用榜的前三名。 [11]
特有特点
C语言是一个有结构化程序设计、具有变量作用域(variable scope)以及递归功能的过程式语言。
C语言传递参数均是以值传递(pass by value),另外也可以传递指针(a pointer passed by value)。
不同的变量类型可以用结构体(struct)组合在一起。
只有32个保留字(reserved keywords),使变量、函数命名有更多d性。
部份的变量类型可以转换,例如整型和字符型变铅激量。
通过指针(pointer),C语言可以容易的对存储器进行低级控制。
预编译处理(preprocessor)让C语言的编译更具有d性。
主要就是按键蚂燃扮检测,防抖呗。首先给出闷灶检测按键代码:(我这个事4*4键盘。具体你要根据实段森际情况编写)
uchar TestKey()
{
uchar cord_h,cord_l
P6=0x0f
cord_h=P6&0x0f
if(cord_h!=0x0f)
{
Delay_Xms(1)
if(cord_h!=0x0f)
{
cord_h=P6&0x0f
P6=cord_h|0xf0
cord_l=P6&0xf0
return(cord_h+cord_l)
}
}return(0xff)
}
--------------------------------------
然后你在Main函数里编写循环,检测按键然后做你想做的事情。。。
while(1)
{
key=TestKey()//调用键盘扫描,
switch(key)
{
case 0x7e:P4=0xa1break//0 按下相应的键显示相对应的码值
case 0x7d:Show1Menu()break//1
case 0x7b:P4=0x83break//2
case 0x77:P4=0x88break//3
case 0xbe:P4=0x99break//4
case 0xbd:P4=0x90break//5
case 0xbb:P4=0x82break//6
case 0xb7:P4=0xb0break//7
case 0xde:P4=0xc0break//8
case 0xdd:P4=0x80break//9
case 0xdb:P4=0x92break//a
case 0xd7:P4=0xa4break//b
case 0xee:P4=0xc6break//c
case 0xed:P4=0xf8break//d
case 0xeb:P4=0x99break//e
case 0xe7:P4=0xf9break//f
}
}
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)