关于ASP转DLL的问题

storein 2003-08-21 01:32:38
我自己写的VB程序将ASP代码转换成DLL,但是我发现一个问题,不知道如何解决
我的DLL中使用了API函数 FindWindow(),目的是通过这个函数来判断我的外部程序是否启动了,我的DLL做好后,在WIN98下工作一切正常,但是当我将其放到WIN2K Professional下时,就不工作了,也没有提示什么错误,当我将Findwindow部分去掉后,其他部分还是能工作的.当然Findwindow的使用方式是肯定正确的,不知道这是什么原因造成DLL工作不正常的?
...全文
60 20 打赏 收藏 转发到动态 举报
写回复
用AI写文章
20 条回复
切换为时间正序
请发表友善的回复…
发表回复
zhaobohao 2003-08-26
  • 打赏
  • 举报
回复
j大家在2000下用超级管理员看看..另外把iis的安全登记设定一下..
storein 2003-08-26
  • 打赏
  • 举报
回复
ding
storein 2003-08-25
  • 打赏
  • 举报
回复
continue
storein 2003-08-22
  • 打赏
  • 举报
回复
UP一下
storein 2003-08-22
  • 打赏
  • 举报
回复
ISUER是什么?
我在哪里可以给其提供权限?
还是我没有办法进行操作,只有放弃使用API函数?
storein 2003-08-22
  • 打赏
  • 举报
回复
taogx(滔滔):
我的目的很简单哈,我是想看看我的外部程序是否启动了,否则的话就不运行我的ASP程序,当然有变通的方法,只是我第一想到就是用FindWindow函数,并且我首先是在WIN98下写的程序,运行可以了,后来到WIN2K下出现不能运行的问题,因此才来请教大家,想弄明白是什么原因导致API不能运行,我也将ISUER_***的权限都提高了,还是不行.看来你说的比较有道理.不过我实验了另外的API函数,读写INI文件的API能够工作.
还有我在另外的论坛上问时,一个人谈到:如果不允许运行API,那么我们还编什么DLL供ASP使用做什么?那不是组件什么的就没有意义了?
我现在想:难道是部分API可用,部分API不可用?

欢迎大家继续讨论
taogx 2003-08-22
  • 打赏
  • 举报
回复
ISUER_机器名 是guest组
storein(满天星) 想干什么,只有限制它的权限的没有给它权限的。
2000下ASP变成DLL,所有设计到系统的操作都不能进行,别说是读取注册表了。因为FindWindow会取得服务器上当前运行程序的资料,你说IIS会让他取得吗(有可能泄密哦)
如果可以的话,反而是IIS的漏洞。

storein 2003-08-22
  • 打赏
  • 举报
回复
eliphe(eliphe Alotus):
换一种方法当然是可以的,我只是想弄明白是不是WIN2K不允许这样做,还是设置一下某些地方才允许这样做.
杨小杨 2003-08-22
  • 打赏
  • 举报
回复
因为ISUER这个IIS的访问用户没有权限。

98下是不用这个用户来进行PWS的程序的!

所以98的可以!
andy2001p 2003-08-22
  • 打赏
  • 举报
回复
学习中。。
eliphe 2003-08-22
  • 打赏
  • 举报
回复
我也遇到过,读写注册表在98下可以,在2000下就不行,晕。

劝楼主换一种方法。所谓条条大路通罗马呀!
storein 2003-08-21
  • 打赏
  • 举报
回复
我又试验了另外一个API函数ShellExecute,还是执行不正确.
WQ771211 2003-08-21
  • 打赏
  • 举报
回复
做成activexEXE试试
storein 2003-08-21
  • 打赏
  • 举报
回复
我用的Findwindow很简单的,单独在EXE中使用这个函数没有问题,工作正常,在DLL中去掉这个函数,剩下的部分程序工作也正常,一旦加上这个函数就不工作了
是不是在这种ASP中调用DLL的情况不允许使用API函数?
storein 2003-08-21
  • 打赏
  • 举报
回复
jhysky(尘土御风):
不知道你是怎么调试DLL的,我的方法笨,我是直接在IE中使用DLL,看看有没有问题,和是否达到要求来决定DLL是否工作正常的
jhysky 2003-08-21
  • 打赏
  • 举报
回复
编成DLL调试太费尽,很难查出错误信息,你先作成EXE文件,然后跟一下,如果没有问题再转到DLL上.
storein 2003-08-21
  • 打赏
  • 举报
回复

我就是在WIN2K下调试,可是一点提示信息都不出来哦,我现在就是在WIN2K下编译我的DLL,编译过程没有任何错误提示,我还有另外两个DLL,那两个DLL没有使用API函数,全部都是ASP的东西,因此运行正常,没有问题.我这个DLL加了一个API函数,结果在IE中运行时,状态栏上进度条走到一半就不走了,也没有任何的错误提示,白色一片.我猜想是安全机制的问题,可是不知道在哪里可以处理.我也将IE菜单"Internet选项"中的安全中允许ActiveX的全部都改成"启动"了,可还是一个样.
jhysky 2003-08-21
  • 打赏
  • 举报
回复
你在win2000下调试一下你的Dll程序看发生的错误信息.再跟据提供的数据找出错误所在
杨小杨 2003-08-21
  • 打赏
  • 举报
回复
win2K的安全机制不一样!
lions911 2003-08-21
  • 打赏
  • 举报
回复
2000是基于NT技术构建的

98是基于DOS技术构建的

28,390

社区成员

发帖
与我相关
我的任务
社区描述
ASP即Active Server Pages,是Microsoft公司开发的服务器端脚本环境。
社区管理员
  • ASP
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