为啥打开程序是总是显示“找不到所需的.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

对于那些想要(尝试)更好地理解preferringallowing 参数的人。转述自 Apple 文档:

preferring 参数是一组字符串,检查它们是否包含在此视图的targetContentIdentifier(本例中为ContentView )中,以查看此视图​​是否更愿意处理外部事件(@ 987654329@ 在这种情况下)与另一个视图。

allowing 参数是一组字符串,检查它们是否包含在此视图的targetContentIdentifier 中,从而允许视图处理事件。

永远不会匹配空集。 "*" 总是匹配的。

参考:Apple Documentation on handlesExternalEvents(preferring:allowing:)

【讨论】:

谢谢!我能够得到这个工作。我最终做了一个匹配:Set(arrayLiteral: "*") for the WindowGroup handlesExternalEvents 这样它就可以接受使用正确的 URL Scheme 发送的任何内容。 我在preferringallowing 上添加了一些信息。如果您有多个视图处理具有相同权限级别的外部事件(通过allowing 设置),我认为preferring 允许一些权重。我不完全清楚为什么你需要两者而不是需要不同的匹配设置字符串,但我只是玩了一下这个来熟悉。

以上是关于为啥打开程序是总是显示“找不到所需的.DLL文件”的主要内容,如果未能解决你的问题,请参考以下文章

电脑开机后出现“找不到所需的DLL文件”这怎么处理啊

为啥电脑总是显示这个,软件程序总是无响应

我装了IIS为啥打开http://localhost/总是找不到网页?

为啥总是显示数据加载失败,之前都正常的。

为啥word2010打开总是配置进度

为啥 SwiftUI 中的 URL Scheme/onOpenURL 总是打开一个新窗口?