如何在程序中调用API启动局域网中某台机器的某项服务

pbdesigner 2001-08-30 05:01:22
可调用哪个API?请给个例程好吗?
...全文
177 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
han012 2001-09-05
  • 打赏
  • 举报
回复
这样吧,如果你觉得这个方法不好,我再给你一个方法,这次你可别说与木马同理

Windows中有假冒API(Impersonate API):

ImpersonateNamePipeClient()
DdeImpersonateClient()
RpcImpersonateClient()

其中,命名管道假冒RpcImpersonateClient中,服务器首先得到一个命名管道句柄,这通常是调用ConnectNamedPipe可以得到的,然后用此句柄调用RpcImpersonateClient. 之后服务器应用程序可以代表客户机进行调用--启动本地服务.
以上方法比第一种方法增加了用户鉴别机制(利用NT的用户鉴别机制),所以客户想要访问本地资源必须要提供合法的用户名/password,这就像在局域网上访问别人的共享资源.

这种方法实现比较复杂,编程也需要对NT安全机制/假冒API/命名管道有较深的了解.但是一种经常被实际应用的方法.
pbdesigner 2001-09-05
  • 打赏
  • 举报
回复
我用PB写了一段代码可以启动远程的MSSQLSERVER服务,但它只能运行在NT和2000环境,98不行,而且启动不了除MSSQLSERVER外别的服务,因为这几个函数windows和windows ce不支持。
han012(阿毛)的方法应该可行,但这不等于明目张胆地要在人家机器上装木马同理?
han012 2001-09-04
  • 打赏
  • 举报
回复
好象目前没有什么好方法.
不过我想了一个不是办法的办法,但理论上应该可以"启动局域网中某台机器的某项服务"
1)在需要被控制的机器上安装一个 HTTP Server
2)开发一个ISAPI DLL. 实现:
根据客户发来的HTTP请求(其中指定了需要启动的服务名字),用OpenSCManger, OpenService, StartService等函数启动本地服务程序.
3)将此ISAPI DLL放到需要被控制的机器上(安装了HTTP Server)
4)这样在任何机器上,都可以通过HTTP,向被控制的机器发送启动服务的请求.就象请求一个查询一样.
pbdesigner 2001-08-31
  • 打赏
  • 举报
回复
各位大侠帮忙!
pbdesigner 2001-08-31
  • 打赏
  • 举报
回复
up
pbdesigner 2001-08-30
  • 打赏
  • 举报
回复
谢waterpig(waterpig).
但是这几个函数windows和window ce不支持,另外只能启动本机的服务,启动不了远程机器的服务(出现203号错误。如何解决?
waterpig 2001-08-30
  • 打赏
  • 举报
回复
怎么都喜欢做这些啊,
用OpenSCManger,OpenService,StartService

16,471

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC相关问题讨论
社区管理员
  • 基础类社区
  • Web++
  • encoderlee
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

        VC/MFC社区版块或许是CSDN最“古老”的版块了,记忆之中,与CSDN的年龄几乎差不多。随着时间的推移,MFC技术渐渐的偏离了开发主流,若干年之后的今天,当我们面对着微软的这个经典之笔,内心充满着敬意,那些曾经的记忆,可以说代表着二十年前曾经的辉煌……
        向经典致敬,或许是老一代程序员内心里面难以释怀的感受。互联网大行其道的今天,我们期待着MFC技术能够恢复其曾经的辉煌,或许这个期待会永远成为一种“梦想”,或许一切皆有可能……
        我们希望这个版块可以很好的适配Web时代,期待更好的互联网技术能够使得MFC技术框架得以重现活力,……

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