如何在Visual Studio中将Explorer作为预生成事件重新启动

问题描述 投票:1回答:1

我想在Visual Studio中构建DLL时重新启动资源管理器。我尝试将taskkill /f /IM explorer.exestart explorer添加为项目配置中的预构建事件。然后,当我构建项目时,Explorer实际上将终止,但不会成功重新启动。任务栏将仍然丢失。只有从命令提示符启动资源管理器后,它才会返回。我也尝试过对call文件中的那些命令执行.bat,但是遇到了同样的问题(尽管.bat文件在Visual Studio外部单独执行时可以正常工作)。我还尝试过将重新启动的零件放在构建后的事件中,但是没有骰子。让资源管理器在预构建事件中成功重新启动是否有任何技巧?感谢您的输入。

windows visual-studio winapi explorer prebuild
1个回答
0
投票

通过执行以下操作,我取得了一些初步的成功。

首先,将以下代码编译为.exe(确保已正确将编译模式设置为64位或32位):

#include <Windows.h>

int main()
{
    HWND hwnd = FindWindow(L"Progman", NULL);
    PostMessage(hwnd, WM_QUIT, 0, 0);
    ShellExecute(NULL, NULL, L"explorer.exe", NULL, NULL, SW_SHOW);
}

然后在Visual Studio中,在项目的“属性”页面中,将已编译的.exe的路径添加到“构建事件”>“预构建事件”>“命令行”。

© www.soinside.com 2019 - 2024. All rights reserved.