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