下面是个结束进程的操作,当我编译完成后,我点ctrl+F5程序正常执行了,可是在生成的EXE文件,或直接按F5调试,就一定不执行,只是瞬间闪一下就结束了,程序内容(结束进程)根本不执行..小弟是新手,听说线程同步什么的,大家看我这是几线程的,要是真是线程同步问题,我该怎么改呢。。
#include   <stdio.h>   
#include   <windows.h>  
#include   <tlhelp32.h>
typedef DWORD (_stdcall *XXXNtUnmapViewOfSection)( HANDLE hProcess, PVOID Address);
void UnloadNtdll()
{
 PVOID  NtdllAddress;
 HANDLE  hProcess;
 XXXNtUnmapViewOfSection NtUnmapViewOfSection;
 HWND  hWindow;
 BOOL  bRet = TRUE; hProcess = OpenProcess( PROCESS_VM_OPERATION, FALSE,“进程PID(这里我只是代表下)”);
 NtUnmapViewOfSection = (XXXNtUnmapViewOfSection)GetProcAddress( GetModuleHandle("ntdll.dll"), "NtUnmapViewOfSection" );
 NtdllAddress = (PVOID)NtUnmapViewOfSection;
 NtUnmapViewOfSection( hProcess, NtdllAddress);
 CloseHandle( hProcess );
 //Sleep(2000);我曾试过加个暂停也不行
}
int WINAPI WinMain( 
HINSTANCE hInstance, 
HINSTANCE hPrevInstance, 
LPSTR lpCmdLine, 
int nShowCmd 
)
{
    UnloadNtdll();
    return 0;
}