d992901
驱动牛犊
驱动牛犊
  • 注册日期2002-11-18
  • 最后登录2003-02-26
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
阅读:2042回复:33

我的vxd不工作?

楼主#
更多 发布于:2002-12-04 21:30
照书上抄了个vxd的代码,是捕捉ctrl+c 键的,编译成功了,修改注册表静态加载,也成功了,但是按ctrl+c 没什么反映啊!高手帮忙看看,源码在下面,


# HOTKEY.mak - makefile for VxD HOTKEY

DEVICENAME = HOTKEY
FRAMEWORK = CPP
DEBUG = 1
OBJECTS = hotkey.OBJ

!include $(VTOOLSD)\\include\\vtoolsd.mak
!include $(VTOOLSD)\\include\\vxdtarg.mak

hotkey.OBJ: hotkey.cpp hotkey.h
  

///
// HOTKEY.h - include file for VxD HOTKEY

#include <vtoolscp.h>

#define DEVICE_CLASS HotkeyDevice
#define HOTKEY_DeviceID UNDEFINED_DEVICE_ID
#define HOTKEY_Init_Order UNDEFINED_INIT_ORDER
#define HOTKEY_Major 1
#define HOTKEY_Minor 0

class HotkeyDevice : public VDevice
{
public:
virtual BOOL OnDeviceInit(VMHANDLE hVM,PCHAR pszCmdTail);
};

//class HotkeyVM : public VVirtualMachine
//{
//public:
// HotkeyVM(VMHANDLE hVM);
//};

//class HotkeyThread : public VThread
//{
//public:
// HotkeyThread(THREADHANDLE hThread);
//};

class XCtrlCEvent:public VHotKey
{public:
XCtrlCEvent();
virtual VOID handler(BYTE scan,keyAction_t ka,DWORD shift,PVOID refData,DWORD elapased);
};


///
// HOTKEY.cpp - main module for VxD HOTKEY

#define DEVICE_MAIN
#include \"hotkey.h\"
Declare_Virtual_Device(HOTKEY)
#undef DEVICE_MAIN
#define C_SCAN 43
//HotkeyVM::HotkeyVM(VMHANDLE hVM) : VVirtualMachine(hVM) {}

//HotkeyThread::HotkeyThread(THREADHANDLE hThread) : VThread(hThread) {}

BOOL HotkeyDevice::OnDeviceInit(VMHANDLE hVM,PCHAR pszCmdTail)
{XCtrlCEvent* pCC=new XCtrlCEvent();
if(pCC)
return pCC->hook();
else
return FALSE;
}
XCtrlCEvent::XCtrlCEvent():
VHotKey(C_SCAN,SCAN_NORMAL,HKSS_Ctrl,CallOnPress)
{}
VOID XCtrlCEvent::handler(BYTE scan,keyAction_t ka,DWORD shift,PVOID refData,DWORD elapsed)
{
#ifdef DEBUG
dout<<\"Ctrl-c detected\"<<endl;
#endif
dout<<\"Ctrl-c detected\"<<endl;
//reflectToVM(Get_Cur_VM_Handle(),shift);
}


马上毕业了!!!
Gong_XG
驱动太牛
驱动太牛
  • 注册日期2002-10-01
  • 最后登录2010-11-25
  • 粉丝0
  • 关注0
  • 积分313分
  • 威望46点
  • 贡献值0点
  • 好评度4点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2002-12-04 22:13
呵呵,编个应用程序,调用该vxd.
在应用程序中监视CTRL+C的情况。
一般是通过参数和vxd交换信息。
Gong_XG
驱动太牛
驱动太牛
  • 注册日期2002-10-01
  • 最后登录2010-11-25
  • 粉丝0
  • 关注0
  • 积分313分
  • 威望46点
  • 贡献值0点
  • 好评度4点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2002-12-04 22:15
或者用调试软件
Gong_XG
驱动太牛
驱动太牛
  • 注册日期2002-10-01
  • 最后登录2010-11-25
  • 粉丝0
  • 关注0
  • 积分313分
  • 威望46点
  • 贡献值0点
  • 好评度4点
  • 原创分0分
  • 专家分0分
地板#
发布于:2002-12-04 22:17
#define C_SCAN 43
=========
好像
#define C_SCAN 56
trent
驱动老牛
驱动老牛
  • 注册日期2002-03-01
  • 最后登录2014-09-18
  • 粉丝0
  • 关注0
  • 积分61分
  • 威望185点
  • 贡献值0点
  • 好评度2点
  • 原创分0分
  • 专家分0分
地下室#
发布于:2002-12-05 09:18
试试用修改system.ini的方法看?
还有C的scan值别搞错了 :D
我不仅要金子,我还要点石成金的手指!
Gong_XG
驱动太牛
驱动太牛
  • 注册日期2002-10-01
  • 最后登录2010-11-25
  • 粉丝0
  • 关注0
  • 积分313分
  • 威望46点
  • 贡献值0点
  • 好评度4点
  • 原创分0分
  • 专家分0分
5楼#
发布于:2002-12-05 10:07
哥们:看好了
#define C_SCAN 46


XCtrlCEvent::XCtrlCEvent() :
VHotKey(C_SCAN, SCAN_NORMAL, HKSS_Ctrl, CallOnPress) {}

VOID XCtrlCEvent::handler(BYTE scan, keyAction_t ka, DWORD shift,
PVOID refData, DWORD elapased)
{
//dout << \"Ctrl-C detected\" << endl;
vxdstop=0;

reflectToVM(Get_Cur_VM_Handle(), shift);
}
Gong_XG
驱动太牛
驱动太牛
  • 注册日期2002-10-01
  • 最后登录2010-11-25
  • 粉丝0
  • 关注0
  • 积分313分
  • 威望46点
  • 贡献值0点
  • 好评度4点
  • 原创分0分
  • 专家分0分
