为什么调用API失败呢?

Pengcheng2006 2003-11-09 11:00:28
我的系统是WIN XP,程序中用了下面的API,然后程序运行时报错:说找不到RegisterServiceProcess函数的入口。

请问,该怎样解决?








Private Declare Function GetCurrentProcessId 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

Private Sub Form_Load()

Call RegisterServiceProcess(GetCurrentProcessId, 1)

End Sub
...全文
1733 20 打赏 收藏 转发到动态 举报
写回复
用AI写文章
20 条回复
切换为时间正序
请发表友善的回复…
发表回复
Pengcheng2006 2003-12-10
  • 打赏
  • 举报
回复
谢谢各位了。最近我忙于做自己的主页了,没过来看,非常抱歉。
eastbug 2003-12-08
  • 打赏
  • 举报
回复
to:mysticboymemory(MysticBoy)
补充一下:
我在17楼提供的程序源码不仅仅是隐藏的程序窗口,这两段代码的主要功能确切的说是在NT系统的任务管理器中隐藏的程序标题.
eastbug 2003-12-08
  • 打赏
  • 举报
回复
"这样的话,那么在win NT里,怎样才能隐藏程序呢?"
以上引用搂主原话。
tomysticboymemory(MysticBoy) :
Windows98的任务管理功能比较差.不能显示服务进程.RegisterServiceProcess函数是在9x系统中将进程注册为服务进程,可以在9x系统的任务管理器中隐藏"程序".事实上只要随便找个小工具都可以看到9x系统的服务进程.由此推断搂主要求隐藏的所谓"程序"不过是希望如9x系统一样隐藏程序窗口.但,由于NT系统的任务管理器功能相对强大许多,所以既便隐藏了程序窗口仍然可以看到程序进程.如果需要隐藏进程,可将程序写成DLL形式,通过NT系统的SVCHOST.EXE或者RUNDLL32.EXE启动.此时NT任务管理器中的进程管理中看到的将只是SVCHOST.EXE或者RUNDLL32.EXE这两个系统进程.
mysticboymemory 2003-12-08
  • 打赏
  • 举报
回复
eastbug(东方小虫):
但是我还是可以看到你的进程。你隐藏的仅仅是窗体。
eastbug 2003-12-07
  • 打赏
  • 举报
回复
很简单,也许下面的代码对你有用。
方法一:
1.引用API
Private Declare Function FindWindow Lib "USER32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long
Private Declare Function ShowWindow Lib "USER32" (ByVal hWnd As Long, ByVal nCmdShow As Long) As Long
2.自定义过程Hidewindow
Private Sub HideWindow(Title As String)
Dim hDC As Long
hDC = FindWindow(vbNullString, Title)
ShowWindow hDC, 0
End Sub
3。form_load过程添加如下代码
Private Sub Form_Load()
HideWindow App.Title
end sub
方法二:
Private Sub Form_Load()
App.TaskVisible = False
end sub

呵呵。。。。。看完帖子请结帐哦。
mingtian2008 2003-12-07
  • 打赏
  • 举报
回复
up
pengcheng26 2003-11-17
  • 打赏
  • 举报
回复
请大家说的具体点好吗?谢谢了。
pengcheng26 2003-11-16
  • 打赏
  • 举报
回复
请大家说的具体点好吗?谢谢了。
pengcheng26 2003-11-16
  • 打赏
  • 举报
回复
请大家说的具体点好吗?谢谢了。
kmzs 2003-11-16
  • 打赏
  • 举报
回复
不可能,他的意思是让你修改Windows系统。。。
wingsoft 2003-11-15
  • 打赏
  • 举报
回复
不容易,
方法是不少,但都是很有难度的.
做成DLL,绑到某系统程序中调用,需要逆向工程,破解,江编技术
等.
Pengcheng2006 2003-11-15
  • 打赏
  • 举报
回复
将什么作成DLL?详细点好吗?谢谢了。
Pengcheng2006 2003-11-14
  • 打赏
  • 举报
回复
请高手指教:在win NT里,怎样才能隐藏程序呢?谢谢了。
pengcheng26 2003-11-13
  • 打赏
  • 举报
回复
那么在win NT里,怎样才能隐藏程序呢?
Pengcheng2006 2003-11-12
  • 打赏
  • 举报
回复
这样的话,那么在win NT里,怎样才能隐藏程序呢?
Pengcheng2006 2003-11-12
  • 打赏
  • 举报
回复
.
suntt 2003-11-12
  • 打赏
  • 举报
回复
nt 系列之所以要去掉RegisterServiceProcess是为了安全。
Pengcheng2006 2003-11-11
  • 打赏
  • 举报
回复
哪位朋友能解释一下?谢谢了
Pengcheng2006 2003-11-10
  • 打赏
  • 举报
回复
那么在win NT里,有什么API可以代替“RegisterServiceProcess”这个api呢?谢谢了。
lihonggen0 2003-11-10
  • 打赏
  • 举报
回复


RegisterServiceProcess这个api不支持win NT,
支持windows 95,98


http://www.mentalis.org/apilist/RegisterServiceProcess.shtml

http://msdn.microsoft.com/library/default.asp?url=/library/en-us/win9x/95scm_5qcu.asp

1,486

社区成员

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

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