| 
			 
					阅读:2219回复:33
				 
				我的vxd不工作?
					照书上抄了个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); }  | 
	|
					
						
						
						
						
  | 
	
| 
			 沙发# 
								发布于:2002-12-04 22:13				
			
					呵呵,编个应用程序,调用该vxd.
 
							在应用程序中监视CTRL+C的情况。 一般是通过参数和vxd交换信息。  | 
	|
| 
			 板凳# 
								发布于:2002-12-04 22:15				
			
					或者用调试软件
 
							 | 
	|
| 
			 地板# 
								发布于:2002-12-04 22:17				
			
					#define C_SCAN 43
 
							========= 好像 #define C_SCAN 56  | 
	|
| 
			 地下室# 
								发布于:2002-12-05 09:18				
			
					试试用修改system.ini的方法看?
 
							还有C的scan值别搞错了 :D  | 
	|
					
						
  | 
	
| 
			 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); }  | 
	|
| 
			 6楼# 
								发布于:2002-12-05 11:42				
			
					怎么样了?				 
							 | 
	|
| 
			 7楼# 
								发布于:2002-12-05 12:09				
			怎么样了? 什么怎么样?  | 
	|
					
						
  | 
	
| 
			 8楼# 
								发布于:2002-12-05 12:13				
			
					猪弟:
 
							我是猴哥,正问楼主呢。  | 
	|
| 
			 9楼# 
								发布于:2002-12-05 12:56				
			猪弟: 悟空,你又调皮了  | 
	|
					
						
  | 
	
| 
			 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  | 
	|
					
						
  | 
	
| 
			 11楼# 
								发布于:2002-12-05 19:04				
			
					关于vxd 的调试我也不会,请问怎么去调试vxd, 用什么工具和方法!谢谢老大们!				 
							 | 
	|
					
						
  | 
	
| 
			 12楼# 
								发布于:2002-12-05 19:45				
			
					好吧!!				 
							 | 
	|
| 
			 13楼# 
								发布于:2002-12-05 20:20				
			
					谢谢拉,呵呵,你发过来后,我会再发几个帖子,给你分的!!呵呵!顺便讲一讲,怎么调试vxd把				 
							 | 
	|
					
						
  | 
	
| 
			 14楼# 
								发布于:2002-12-05 20:28				
			
					哥们,编完了。
 
							包括vxd源码和一个测试程序,及其说明。 调试我用softice.  | 
	|
| 
			 15楼# 
								发布于:2002-12-05 20:29				
			
					rar压缩,没问题吧。				 
							 | 
	|
| 
			 16楼# 
								发布于:2002-12-05 20:36				
			
					不上兆就没问题,我看看,不明白的再问你,如何?老大?
 
							我的qq 号码是29990495  | 
	|
					
						
  | 
	
| 
			 17楼# 
								发布于:2002-12-05 20:39				
			
					给分就好说,应用程序和vxd先发过去,呆会发源程序。				 
							 | 
	|
| 
			 18楼# 
								发布于:2002-12-05 20:39				
			
					汇编我学的不是很好,只学了点皮毛,所以softice 有点费劲,呵呵!发过来把,真的很感谢你拉!				 
							 | 
	|
					
						
  | 
	
| 
			 19楼# 
								发布于:2002-12-05 20:41				
			
					分数不是问题,除了这20外,我在发3个帖子,给你50,可以把!				 
							 | 
	|
					
						
  | 
	
上一页
下一页