6楼#
发布于:2002-12-05 11:42
怎么样了?
trent
驱动老牛
驱动老牛
  • 注册日期2002-03-01
  • 最后登录2014-09-18
  • 粉丝0
  • 关注0
  • 积分61分
  • 威望185点
  • 贡献值0点
  • 好评度2点
  • 原创分0分
  • 专家分0分
7楼#
发布于:2002-12-05 12:09
怎么样了?

什么怎么样?
我不仅要金子,我还要点石成金的手指!
Gong_XG
驱动太牛
驱动太牛
  • 注册日期2002-10-01
  • 最后登录2010-11-25
  • 粉丝0
  • 关注0
  • 积分313分
  • 威望46点
  • 贡献值0点
  • 好评度4点
  • 原创分0分
  • 专家分0分
8楼#
发布于:2002-12-05 12:13
猪弟:
我是猴哥,正问楼主呢。
trent
驱动老牛
驱动老牛
  • 注册日期2002-03-01
  • 最后登录2014-09-18
  • 粉丝0
  • 关注0
  • 积分61分
  • 威望185点
  • 贡献值0点
  • 好评度2点
  • 原创分0分
  • 专家分0分
9楼#
发布于:2002-12-05 12:56
猪弟:
我是猴哥,正问楼主呢。

悟空,你又调皮了
我不仅要金子,我还要点石成金的手指!
d992901
驱动牛犊
驱动牛犊
  • 注册日期2002-11-18
  • 最后登录2003-02-26
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
10楼#
发布于:2002-12-05 19:01
谢谢两位哥们的帮助,现在还是一头雾水,我以前没接触过vxd!
请问大哥vxdstop=0; 什么意思啊,这个变量在什么地方定义的啊!
我是想做一个静态加载的vxd,完成的功能是按下ctrl+alt+del,能弹出个对话框,也就是不管在什么时候,按下ctrl+alt+del 就弹出对话框,这个实例是从书上抄的,我自己编译成vxd了,静态加载也成功了把,我用vtoolsd里的,vxd viewer 能看到我vxd,但是按下ctrl+c 就是没反映。把#define C_SCAN 43 改成46了还是一样,能帮我解释一下吗?
要不你帮我写一个关于ctrl+alt+del 的vxd ,调试好了,把源码发给我,我给50分,更多也可以!我的邮箱是d992901@sina.com
马上毕业了!!!
d992901
驱动牛犊
驱动牛犊
  • 注册日期2002-11-18
  • 最后登录2003-02-26
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
11楼#
发布于:2002-12-05 19:04
关于vxd 的调试我也不会,请问怎么去调试vxd, 用什么工具和方法!谢谢老大们!
马上毕业了!!!
Gong_XG
驱动太牛
驱动太牛
  • 注册日期2002-10-01
  • 最后登录2010-11-25
  • 粉丝0
  • 关注0
  • 积分313分
  • 威望46点
  • 贡献值0点
  • 好评度4点
  • 原创分0分
  • 专家分0分
12楼#
发布于:2002-12-05 19:45
好吧!!
d992901
驱动牛犊
驱动牛犊
  • 注册日期2002-11-18
  • 最后登录2003-02-26
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
13楼#
发布于:2002-12-05 20:20
谢谢拉,呵呵,你发过来后,我会再发几个帖子,给你分的!!呵呵!顺便讲一讲,怎么调试vxd把
马上毕业了!!!
Gong_XG
驱动太牛
驱动太牛
  • 注册日期2002-10-01
  • 最后登录2010-11-25
  • 粉丝0
  • 关注0
  • 积分313分
  • 威望46点
  • 贡献值0点
  • 好评度4点
  • 原创分0分
  • 专家分0分
14楼#
发布于:2002-12-05 20:28
哥们,编完了。
包括vxd源码和一个测试程序,及其说明。

调试我用softice.
Gong_XG
驱动太牛
驱动太牛
  • 注册日期2002-10-01
  • 最后登录2010-11-25
  • 粉丝0
  • 关注0
  • 积分313分
  • 威望46点
  • 贡献值0点
  • 好评度4点
  • 原创分0分
  • 专家分0分
15楼#
发布于:2002-12-05 20:29
rar压缩,没问题吧。
d992901
驱动牛犊
驱动牛犊
  • 注册日期2002-11-18
  • 最后登录2003-02-26
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
16楼#
发布于:2002-12-05 20:36
不上兆就没问题,我看看,不明白的再问你,如何?老大?
我的qq 号码是29990495
马上毕业了!!!
Gong_XG
驱动太牛
驱动太牛
  • 注册日期2002-10-01
  • 最后登录2010-11-25
  • 粉丝0
  • 关注0
  • 积分313分
  • 威望46点
  • 贡献值0点
  • 好评度4点
  • 原创分0分
  • 专家分0分
17楼#
发布于:2002-12-05 20:39
给分就好说,应用程序和vxd先发过去,呆会发源程序。
d992901
驱动牛犊
驱动牛犊
  • 注册日期2002-11-18
  • 最后登录2003-02-26
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
18楼#
发布于:2002-12-05 20:39
汇编我学的不是很好,只学了点皮毛,所以softice 有点费劲,呵呵!发过来把,真的很感谢你拉!
马上毕业了!!!
d992901
驱动牛犊
驱动牛犊
  • 注册日期2002-11-18
  • 最后登录2003-02-26
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
19楼#
发布于:2002-12-05 20:41
分数不是问题,除了这20外,我在发3个帖子,给你50,可以把!
马上毕业了!!!
上一页
游客

返回顶部