API错误,找不到DLL入口点?

Garfield 2001-09-01 03:18:55
代码如下,目的是注册服务进程,但是使用的时候返回找不到dll入口点错误,机器是WinNT 5 SP2,VB6+SP5,请问如何解决?

Option Explicit

Private Declare Function GetCurrentProcessId Lib "kernel32" () As Long
Private Declare Function GetCurrentProcess Lib "kernel32" () As Long
Private Declare Function RegisterServiceProcess Lib "kernel32" (ByVal dwProcessID As Long, ByVal dwType As Long) As Long

Private Const RSP_SIMPLE_SERVICE = 1
Private Const RSP_UNREGISTER_SERVICE = 0

Public Sub MakeMeService()
Dim pid As Long
Dim reserv As Long
pid = GetCurrentProcessId()
RegisterServiceProcess pid, RSP_SIMPLE_SERVICE
End Sub

Public Sub UnMakeMeService()
Dim pid As Long
Dim reserv As Long
pid = GetCurrentProcessId()
RegisterServiceProcess pid, RSP_UNREGISTER_SERVICE
End Sub
...全文
189 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
Garfield 2001-09-02
  • 打赏
  • 举报
回复

Thanks,I will take your advice No.2
black_fox 2001-09-02
  • 打赏
  • 举报
回复
那你可以用RegisterServiceProcess 这个api。
不过你是在NT 5.0(我想是2000吧)肯定是找不到DLL的入口点。。呵呵
有两个解决方法。
一。你到98下去编译
二。你通过getver来判断当前的操作系统解决是否调用RegisterServiceProcess 这个api
Garfield 2001-09-02
  • 打赏
  • 举报
回复
我并不要求2000下看不到进程,只要98看不到就行了。
我做的是一个Web服务器。
black_fox 2001-09-01
  • 打赏
  • 举报
回复
冰河应该是不行的。
在2000下任务管理器可以看到所有的进程的
目前有一个护花使者可以。
如果你想做到进程隐藏,建议在这里找一下。。很多。不过源码是delphi的。
是剑神写的。。。呵呵
Garfield 2001-09-01
  • 打赏
  • 举报
回复
我想做的是在Win98下隐藏进程,在Win2000作为服务进程。:p
不过真的,怎么会这样呢,冰河好像两个系统都可以用啊。
black_fox 2001-09-01
  • 打赏
  • 举报
回复
是的。你要做成服务还是要隐藏进程。
做成服务,MS有个OCX,叫NTSVC.OCX,你可以去找一下。
要隐藏进程,只能采用DLL注入的办法或是Hook,CSDN上有很多这样的贴子
Garfield 2001-09-01
  • 打赏
  • 举报
回复
但是如果我想实现同样的效果,应该怎样做?(作为服务进程)
如果Win98开发的放在Win2000上那就是不能用了?
black_fox 2001-09-01
  • 打赏
  • 举报
回复
2000中不支持RegisterServiceProcess ,
所以找不到

1,485

社区成员

发帖
与我相关
我的任务
社区描述
VB API
社区管理员
  • API
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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