如何检测Windows版本是否合法? [关闭]

2024-05-14

我对获取版本信息不感兴趣。我想做的就是确保我的应用程序只能在合法版本的 Windows 上运行,而不是在盗版版本上运行。 Windows 使用一些技巧来确定这一点,但仍然允许盗版版本继续运行,尽管有一些限制。

那么,有没有办法检查应用程序是否安装在合法、正版的 Windows 版本上呢? (至少是 Vista 或更好。)


让我澄清一下:微软并没有阻止用户使用未经验证或非法版本的操作系统。因此,我也没有任何理由在这样的版本上阻止我的应用程序。但我确实希望我的应用程序能够了解非法版本,并警告用户他的 Windows 版本未经验证。也许他忘记了,也许他不想验证。造成这种情况的原因可能有很多,我不想阻止他们,只是让他们意识到 Windows 版本存在问题。

另外,当有人使用非有效版本的 Windows 时,如果我的软件是商业产品,我可能需要对其进行更严格的验证检查。在我的免费产品中,我只想要一个烦人的弹出窗口,它每天只出现一次。

未经验证的 Windows 版本的主要问题是它们可能包含额外的间谍软件和其他恶意软件,并且它们有可能无法获得所有必需的更新。这些 Windows 版本的保护比经过验证的 Windows 版本要弱。由于我的几个应用程序使用敏感数据,因此我不希望任何恶意软件泄露这些敏感数据。

另外,我认为盗版软件对任何免费替代品都是有害的。如果没有那些盗版 Windows 版本的横行,Linux 和 FreeBSD 将会更加流行。使用盗版软件的人不太可能首先购买该产品,但我希望他们使用免费的替代品。盗版软件对微软造成了一点伤害,但它对免费社区造成了更大的伤害,因为它让人们与这些商业产品保持联系......


这是一个有趣的问题,但态度是错误的。检查用户的事务不是你的事。

或者你也可以:

  • 在向他们出售您的软件之前需要他们的纳税申报

  • 警方的书面证明,他们没有犯罪记录(或者他们可能倾向于再次违法并盗版您的软件)

  • 检查他们是否安装了任何种子软件(当然它可以合法使用,但他们拥有它的事实意味着他们可能会滥用它)

  • 检查他们是否安装了防病毒软件(以提高他们的社会意识并帮助打击垃圾邮件机器人网络)

  • 信用记录报告(以确保他们已及时支付账单并且也不会忘记支付您的软件费用)

  • 家庭医生证明他们没有绝症(感觉受到谴责的人可能会违反法律并盗版您的软件)

你明白它的发展方向了吗?

开发软件的关键规则之一 - 您的软件应该有用,让用户满意并尽可能减少障碍。

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

