【发布时间】:2017-05-04 10:09:01
【问题描述】:
我已经在这个网站上搜索了我要找的东西;但我不明白。
所以,我写了这个问题。
我用 C++(代码块 IDE)编写了一个 .dll 文件和一个程序。如果dll文件和程序在同一个目录下,我的程序就可以运行了。
但是如果我删除 dll 文件并执行我的程序,Windows 会显示这个错误:
“xxx.exe 已停止工作。”
我想“程序无法启动,因为您的计算机中缺少 xxx.dll。”消息而不是这个。
我该怎么办?
【问题讨论】:
-
您可能需要在 application manifest 中将该 .dll 指定为依赖项。
-
你为什么要这个?普通用户无权更改 `\Program Files\YourApp` 中的文件,并且应该信任管理员不会破坏程序。如果他们仍然这样做,他们应该了解他们的行为的后果。
-
@MSalters 用户会做各种各样的事情,包括“删除所有那些不必要的文件”。这很愚蠢,当然,但这并不意味着它不会发生。为什么您认为它与具有称职管理员的系统有关?
-
@Aziuth:因为 Windows 甚至不会让非管理员进入
C:\Program Files\!它被隐藏和保护。他们甚至没有目录的列出权限,更不用说删除权限。至于拥有管理员密码的白痴,他们可以通过多种方式破坏您的系统,您甚至无法有效处理其中的一小部分。仅举几个愚蠢的想法:重命名\Program Files\或其中的子目录,更改访问权限,随机更改注册表。不要让他们的行为成为你的问题,那是没有希望的。
标签: c++ dll error-handling throw