PTHREAD_START_ROUTINE pThreadLib = (PTHREAD_START_ROUTINE)
GetProcAddress(GetModuleHandle(TEXT("Kernel32.dll")),"LoadLibraryW");
if(pThreadLib == NULL)
__leave;
     
DWORD ThreadId; hThread = CreateRemoteThread(hProcess,
NULL,
0,
pThreadLib,         //问题在这里,说是这个地址不能读???
pszDllFileRemote,
0,
&ThreadId);完全按照程序员第7期的代码来的啊。
目的进程的空间也分配了,字串也写好了,怎么就是在取loadlibraryA出了错???
问题在哪儿呀。高手指点

解决方案 »

  1.   

    该成这样,还是不行PTHREAD_START_ROUTINE pThreadLib = (PTHREAD_START_ROUTINE)
    GetProcAddress(GetModuleHandle(TEXT("Kernel32.dll")),"LoadLibraryW");
    if(pThreadLib == NULL)
    __leave;
          hThread = CreateRemoteThread(hProcess,
    NULL,
    0,
    pThreadLib,
    pszDllFileRemote,
    0,
    NULL);
      

  2.   

    哎。解决了。都是bc惹的祸
    强烈要求Kevin_qing老大把98下实现的代码给我们这些小虾米学习学习
    我原来看到一个人问过Kevin_qing老大这个问题的,只给了思路,当时没有特别注意现在想不起来了。
    老大,再请教一下吧。。
    大家请up,这个可是难得的学习老大的时候哈。
      

  3.   

    我原来也看到过,,好象是先,哎还是老大来说 。
    帮你up一下,
    不过在98下,可以用钩子解决问题
    帮你up