vcshcn
驱动牛犊
驱动牛犊
  • 注册日期2001-09-23
  • 最后登录2018-05-29
  • 粉丝0
  • 关注0
  • 积分4分
  • 威望20点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
  • 社区居民
阅读:1781回复:8

about open vxd

楼主#
更多 发布于:2001-09-23 01:20
我是一个vxd出学者,在win98下用98ddk写了一个CS1.VXD,产生了一个CS1.VXD,然后用delphi写了一个加载程序,如下:

hDevice:=CreateFile(pchar('\\.\CS1.VXD'),0,0,nil,0,FILE_FLAG_DELETE_ON_CLOSE,0);
总是错误,用GetLastError()取得为2,msdn解释为2 The system cannot find the file specified.
但我的vxd和exe确是在同一个目录下,请问有没有可能是vxd文件编写的问题呢?已经折腾了2个星期了,真搞不懂烦人的vxd,还望指点迷团。
还有一个问题,如何在vxd中显示一个对话框呢或让他有点反应呢,我现在写的只是一个架子?
vcshcn
Tomgin
驱动牛犊
驱动牛犊
  • 注册日期2001-08-08
  • 最后登录2005-06-06
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2001-09-24 09:08
把 .vxd 去掉,
hDevice:=CreateFile(pchar('\\.\CS1'),0,0,nil,0,FILE_FLAG_DELETE_ON_CLOSE,0);
努力呀,还有许多东西不会呢。
lvyingf
游客
游客
板凳#
发布于:2001-09-24 23:35
返回错误代码2,是文件打开错误,并不一定是找不到文件。
在load你的vxd过程中,初始化出错就会出现这个问题,所以你应该仔细检查你的初始化函数,看看在什么地方失败了。
delphi我没有用过,难道它不支持debug跟踪进你的代码吗?
Buddha
驱动老牛
驱动老牛
  • 注册日期2001-04-29
  • 最后登录2013-05-18
  • 粉丝0
  • 关注0
  • 积分2分
  • 威望17点
  • 贡献值0点
  • 好评度3点
  • 原创分0分
  • 专家分0分
地板#
发布于:2001-09-27 10:26

估计就是asm386说的那种情况,去掉.vxd就应该可以了
<table style="filter: glow(color=sky blue, strength=10)"> <font color=white> 猫生病了, 老鼠大声朗诵诗集, 并修剪盆花. 猫生病了, 老鼠慢慢刷牙洗脸, 并打扫房间. 猫生病了, 老鼠倚在窗边欣赏夜色, 并对流星许愿. 猫生病了, 老鼠也病了, 它说:"我还是习惯那种时时紧张, 处处小心, 夜夜逃亡的生活." 午夜, 我听到老鼠在叹息, 且不再读诗了. </font></table>
vcshcn
驱动牛犊
驱动牛犊
  • 注册日期2001-09-23
  • 最后登录2018-05-29
  • 粉丝0
  • 关注0
  • 积分4分
  • 威望20点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
  • 社区居民
地下室#
发布于:2001-09-27 17:44
谢谢大家的回复,但我的还是不成,
如果您愿意,请到http://vcshcn.yeah.net/
可以查看我的vxd source.
vcshcn
zwwzm
驱动牛犊
驱动牛犊
  • 注册日期2001-06-25
  • 最后登录
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
5楼#
发布于:2001-09-28 09:12
   去掉那个 可恶的 pchar!看来您对delphi还是不透 啊!
zwwzm 人需要冒险!
vcshcn
驱动牛犊
驱动牛犊
  • 注册日期2001-09-23
  • 最后登录2018-05-29
  • 粉丝0
  • 关注0
  • 积分4分
  • 威望20点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
  • 社区居民
6楼#
发布于:2001-09-29 19:27
谢谢您,其实我已经尝试了许多方法,包括去掉pchar(),结果还是返回错误2,而且根据api帮助文件,CreateFile()参数第一个为LPCTSTR lpFileName,也应该是对应pchar类型.
不过非常感谢您,盼望您出提更多的方案,好让我再试试。
vcshcn
zwwzm
驱动牛犊
驱动牛犊
  • 注册日期2001-06-25
  • 最后登录
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
7楼#
发布于:2001-09-30 15:55
但不管如何,pchar是可不要的,因为他已经是pchar 了.您也可 如此:
在ring3 下试一下调用别的vxd,即采用替换法.
zwwzm 人需要冒险!
vcshcn
驱动牛犊
驱动牛犊
  • 注册日期2001-09-23
  • 最后登录2018-05-29
  • 粉丝0
  • 关注0
  • 积分4分
  • 威望20点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
  • 社区居民
8楼#
发布于:2001-10-02 01:00
我以前曾经打开过ipman的vpacket.vxd成功了。
到我写的vxd却不成,所以我怀疑是vxd编写问题。
vxd 源码:
<a href="http://vcshcn.yeah.net/faq/">http://vcshcn.yeah.net/</a>
非常感谢。
[vcshcn 编辑于 2001-10-02 01:02]
[vcshcn 编辑于 2001-10-02 01:03]
[vcshcn 编辑于 2001-10-21 02:14]
vcshcn
游客

返回顶部