各位大侠,小弟在dllmain中用CreateThread函数创建一个线程,未遂!看《Windows核心编程》中相关章节知道了部分原因,但仍然云里雾里的,没有解决的办法,能不能帮忙解决一下,积分太低了,也没有什么可以给的,纯粹公益行动,谢谢

解决方案 »

  1.   


    #include <stdio.h>
    #include <windows.h>
    #include <fstream>
    #pragma comment(lib, "user32.lib")
    using namespace std;
    #pragma unmanagedHINSTANCE h_HIN = NULL;
    HANDLE hThread = NULL;
    DWORD WINAPI MyFunc(LPVOID lpParameter)
    {
    ofstream outfile("D:\\aaa.txt", ofstream::out | ofstream::app);
    outfile << "bbbbbbbbbbbbbbb\n" << endl;
    outfile.close();
    return TRUE;
    }BOOL WINAPI DllMain(HINSTANCE hDllHandle, DWORD nReason, PVOID Reserved)
    {
    HANDLE hThread = NULL;
    DWORD dwThreadID = NULL;
    switch (nReason)
    {
    case DLL_PROCESS_ATTACH:
    h_HIN = hDllHandle;
    hThread = CreateThread(NULL, 0, MyFunc, 0, NULL, NULL);
    break;
    case  DLL_PROCESS_DETACH:
    break;
    case DLL_THREAD_ATTACH:
    break;
    case DLL_THREAD_DETACH:
    break;
    default:
    break;
    }
    return TRUE;
    }