如何检测Windows版本是否合法? [关闭] 的相关文章

  • 对话框在时间设计上具有现代外观,但在运行时具有旧外观(使用 Visual C++ 和资源编辑器)

    我正在使用 Visual C 的资源编辑器创建一个对话框 当我运行编辑器的测试按钮时 对话框的组件以现代的外观显示 而当运行创建并显示对话框的应用程序时 它以旧的外观显示 我只是使用 WINAPI 调用来显示对话框 而不是MFC 以下是屏幕
  • 防止基于时间的复制保护规避? [关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 我有一些试用软件希望分发给客户 我希望试用版软件在安装 30 天后停止工作 在软件中简单检查系统日期是实现此目的的最直接方法 但是客户
  • 从具有不同活动 perl 版本的另一个 perl 脚本调用 perl 函数

    我们有两个版本的 Active perl 5 6 和 5 24 我们有必须在 Active perl 5 24 版本 采用 TLS 1 2 版本 上执行的 Web 服务 并且需要从 Active perl 5 6 版本调用 我们使用的是wi
  • 修改正在运行的可执行文件的资源内容

    All 我将应用程序设置存储在资源中 当我的程序首次加载时 我使用 WinAPI 读取指定的资源 然后我解析检索到的字节数据 这对我来说完美无缺 现在假设用户更改了我的应用程序中的设置 他 她检查复选框控件 我想将更新的设置保存到我的资源中
  • C++中最大化窗口时的问题

    我的程序需要任意最大化当前桌面上的任何窗口 我通过调用来实现这一点ShowWindow hWnd SW MAXIMIZE 其中 hWnd 是HWND我想要最大化的窗口 当该行代码执行时 相关窗口 此处为记事本 如下所示 一切看起来都很好 除
  • 替换全局热键

    我有一个位于托盘中的应用程序 我想定义多个热键来触发我的程序中的事件 我从 AaronLS 在这个问题中的出色回答中找到了灵感 使用C 设置全局热键 https stackoverflow com a 27309185 3064934 如果
  • 使用 DEF 文件而不是 LIB 文件链接到 DLL?

    我了解到你可以 将 DLL 文件转换为 DEF文件 其中包括其导出 编辑 这不适用于许多约定 转换一个 DEF文件转换为 LIB 文件 您可以使用该文件链接到 DLL 为什么 大多数 链接器不能链接到给定的 DLLonly DEF 文件 而
  • 批量修改XML文件

    好的 所以我不太熟悉使用 For F 如果文件是静态的并且有一组可以跳过然后从中提取数据的行 我可以修改它 我目前正在尝试修改 XML 文件 该文件将具有不同数量的行 但始终具有以下内容
  • 如何使用WAMP登录phpMyAdmin,用户名和密码是什么?

    根 这个词是什么意思php我的管理员 http en wikipedia org wiki PhpMyAdmin 每当我写作时localhost phpmyadmin在地址栏上 我被要求输入用户名和密码 但我不知道它们是什么 我不记得何时何
  • 在 Windows 上为 Bitbucket 设置 SSH 密钥

    首先 我对 git repos 和命令行绝对是菜鸟 我在 Bitbucket 上有仓库 我基本上希望能够通过 gitbash 推送到存储库 而无需每次输入密码 我拥有的 Bitbucket 上的存储库已设置好代码 克隆存储库的本地目录 通过
  • Windows XP 和 Vista 编程之间的主要区别是什么?

    从桌面应用程序开发人员的角度来看 Windows XP 开发和 Windows Vista 开发之间有什么区别吗 用户界面 看着Windows Vista 用户体验指南 http msdn microsoft com en us libra
  • Gtkmm 程序编译正常但崩溃 - Windows XP

    我最近安装了 gtkmm gtkmm 2 4 当我使用 g 编译时 我使用 pkg config 中的以下信息 头文件 pkg config gtkmm 2 4 cflags 目标文件 pkg config gtkmm 2 4 libs 所
  • 检查上次更改密码的时间[关闭]

    Closed 这个问题是与编程或软件开发无关 help closed questions 目前不接受答案 Locked 这个问题及其答案是locked help locked posts因为这个问题是题外话 但却具有历史意义 目前不接受新的
  • 使用 BHO 扩展 Windows 资源管理器

    我正在尝试使用 C 中的自定义面板来扩展 Windows 资源管理器 不是谎言 它应该如下所示 这是我发现的一个类似的问题 在 C 中 类似问题 https stackoverflow com questions 22101829 ishe
  • 如何在 QT 安装程序框架中区分每用户安装与系统范围安装?

    我正在使用一些名为 pgModeler 的应用程序 它的当前版本提供了一个基于 QT 安装程序框架的安装程序 Windows 上该安装程序的问题是它安装每个用户的开始菜单条目 https github com pgmodeler pgmod
  • 使用 std::string 导致 Windows“找不到入口点”[重复]

    这个问题在这里已经有答案了 当我用 G C C 编译它时 include
  • C++ Windows - 如何从 PID 获取进程路径

    如何在 Windows 上使用 C 从进程的 PID 检索进程的完全限定路径 Call OpenProcess http msdn microsoft com en us library ms684320 28VS 85 29 aspx获取
  • 设置透明背景Win32

    我想做的事情非常简单 但似乎没有太多信息 基本上我有一个普通的不透明父窗口 我想在该父窗口内放置一个子窗口 有自己的不透明控件 所以我唯一要做的就是将子窗口的背景画笔设置为透明 但它仍然绘制白色背景 尝试使用 WS EX LAYERED 样
  • Python 在 64 位 vista 上获取 os.environ["ProgramFiles"] 的错误值

    Vista64 计算机上的 Python 2 4 3 环境中有以下2个变量 ProgramFiles C Program Files ProgramFiles x86 C Program Files x86 但是当我运行以下命令时 impo
  • 让 Windows 尝试读取文件

    我正在对 Windows 文件系统进行某种封装 当用户请求打开文件时 Windows 调用我的驱动程序来提供数据 在正常操作中 驱动程序返回缓存的文件内容 但是 在某些情况下 实际文件没有缓存 我需要从网络下载它 问题是是否有可能让 Win

随机推荐

  • 使用 MemoryStream 创建 Open XML 电子表格时的 Excel 和“不可读内容”

    使用 Open XML SDK v2 0 创建 Excel 电子表格时 我们的 Excel 输出最初可以成功运行几个月 最近Excel 所有版本 开始抱怨 Excel在 zot xlsx 中发现不可读的内容 是否要恢复此工作簿的内容 我们正
  • 使用 React Native 的 FlatList 进行 Swiper

    我想让我的水平 FlatList 启用分页 向左或向右滚动 使内容始终位于屏幕中央 并且下一个和上一个内容仍然出现 Something like this for the horizontal actions But unfortunate
  • 直方图均衡结果

    I am trying to code histogram equalization by my self but the results are different from the built in function in matlab
  • 从 Angular-ui 引导日期选择器中删除周列和按钮

    我在用Angular UI Bootstrap 日期选择器 http angular ui github io bootstrap datepicker 现在我需要从日期选择器中删除 week 列和周按钮 我的应用程序的多种形式都使用了这个
  • 学习实体框架[关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • 使用全文搜索查找精确匹配

    使用 Sql Server 2008 如何使用全文搜索来实际找到精确的字符串匹配 我对此感到非常困难 而且我在网上找不到令人满意的解决方案 例如 如果我正在搜索字符串 Bojan Skrchevski 我希望第一个结果正是如此 到目前为止
  • 计算数字的二进制表示形式中 1 的数量的最佳方法。 (MIPS)

    我需要计算二进制数中 1 的数量 比如说 5 所以 00001001 将是 2 或 n 2 我正在使用 MIPS 最好的方法来做到这一点 最好的方法是count them 您可以检查是否设置了最低有效位 a1 by and用一个来代替它 如
  • 在 Firebase 中为 TextView Swift 保存字体和大小的方法是什么

    我想在 Firebase 中保存 Swift 中 TextView 的字体 大小和对齐方式 这样我就可以在另一个视图中调用它 我只能将颜色保存在 Firebase 中 这是显示我是如何做到的的代码 IBAction func SendBtn
  • 如何在发送邮件之前验证 smtp 凭据?

    我需要验证在中设置的用户名和密码SmtpClient发送邮件之前的实例 使用此代码 SmtpClient client new SmtpClient host client Credentials new NetworkCredential
  • 如何删除或更改默认帮助命令?

    如何删除或至少更改discord py 中默认帮助命令的格式 我认为改变格式会很好 我根本不喜欢这种格式 尝试这个 bot remove command help 在导入之后将其放在代码的顶部 然后创建你自己的 或者要格式化它 请检查一下
  • 升级到最新支持库后Android JACK编译器错误

    Android Studio 2 2 3 Windows 10 64位 构建工具版本 25 Android Gradle插件版本2 2 3 升级到最新的支持库 从 23 4 0 到 25 1 0 并更改编译版本 从 23 到 25 后 我收
  • Groupby 应用自定义函数 Pandas

    我正在尝试在 pandas 中应用类似于 dplyr 中的 groupby 和 mutate 功能的自定义函数 我想做的是给出这样的 pandas 数据框 df pd DataFrame category1 a a a b b b cate
  • 表已满(使用 MEMORY 引擎)

    我想将生产数据库传输到我的开发机器上进行测试 它有 6 张桌子MEMORY出于性能目的的引擎 I did mysqldump routines hxxx uxxx pxxx prod database gt prod dump sql 当我
  • 在Python中根据for循环中的字典键创建动态变量

    我有这个程序 dict1 x 1 y 10 20 for each in list dict1 keys exec each dict1 each exec x dict x exec y dict y print x print y 我真
  • 寻找将集合映射到整数的双射函数

    对于任意两个序列 a b 其中 a a1 a2 an 且 b b1 b2 bn 0a b具有相同的元素 而不关心它们的顺序 例如 如果 a 1 1 2 3 b 2 1 3 1 c 3 2 1 3 则 f a f b f a f b 我知道有
  • 如何在 Tableau 中将数据规范化为某个范围

    在 Tableau 中 我尝试实现以下规范化逻辑 https stats stackexchange com questions 70801 how to normalize data to 0 1 range https stats st
  • MySQL 获取时间优化

    o我有一个包含 200 万个寄存器的表 但它很快就会增长得更多 基本上 该表包含具有相应描述符的图像的兴趣点 当我尝试执行选择在空间上靠近查询点的点的查询时 总执行时间花费太长 更准确地说 持续时间 获取 0 484 秒 27 441 秒
  • gnuplot:字体较小的字幕

    有人知道如何在 gnuplot 中插入较小字体的字幕吗 目前 我创建字幕的方式是使用 n在标题中 另外 我希望字幕的字体较小 提前致谢 这至少适用于 postscript 终端 出于某种原因x11不想缩放我的字体 也许这是一个错误 set
  • 枚举的子类化

    有没有一种简单的方法来子类化Javaenum 我问这个问题是因为我有大约 10 个实现相同接口的对象 但它们对某些方法也有相同的实现 因此我想通过将所有相同的实现放置在扩展的中间对象中来重用代码Enum它也是我需要的所有其他类的超类 或许事
  • 如何检测Windows版本是否合法? [关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 我对获取版本信息不感兴趣 我想做的就是确保我的应用程序只能在合法版本的 Windows 上运行 而不是在盗版版本上运行 Windows 使