• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号
您的位置:首页 > 程序设计 >vc/mfc > 如何与服务程序通讯?

如何与服务程序通讯?

作者:佚名 字体:[增加 减小] 来源:互联网 时间:2017-06-04

佚名通过本文主要向大家介绍了modbus rtu通讯程序,串口通讯程序,plc通讯程序,rs485通讯协议程序,三菱plc通讯程序等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com
问题: 如何与服务程序通讯?
描述:

因需要写了个win2000下的服务程序,系统启动时就开始运行。现想运用一个ocx调用服务程序中提供的功能,不知是否可行,如果可以应该怎么做。(注意,服务程序运行后,无窗口)


解决方案1:

1.服务程序用哪种 方式写的?
2.服务程序与OCX所在的进程如何通信?

解决方案2:

和服务通讯,可以通过ControlService发送自定义的控制码。
也可以通过文件映射来做。
用文件影射的时候要注意CreateFileMapping的第二个参数不要为空,就是说需要设置一下权限。
还有文件映射的名称要全局。

解决方案3:

//  Wraps SetServiceStatus.
void SetTheServiceStatus(DWORD dwCurrentState, DWORD dwWin32ExitCode,
                         DWORD dwCheckPoint,   DWORD dwWaitHint)
{
   SERVICE_STATUS ss;  // Current status of the service.
   // Disable control requests until the service is started.
   if (dwCurrentState == SERVICE_START_PENDING)
      ss.dwControlsAccepted = 0;
   else
      ss.dwControlsAccepted =SERVICE_ACCEPT_STOP|SERVICE_ACCEPT_SHUTDOWN;
         // Other flags include SERVICE_ACCEPT_PAUSE_CONTINUE
         // and SERVICE_ACCEPT_SHUTDOWN.
   // Initialize ss structure.
   ss.dwServiceType             = SERVICE_WIN32_OWN_PROCESS;
   ss.dwServiceSpecificExitCode = 0;
   ss.dwCurrentState            = dwCurrentState;
   ss.dwWin32ExitCode           = dwWin32ExitCode;
   ss.dwCheckPoint              = dwCheckPoint;
   ss.dwWaitHint                = dwWaitHint;
   // Send status of the service to the Service Controller.
   SetServiceStatus(ssh, &ss);
}

解决方案4:

COM服务器


分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

  • 程序间通讯的问题,急急急急
  • 两个程序间如何通讯?一个程序启动的时候,怎么让另一个程序知道
  • 如何与服务程序通讯?

相关文章

  • 2017-06-04 关于referencecount的问题
  • 2017-06-04 打开文件对话框的难题!
  • 2017-06-05 简单的线程问题。
  • 2017-06-05 关于自定义消息,传递参数传一个字符串的地址,但是好像不行
  • 2017-06-05 如何访问别一个进程中的线程或(函数)
  • 2017-06-04 VC如何往ppt里添加图表
  • 2017-06-04 ie显示页面的url字符串长度有限制么?
  • 2017-06-04 创建一个包含AciveX控件的ActiveX控件
  • 2017-06-04 怎么调用BHO里的函数
  • 2017-06-05 怎样在程序中开始一个可执行程序的进程,同时可以任意中断这个进程,最好有源代码!

文章分类

  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号

最近更新的内容

    • 我如何实现一个无根的多播组,即把组中某个主机设为组ip,而不是在服务器上设组ip
    • 怎样在COM里添加能够供VB使用的Module,知道请进!
    • MFCDLL中显示对话框的两个问题
    • 前辈请进VC通信
    • 如何在一个activex控件中创建一个IE控件????
    • 请教如何打CAB包
    • 请问编写Activex复合控件时,如何设置字体???????
    • ADOinDLL退出问题
    • 用VC实现---信任站点检测方法
    • evc++程序调用COM组件(也是用evc++编写的)连接时提示无法识别CLSID和IID

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有