使用SHChangeNotify让进程立即删除自己

VOID
	DeleteMyself()
{
	TCHAR tchProcPath[MAX_PATH]	= {0};


	__try
	{
		if (!GetModuleFileName(NULL, tchProcPath, MAX_PATH))
		{
			printf("[DeleteMyself] : GetModuleFileName failed. (%d) \n", GetLastError());
			__leave;
		}

		// 直接调用SHChangeNotify可以立即将进程的exe删掉,但有条件
		// 1、可以调用SHChangeNotify
		// 2、explorer正在运行
		SHChangeNotify(SHCNE_DELETE, SHCNF_PATH, tchProcPath, NULL);
	}
	__finally
	{
		;
	}

	return ;
}

你可能感兴趣的:(使用SHChangeNotify让进程立即删除自己)