求教打印并口控制(100分)

  • 主题发起人 主题发起人 zhuangd
  • 开始时间 开始时间
Z

zhuangd

Unregistered / Unconfirmed
GUEST, unregistred user!
请教:
如何控制并口操作,利用软件截取并口操作。例如利用软件
模拟硬件狗的那种。
对并口的操作有软件代替读写
 
咦,
得作一个VxD来处理,
市面上各种通用杀狗工具都是借助Vxd来作的。
 
可以用hook吧
 
读"硬"狗的数据,现在好象不行了!
首先,“硬”狗中加入了单片机实现了“智能”化,另一方面,从狗中到Prn口
的数据已被加密,所以用这种方法已经行不通了。
 
请Hexi详细说明!
 
我们看hook帮助时可以看到windows提供了下面几种hook:
WH_CALLWNDPROC and WH_CALLWNDPROCRET Hooks
WH_CBT Hook
WH_DEBUG Hook
WH_FOREGROUNDIDLE Hook
WH_GETMESSAGE Hook
WH_JOURNALPLAYBACK Hook
WH_JOURNALRECORD Hook
WH_KEYBOARD Hook
WH_MOUSE Hook
WH_MSGFILTER and WH_SYSMSGFILTER Hooks
WH_SHELL Hook

还有至少一种帮助中没有提到
WH_HARDWARE=8 Hook, 你可以在Windows.Pas中找到定义。这个钩子就是硬件钩子。

{ Structure used by WH_HARDWARE }
PHardwareHookStruct = ^THardwareHookStruct;
{$EXTERNALSYM tagHARDWAREHOOKSTRUCT}
tagHARDWAREHOOKSTRUCT = packed record
hwnd: HWND;
message: UINT;
wParam: WPARAM;
lParam: LPARAM;
end;
THardwareHookStruct = tagHARDWAREHOOKSTRUCT;
{$EXTERNALSYM HARDWAREHOOKSTRUCT}
HARDWAREHOOKSTRUCT = tagHARDWAREHOOKSTRUCT;

(我曾经在一本书上介绍到好象是〈Windows NT 编程...>)
由于Windows帮助没有提及此钩子,我也不知它具体如何用。
VxD当然可以实现,如果你没有接触过VxD,我想也不是几天能搞定的。
我仅提供一种选择。

在历险中我看到一个控件,(我想应该可以用他截获并口发回的数据,但不能模拟并口)
它的说明是:

WINPORT.ZIP

直接存取硬件设备 I/O 口地址 ( I/O Port Address ) 的非可视构件 ,提供
OnDataChanged 事件能够侦测 I/O 口内数据的异动 ( 1.0 版,附源码 ) ,作
者 : Stefanus M.。




 
接受答案了.
 
后退
顶部