为啥打开程序是总是显示“找不到所需的.DLL文件”
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了为啥打开程序是总是显示“找不到所需的.DLL文件”相关的知识,希望对你有一定的参考价值。
1,开始-运行-输入:regedit,然后回车2,选择“我的电脑”,然后点击“文件”-“导出”-随便起个名字点“保存”。这样做的目的是备份一下注册表,以免误操作后及时恢复。恢复的方法是,找到你刚才保存的文件,双击它,然后选择“允许导入”即可。
3,选择“我的电脑”,按F3键,然后输入“****”,点击“查找下一个”,找到后一定要核对是不是****.dll文件,因为你给的文件名不全,如果确认,对该项点“右键”选“删除”。“此时可以输入****.dll进行查找,结果出来后要看后面的数值部分,不能光看文件名称,只要有****.dll在的文件不管它边上还写没写别的(如:****.dll,load),都要删除!”
4,然后再按F3键-删除,直到提示“没有找到相应选项”为止。
5,重新启动计算机,看看系统有没有问题。
注,如果出现了其它严重问题,请恢复注册表。
如果还是出现的话你可以在注册表的这几个地方再查看一下
[HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Run]
[HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\RunOnce]
[HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\RunServices]
[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run]
[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\RunOnce]
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\policies\Explorer\Run]
[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer\Run]
[HKEY_CURRENT_USER\Software\Microsoft\Windos
NT\CurrentVersion\Windows] 参考技术A 1.是单独一个程序不能正常使用吗?
那就要把这个程序卸载重装了,要是都不行的话
2.那只能去查杀病毒了..
3,再不行就要恢复系统文件了..在开始_运行_输入CMD(回车)_SFC
/SCANNOW
然后放入系统安装盘,按提示修复
为啥 SwiftUI 中的 URL Scheme/onOpenURL 总是打开一个新窗口?
【中文标题】为啥 SwiftUI 中的 URL Scheme/onOpenURL 总是打开一个新窗口?【英文标题】:Why does URL Scheme/onOpenURL in SwiftUI always open a new window?为什么 SwiftUI 中的 URL Scheme/onOpenURL 总是打开一个新窗口? 【发布时间】:2021-03-15 23:25:52 【问题描述】:我正在将旧的 macOS 应用程序转换为 SwiftUI,但在使用新的 SwiftUI WindowGroup 时遇到了问题。
旧的应用程序是一个单窗口应用程序(基本上是一个美化的计时器),并且可以使用 URL 方案 (appname://15) 来更改计时器。
我尝试使用 onOpenURL 方法重新创建旧的 URL Scheme 功能,但每当触发 URL Scheme 时,应用程序都会打开一个新窗口,我不知道如何阻止这种情况发生。
var body: some Scene
WindowGroup
ContentView()
.onOpenURL(perform: url in
print("\(url)") // This is just debug code
)
.commands
CommandGroup(replacing: .newItem, addition: )
我不介意新版本的应用是否允许多个计时器,但 url 方案绝对不是每次使用时都打开新窗口。
如何阻止 onOpenURL 启动新窗口?我正在转换应用程序专门用于学习 SwiftUI,但如果在 SwiftUI 中无法执行此行为,我愿意在一些 AppKit 代码中混搭。
【问题讨论】:
【参考方案1】:文章"Open window / scene in SwiftUI 2.0 on macOS" 展示了如何打开窗口。我拿走了它的碎片,并把它放到了它可以简单地打开我的窗口而不是另一个窗口的地方。
var body: some Scene
WindowGroup
ContentView()
.handlesExternalEvents(preferring: Set(arrayLiteral: "path of URL?"), allowing: Set(arrayLiteral: "*")) // activate existing window if exists
.onOpenURL(perform: url in
print("\(url)") // This is just debug code
)
.commands
CommandGroup(replacing: .newItem, addition: )
.handlesExternalEvents(matching: Set(arrayLiteral: "same path of URL?")) // create new window if doesn't exist
对于那些想要(尝试)更好地理解preferring
和allowing
参数的人。转述自 Apple 文档:
preferring
参数是一组字符串,检查它们是否包含在此视图的targetContentIdentifier
(本例中为ContentView
)中,以查看此视图是否更愿意处理外部事件(@ 987654329@ 在这种情况下)与另一个视图。
allowing
参数是一组字符串,检查它们是否包含在此视图的targetContentIdentifier
中,从而允许视图处理事件。
永远不会匹配空集。 "*"
总是匹配的。
参考:Apple Documentation on handlesExternalEvents(preferring:allowing:)
【讨论】:
谢谢!我能够得到这个工作。我最终做了一个匹配:Set(arrayLiteral: "*") for the WindowGroup handlesExternalEvents 这样它就可以接受使用正确的 URL Scheme 发送的任何内容。 我在preferring
和allowing
上添加了一些信息。如果您有多个视图处理具有相同权限级别的外部事件(通过allowing
设置),我认为preferring
允许一些权重。我不完全清楚为什么你需要两者而不是需要不同的匹配设置字符串,但我只是玩了一下这个来熟悉。以上是关于为啥打开程序是总是显示“找不到所需的.DLL文件”的主要内容,如果未能解决你的问题,请参考以下文章