社区
Delphi
帖子详情
如何调用一个VXD文件里的函数???
LaoZheng
2000-09-12 10:52:00
...全文
194
5
打赏
收藏
如何调用一个VXD文件里的函数???
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
5 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
mmmyyyaaa
2001-01-02
打赏
举报
回复
使用DeviceIoControl就行了
舟中夜起
2000-12-30
打赏
举报
回复
用Callback的方法
茂奇软件
2000-11-08
打赏
举报
回复
VWIN32_QueueUserApc
mmmyyyaaa
2000-10-22
打赏
举报
回复
极为关注:我也正在为同样的问题所困惑
茂奇软件
2000-09-12
打赏
举报
回复
deviceiocontrol.
winio 非常有用
。因为在windows中,普通应用程序是无权操作端口的,于是我们就需要
一个
驱动程序来帮助我们实现。在这
里
我们可以使用
一个
组件WINIO来完成读写端口操作。什么是WINIO?WINIO是
一个
全免费的、无需注册的、含源程序的 WINDOWS2000端口操作驱动程序组件(可以到http://www.internals.com/上去下载)。它不仅可以操作端口,还可以操作内存;不仅能在VB下用,还可以在DELPHI、VC等其它环境下使用,性能特别优异。下载该组件,解压缩后可以看到几个
文件
夹,其中Release
文件
夹下的3个
文件
就是我们需要的,这3个
文件
是WinIo.sys(用于win xp下的驱动程序), WINIO.
VXD
(用于win 98下的驱动程序),WinIo.dll(封装
函数
的动态链接库),我们只需要
调用
WinIo.dll中的
函数
,然后 WinIo.dll就会安装并
调用
驱动程序来完成相应的功能。值得一提的是这个组件完全是绿色的,无需安装,你只需要把这3个
文件
复制到与你的程序相同的
文件
夹下就可以使用了。用法很简单,先用
里
面的InitializeWinIo
函数
安装驱动程序,然后就可以用GetPortVal来读取端口或者用 SetPortVal来写入端口了。好,让我们来做
一个
驱动级的键盘模拟吧。先把winio的3个
文件
拷贝到你的程序的
文件
夹下,然后在VB中新建
一个
工程,添加
一个
模块,在模块中加入下面的winio
函数
声明
VC下WinIo的应用实例(改进版)
VC下WinIo的应用实例(改进版)根据前一版有网友提出的建议进行改进,为了在VC中能正常使用WinIo库,必须按以下步骤进行配置: (1):将WinIo.dll、WinIo.sys、WINIO.
VXD
三个
文件
放在程序可执行
文件
所在目录下; (2):将WinIo.lib添加到工程中,WinIo.lib及winio.h
文件
必须放在工程目录下; (3):在StdAfx.h头
文件
中加入#include "winio.h"语句; (4):
调用
InitializeWinIo
函数
初始化WinIo驱动库; (5):
调用
读写IO口的GetPortVal或SetPortVal
函数
; (6):
调用
ShutdownWinIo
函数
; 本实例是在VC6.0环境下; XP系统.
Delphi使用Ring0技术读写物理扇区.rar
Delphi基于Ring0技术读写Windows系统下的硬盘物理扇区,磁盘读写操作一例,包括了
VxD
和仿CIH两种方法,
VxD
方法中还包括了所
调用
控件的VC 源代码,并且包括了
一个
测试的例子,运行效果如演示截图所示。相关的源代码分享如下: IOR_next:longword;{ 为BCB的(MBZ for IORF_VERSION_002) 的客户链接 } IOR_func:word;{子功能号} IOR_status:word;{请求的状态} IOR_flags:longword;{请求控制标志} IOR_callback:procedure;{如果IORF_SYNC_COMMAND未设置,则为回调
函数
地址} IOR_start_addr:array[0..1]of longword;{相对开始地址} IOR_xfer_count:longword;{处理的扇区数} IOR_buffer_ptr:longword;{客户缓冲区指针} IOR_private_client:longword;{ BlockDev/IOS客户保留} IOR_private_IOS:longword;{IOS保留空间} IOR_private_port:longword;{端口驱动的私有区域} _ureq:Turequestor_usage; IOR_req_req_handle:longword;{请求句柄} IOR_req_vol_handle:longword;{媒体句柄,指向VRP结构} IOR_sgd_lin_phys:longword;{指向第
一个
物理SGD } IOR_num_sgds:byte;{物理SGD的数目} IOR_vol_designtr:byte;{视子功能号的不同,可能是以下两种情况:(1)A盘为0,B盘为1,C盘为2……(2)软盘是0-7F,硬盘是80-FF} IOR_ios_private_1:word;{由IOS保留强制对齐} IOR_reserved_2:array[0..1]of longword; {保留,内部使用}
pelco_云台vc控制系统
在编译本章程序后,请将winio.dll、winio.
vxd
和winio.sys 三
文件
复制到可执行
文件
所在目录下, 否则WinIo库初始化
函数
initializeWinIO
调用
将会失败。
第3章 云台镜头控制系统
在编译本章程序后,请将winio.dll、winio.
vxd
和winio.sys 三
文件
复制到可执行
文件
所在目录下, 否则WinIo库初始化
函数
initializeWinIO
调用
将会失败。
Delphi
5,387
社区成员
262,729
社区内容
发帖
与我相关
我的任务
Delphi
Delphi 开发及应用
复制链接
扫一扫
分享
社区描述
Delphi 开发及应用
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章