[讨论]关于键盘中断读取数据输入失去焦点的问题
议题作者:domind信息来源:邪恶八进制信息安全团队([url]www.eviloctal.com[/url])
小弟想尝试通过读取键盘缓冲区的方式读取qq密码输入的内容。
当然不知道这是否可行。
就找本书输了代码 当次程序窗口获得焦点时,能正确读取。可打开一个记事本输入时,
由于失去焦点,程序就不能读键盘输入了。
我想让他能一直记录键盘输入,不管是否获得焦点。
请教各位高人如何解决这个问题
我的代码如下
用tc2.0编译成功
/* Note:Your choice is C IDE */
#include "stdio.h"
#include "graphics.h"
#include "io.h"
#include "dos.h"
#include "conio.h"
#define MOUSE_ID 0x33
main()
{
int ma,mb,mc,md,mmb,mmc,mmd,flag,m;
mosdrv(0,0,0,0);
clrscr();
gotoxy(25,6);
textcolor(11);
cprintf("******KEY BUFFER *********");
gotoxy(50,23);
textcolor(11);
cprintf("******CONDITION OF MOUSE *****");
while(1)
{
mmb = mb;
mmc = mc;
mmd = md;
mosdrv(3,&mb,&mc,&md);
if(mb == 1)
{
mosdrv(1,0,0,0);
m = peek(0x40,0x1c);
poke(0x40,0x1a,m);
}
if(mb == 2)
{
flag = 1;
gotoxy(1,1);
printf("\n\n");
}
else if(flag == 1)
{
flag = 0;
gotoxy(1,1);
printf("\n\n");
}
if (mb == 3)
{
mosdrv(2,0,0,0);
exit(1);
}
if((mc!=mmc)||(md!=mmd)||(mb!=mb))
{
gotoxy(50,25);
printf("x:%3d,y:%3d,1/r button:%4d",mc/8,md/8,mb);
}
dpkeybf(0,8);
}
}
dpkeybf(int x,int y)
{
unsigned char i,p;
textcolor(7);
gotoxy(x+1,y+2);
cprintf("0040:001e(L)");
gotoxy(x+1,y+3);
cprintf("0040:001e(H)");
for (i=0;i<32;i=i+2)
{
gotoxy(x+16+((4*i)>>1),y);
cprintf("%3d",i);
}
for (i=0x1e;i<0x3e;i++)
{
textcolor(7);
gotoxy(x+16+4*((i-0x1e)>>1),y+2+(((i-0x1e))&0x01));
p = peekb(0x40,i);
cprintf("%3hx",p);
textcolor(14);
gotoxy(x+16+2*(peekb(0x40,0x1a)-0x1e),y+2);
cprintf(">");
textcolor(15);
gotoxy(x+16+2*(peekb(0x40,0x1c)-0x1e),y+2);
cprintf("<");
}
}
mosdrv(int functno,int *mb,int *mc,int *md)
{
union REGS regs;
regs.h.ax = functno;
regs.h.bx=&mb;
regs.h.cx=&mc;
regs.h.dx=&md;
int86(MOUSE_ID,
页:
[1]