打开exe文件时qt5widgetsd.dll丢失怎么办

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了打开exe文件时qt5widgetsd.dll丢失怎么办相关的知识,希望对你有一定的参考价值。

参考技术A 你好,丢失DLL文件的话可以使用腾讯电脑管家的电脑诊所进行修复,针对日常电脑问题进行修复和处理,覆盖问题范围广泛,快速搜索,智能匹配,一步一步轻松解决电脑问题,诊所新增搜索功能、web诊所,高效更便利;创新自助攻略、智能诊疗,全面更强力。 参考技术B rose病毒(rose.exe)是一种良性病毒,由2个文件载体构成,即 ROSE.EXE 及 AUTOEXEC.BAT,利用了双击存储设备自读autorun.inf 信息文本的漏洞,在系统中占用大量cpu资源,会引起部分操作系统崩溃,表现在开机自检后直接并反复重启,无法进入系统。 病毒特征:用鼠标点击磁盘盘符没有反应,只能通过右键菜单打开选项打开,且在右键菜单里新增了自动播放,发作时会导致系统无法启动。大部分通过U盘、移动硬盘等存储设备传播。 教你手动杀毒 1、调出任务管理器,在进程页面中结束掉所有名称为Rose.exe的进程(建议在后面的操作中反复此操作,以确保病毒文件不会反复发作)。2、在开始--运行中输入“regedit”(XP系统)打开注册表,查找所有的“rose.exe”键值项,找到后将整个shell子键删除。 3、在我的电脑-工具-文件夹选项-查看-显示所有文件和文件夹,把“隐藏受保护的系统文件”的勾去掉。 4、对每个盘符点右键-打开进入(切记不能双击),删掉所有的rose.exe和autorun.inf文件。 5、在c:windowssystem32下查找有没有rose.exe文件,如果存在就直接删掉。 友情提示:使用U盘或移动硬盘时进行杀毒后再使用。 安装杀毒软件和防火墙,并及时升级, 在进行修改注册表操作前最好先备份注册表。

我希望它在单独打开 exe 文件时关闭

【中文标题】我希望它在单独打开 exe 文件时关闭【英文标题】:I want it to close when it opens the exe file separately 【发布时间】:2021-04-14 22:24:51 【问题描述】:

我有两个用 C# 和 C++ 编码的 exe 文件。我想要做的是从 C# 下载并运行用 C++ 编码的 exe。当 C++ 应用程序不是从 C# 应用程序中获取时,我不希望它直接从下载的文件夹中启动。我该怎么做?

【问题讨论】:

你可以通过 md5/sha hash 来做到这一点。您的 c# 存储您将下载的文件的哈希值,并将其与您已下载的命运文件的哈希值进行比较。如果哈希匹配,则没有理由(根据您的逻辑)不执行 c++ exe 文件 【参考方案1】:

C# 应用程序可以在启动 C++ 应用程序时传递命令行参数。如果 C++ 应用程序没有看到该参数,它可以立即终止自身而无需执行任何其他操作。

Process.Start(@"c:\path to\cpp.exe", "-startedByCSharpApp");
#include <string.h>

bool startedByCSharpApp(int argc, char* argv[])

    for(int i = 1; i < argc; ++i) 
        if (strcmp(argv[i], "-startedByCSharpApp") == 0) 
            return true;
        
    
    return false;


int main(int argc, char* argv[])

    if (startedByCSharpApp(argc, argv))
    
        // normal operations here ...
    
    return 0;

另一种选择是让 C++ 应用程序调用 CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS)Process32First()/Process32Next() 来遍历正在运行的进程列表以查找自身和 C# 应用程序。见Taking a Snapshot and Viewing Processes。如果两者都没有找到,或者如果 C# 应用的进程 ID 与它自己的进程的 th32ParentProcessID 不匹配,它可以立即终止自身。

#include <tlhelp32.h>
#include <tchar.h>

#include <vector>
#include <algorithm>

bool startedByCSharpApp()

    HANDLE hProcessSnap = CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS, 0);
    if (hProcessSnap == INVALID_HANDLE_VALUE)
        return false;

    PROCESSENTRY32 pe32;
    pe32.dwSize = sizeof(pe32);

    if (!Process32First(hProcessSnap, &pe32))
    
        CloseHandle(hProcessSnap);
        return false;
    

    DWORD MyProcessId = GetCurrentProcessId();
    DWORD MyParentProcessId = 0;
    std::vector<DWORD> CSharpAppPIDs;

    do
    
        if (pe32.th32ProcessID == MyProcessId)
        
            MyParentProcessId = pe32.th32ParentProcessID;
        
        else if (_tcscmp(pe32.szExeFile, "csharp.exe") == 0)
        
            CSharpAppPIDs.push_back(pe32.th32ProcessID);
        
    
    while (Process32Next(hProcessSnap, &pe32));

    CloseHandle(hProcessSnap);

    if (MyParentProcessId != 0)
        return (std::find(CSharpAppPIDs.begin(), CSharpAppPIDs.end(), MyParentProcessId) != CSharpAppPIDs.end());

    return false;


int main()

    if (startedByCSharpApp())
    
        // normal operations here ...
    
    return 0;

【讨论】:

很遗憾,我不知道您所说的内容。你有机会写一个示例代码吗? 您有什么不清楚的地方?您以前从未使用过命令行参数吗?或者之前调用过任何 Win32 API 函数? 是的,我从来没有打电话我不知道不幸的是我是新人:( 有示例视频吗?或者我可以在 googlede 上搜索什么 你好,现在我需要相反的我想用 c++ 启动 c# 应用程序我的 c# 应用程序不会运行,除非它在 ​​c++ 应用程序中启动

以上是关于打开exe文件时qt5widgetsd.dll丢失怎么办的主要内容,如果未能解决你的问题,请参考以下文章

电脑提示丢失winload.exe,无法启动怎么办

电脑打开找不到ntoskrnl.exe怎么办

怎样VS2013下安装Qt5的插件

拆卸时.net图标丢失[重复]

怎样VS2013下安装Qt5的插件

安装memcached.exe时, msvcr71.dll丢失怎么解决