【bochs源码分析】【奇迹mu私服源码】【spring源码怎么读懂】获得进程句柄 vc源码_获得进程句柄 vc源码是什么

时间:2024-11-30 00:25:52 来源:源码如何不让别人看 编辑:微信互粉平台源码

1.VC 如何得到进程的ID号
2.如何在VC中使用GetModuleFileNameEx获取运行中EXE或DLL的获得获完整路径?

获得进程句柄 vc源码_获得进程句柄 vc源码是什么

VC 如何得到进程的ID号

       //获取对应进程名的ID

       DWORD GetSpecifiedProcessId(const char *pszProcessName)

       {

       DWORD id;

       //获得系统快照句柄 (通俗的讲, 就是得到当前的所有进程)

       HANDLE hSnapShot = CreateToolhelpSnapshot(THCS_SNAPPROCESS,0) ;

       PROCESSENTRY pInfo; //用于保存进程信息的一个数据结构

       pInfo.dwSize = sizeof(pInfo);

       //从快照中获取进程列表

       ProcessFirst(hSnapShot, &pInfo) ; //从第一个进程开始循环

       do

       {

       //这里的 pszProcessName 为你的进程名称

       if(strcmp(strlwr(_strdup(pInfo.szExeFile)), pszProcessName) == 0)

       {

       id = pInfo.thProcessID ;

       break ;

       }

       }while(ProcessNext(hSnapShot, &pInfo) != FALSE);

       return id; //id 就是你要的进程PID 了..

       }

       è¿™ä¸ªä»£ç æ˜¯æˆ‘从网上复制过来的.. 但是注释是我给加的.

       ä»¥åŽåˆ«å¼„个0 分放这里.. 真想扁你.

如何在VC中使用GetModuleFileNameEx获取运行中EXE或DLL的完整路径?

       在Windows编程中,有时候我们需要获取当前运行的进程句柄进程句柄程序或动态链接库的完整路径。为此,源码源码bochs源码分析可以使用Windows API函数GetModuleFileName。获得获以下是进程句柄进程句柄奇迹mu私服源码一个简单的实例源代码:

       cpp

       #include <windows.h>

       #include <stdio.h>

       // 定义一个函数来获取模块文件名

       BOOL CreateSampleService()

       {

        TCHAR szPath[MAX_PATH]; // 用于存储路径的字符数组

        if ( !GetModuleFileName( NULL, szPath, MAX_PATH ) ) // NULL参数表示当前进程

        {

        printf("GetModuleFileName failed (%d)\n", GetLastError()); // 获取并打印错误代码

        return FALSE;

        }

        return TRUE;

       }

       如果你想获取特定进程或实例中的模块文件路径,可以使用GetModuleFileNameEx函数,源码源码spring源码怎么读懂它需要进程句柄hProcess和模块实例hInst作为参数。获得获确保为结果提供足够大的进程句柄进程句柄缓冲区,比如MAX_PATH,源码源码以存储可能的获得获完整路径。

       例如,进程句柄进程句柄调用时的源码源码样子如下:

       GetModuleFileNameEx(hProcess, hInst, lpFile, MAX_PATH);

copyright © 2016 powered by 皮皮网   sitemap