在Windows服务中使用MFC?

2024-02-22

我开始开发 Windows 服务。我想使用我自己的一些类,它们对某些 MFC 类(如 CString、CSocket、CArchive、CMemFile 和 CObject)几乎没有依赖性。MSDN http://msdn.microsoft.com/en-us/library/cys3kd51(VS.80).aspx说您需要非常小心在 Windows 服务中使用 MFC 的哪些部分,但没有指定它,也没有描述可能发生的问题。

我的问题是:

  • 可以使用MFC的哪些部分?
  • 使用 MFC 会出现什么问题?
  • Windows 服务的哪些部分对于 MFC 的使用至关重要?
  • 对于Windows服务,是否建议使用ATL而不是MFC?

我不确定 MSDN 文章中的含义。只要您不使用任何 GUI 功能就可以了 - 但这是开发服务时的一般设计问题。

话虽这么说,ATL 具有专门为构建服务 IIRC 而设计的功能,因此您最好使用它。

回答您的问题(据我所知):

1)你指定的没有问题。

2)我猜他们的意思是UI组件的同步问题。只要您不使用任何 CWnd 派生类就可以了。

3)不明白问题。

4) 如前所述,加上 ATL 更加轻量级,因此您需要分发的内容更少,并且提供内置功能,可以减轻开发服务的痛苦。参见例如CAtlServiceModuleT.您仍然可以主要使用自己的类,因为 CString 现在在 MFC 和 ATL 之间共享,并且 ATL 本身具有用于套接字编程和内存文件映射的类。它没有 CArchive 的等效项,而且我不确定您在 CObject 中使用什么功能,所以我不能说 ATL 中是否有等效项。总而言之,我对这个问题说“是”。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在Windows服务中使用MFC? 的相关文章

随机推荐

  • Angular 5 中的页眉和页脚

    我正在用 Angular 5 创建我的网站 我的网站中有主页 商店和类别页面 最初 我决定在整个网站上保持页眉和页脚全局 我的意思是创建页眉和页脚组件并将它们用作指令
  • trigger.io Android 应用程序启动图像首选项问题

    刚刚完成了我的 trigger io 应用程序的第一个版本 并在 android 和 ios 平台上成功进行了测试 trigger io v1 4 forge 工具 v3 3 11 然而 我有一个小故障 我无法更改 Android 默认的
  • Java:catch 块可以是多态的吗?

    在我要复习的一篇论文中 我被问到 catch 块可以是多态的吗 如果属实 那么对我来说调用多个就没有意义catch块多态性 是否是多态性如果catch块无法命名并且仅在其方法头中包含参数 例如 try catch FileNotFoundE
  • Heroku 指南针 buildpack 指南针失败

    我正在尝试将指南针构建包推送到heroku服务器 https github com stephanmelzer heroku buildpack nodejs grunt compass https github com stephanme
  • 如何删除 json_encode() 函数上的反斜杠?

    如何去除 字符串上的反斜杠 使用时echo json encode 例如 注意 当你 echo str 时 不会有问题 但是当你 echo out 使用json encode the 反斜杠将会出现 有办法解决这个问题吗 json enco
  • 在 MongoLab 上运行的 MongoDB 中的日期语法是什么?

    对象 ID 不是 ObjectId 82he921he982he82 而是 id oid 82he921he982he82 但我不知道如何在 MongoLab 上的文档中创建日期值 s 如果您使用其中一个驱动程序 则可以通过该语言的 Dat
  • 如何在 iOS 中引用刚刚拍摄的照片?

    我正在编写一个应用程序 允许用户拍照然后在图像视图中显示它 我知道我需要编写一行类似于以下内容的代码 imageView image picker image 但我不确定我需要用什么来代替picker image 这就是我目前所拥有的 它给
  • 我们可以强制函数在c++中内联吗

    一般来说 inline关键字只是对编译器的一个请求 编译器会根据函数的实现来决定是否进行内联扩展 但是有什么方法可以强制函数内联吗 我们该怎么做呢 这完全依赖于编译器 一些编译器提供了执行您想要的操作的方法 For gcc看一眼this h
  • UnitTesting Android TabActivity 时出现 Nullpointer 异常

    我目前正在对示例 TabLayout 进行单元测试安卓网站 http developer android com resources tutorials views hello tabwidget html 我在进行单元测试时遇到 Null
  • Angular Material Snackbar 更改颜色

    我正在使用 Angular 7 和 Material Snackbar 我想将 Snackbar 的颜色更改为绿色 在 app component ts 中 我有 this snackBarRef this snackBar open re
  • Erlang:元组列表转换为 JSON

    我有一个元组列表 它们是 http 标头 我想将列表转换为 JSON 对象 我尝试 mochijson2 但无济于事 所以我有以下内容 Accept text html application xhtml xml application x
  • Savon—配置为使用 TLS 1.2

    我正在开发一个使用 Savon 连接到 SalesForce api 的旧项目 我收到此错误 UNSUPPORTED CLIENT TLS 1 0 has been disabled in this organization Please
  • oracle plsql:如何解析XML并插入到表中

    如何将嵌套的 xml 文件加载到数据库表中
  • Parallel.ForEach 与 foreach 的指导原则是什么?

    我很好奇 Parallel ForEach 的性能特征 给定 Parallel ForEach 循环内的任何有效构造 使用 Parallel ForEach 是否总是比 foreach 循环更可取 我特别想知道在小型集合或 foreach
  • 当只有 1 个实例时,Snowflake XML 解析不适​​用于嵌套结构

    我们在 Snowflake 中有一个名为 portfolio 的临时表 其中有一个名为 cdc xml 的 Variant 列 用于存储 Snowpipe 通过 S3 加载的 XML 文档 XML 看起来像
  • 更改表单不透明度而不更改容器控件的不透明度

    是否有可能 与Windows 窗体 http en wikipedia org wiki Windows Forms在 NET中 要更改表单的不透明度而不自动更改表单内控件的不透明度 我有一个正在最大化运行的表单 其中在表单中心包含一个 f
  • 发生 Java UUID.randomUUID 冲突的机会有多大? [复制]

    这个问题在这里已经有答案了 我需要在 Java 中创建一些唯一文件 并且我计划使用 UUID randomUUID 来生成它们的名称 有可能因此发生碰撞吗 我应该做类似下面的事情吗 我不应该担心这个 Integer attemptsToGe
  • iPhone/iPad 应用程序使用键盘快捷键?

    随着 iPad 和 iPhone 键盘的推出 现在向应用程序添加键盘快捷键是有意义的 可以在应用程序中执行此操作吗 相关API有哪些 虽然这个问题相当老了 但 Apple 在 iOS 7 中添加了对键盘特定快捷键的支持 查看UIKeyCom
  • Spring jdbctemplate批量更新快速替代方案

    我正在尝试使用 Spring JDBC 模板批量更新将大约 5000 个值插入到 MySql 表中 如下所示 http www mkyong com spring spring jdbctemplate batchupdate exampl
  • 在Windows服务中使用MFC?

    我开始开发 Windows 服务 我想使用我自己的一些类 它们对某些 MFC 类 如 CString CSocket CArchive CMemFile 和 CObject 几乎没有依赖性 MSDN http msdn microsoft