API 系统问题!

gqz 2003-08-18 01:11:28
用那条API函数使程序运行起来后不在任务管理器内显示!!
...全文
25 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
sworddx 2003-08-18
  • 打赏
  • 举报
回复
这是个例子:
  为了防止运行在客户端的程序被用户发现,可以把窗体隐藏,并调用API函数让其在Ctrl+Alt+Del的程序列表中消失,需要把自己的程序注册为服务器(Service),这可以利用RegisterService API函数将程序的进程ID进行注册来实现。在程序退出时再次使用此API函数将服务器注册取消。方法如下:
  1.在窗体的声明部分声明加入API函数和需要的常数:
  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
  2.注册为service和释放注册的过程:
  在Form_Load事件的开始添加如下代码
  Dim pid As Long
  Dim reserv As Long
  pid = GetCurrentProcessId() ′得到当前进程ID
  regserv = RegisterServiceProcess(pid, RSP_SIMPLE_SERVICE) ′把本程序注册为service
  把Form_QueryUnload事件修改为如下代码,即在程序结束时把服务器注册取消
  Private Sub Form_QueryUnload(Cancel As Integer, UnloadMode As Integer)
  Dim pid As Long
  Dim reserv As Long
  Close #1
  pid = GetCurrentProcessId()
  regserv = RegisterServiceProcess(pid, RSP_UNREGISTER_SERVICE)
  End Sub
  如果让程序开机运行,需要先把文件编译为可执行文件放到特定目录下,并修改注册表让其开机便运行,路径是\HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVerson\Run,用API函数在里面写入个字符串型的键值,并把内容修改成为你的文件名(包括路径)即可,当然,更为实用的功能是把访问的网址信息定时传送到服务器,需要用到Winsock控件和定时传输。
sworddx 2003-08-18
  • 打赏
  • 举报
回复
是个REGISTERSERVICE API,具体声明我帮你找找。

1,486

社区成员

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

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