DLL—动态链接库

    • lib中包含 如何调用动态链接库中的代码
    • 有一个动态链接库 dll 真正的代码是存在与dll中
    • 本地程序从lib中读取 如何调用动态链接库代码的方法,去调用dll

    LIB—静态链接库

    • 一堆程序指令和数据,构成静态链接库
    • 将lib文件拷贝到当前运行的程序中

    一、列举出当前系统中的所有进程
    列举出进程中的线程

    1、通过函数CreateToolhelp32Snapshot函数,创建一个快照句柄

    2、通过*32First函数获得第一个要列举的对象

    3、通过*32Next获取其他要列举的对象

    注意:列举进程最好是X64位进程,因为32位进程不能列举64位进程

    尽量在列举进程前,提升自己的权限等级,如果使用了UAC机制,还要使用到前面的UAC搭桥机制

    1. #include<Windows.h>
    2. #include<tchar.h>
    3. #include<Tlhelp32.h>
    4. int _tmain()
    5. {
    6. HANDLE hSnapshot=CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS,0);
    7. PROCESSENTRY32 pe={0};
    8. pe.dwSize=sizeof(pe);
    9. Process32First(hSnapshot,&pe);
    10. DWORD processID=0;
    11. do
    12. {
    13. _tprintf(L"%d:%s\n",pe.th32ProcessID,pe.szExeFile);
    14. if(CSTR_EQUAL==CompareStringOrdinal(L"Thunder.exe",7,pe.szExeFile,7,TRUE))
    15. {
    16. processID=pe.th32ProcessID;
    17. }
    18. }while(Process32Next(hSnapshot,&pe));
    19. if(!processID)
    20. {
    21. _tprintf(L"not fund Thunder.exe process\n");
    22. _gettchar();
    23. return 0;
    24. }
    25. CloseHandle(hSnapshot);
    26. hSnapshot=CreateToolhelp32Snapshot(TH32CS_SNAPALL,processID);
    27. //注意,这个快照,并不是拍摄的某个进程中线程的id,他拍到的是系统中所有线程。
    28. THREADENTRY32 te={0};
    29. te.dwSize=sizeof(te);
    30. BOOL re=Thread32First(hSnapshot,&te);
    31. do
    32. {
    33. if(te.th32OwnerProcessID==processID)
    34. {
    35. DWORD code=0;
    36. GetExitCodeThread(OpenThread(THREAD_ALL_ACCESS,FALSE,te.th32ThreadID),&code);
    37. _tprintf(L"%d:%d:%d\n",te.th32OwnerProcessID,te.th32ThreadID,code);
    38. }
    39. }while(Thread32Next(hSnapshot,&te));
    40. DWORD code=0;
    41. HANDLE hThread=OpenThread(THREAD_ALL_ACCESS,FALSE,15264);
    42. GetExitCodeThread(hThread,&code);
    43. _gettchar();
    44. CloseHandle(hSnapshot);
    45. return 0;
    46. }

    二、列举出当前系统中的所有线程
    ————————————————
    版权声明:本文为CSDN博主「poppy飞翔」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
    原文链接:https://blog.csdn.net/qq_22423659/article/details/53365955