vc 获得调用者的模块名称

void ShowCallerModuleName(void* calleraddr )
{
HMODULE hCallerModule = NULL;
TCHAR szModuleName[MAX_PATH] = _T("");
void *callerAddress = calleraddr;// _ReturnAddress();
if (GetModuleHandleEx(GET_MODULE_HANDLE_EX_FLAG_FROM_ADDRESS, (LPCTSTR)callerAddress, &hCallerModule))
{
GetModuleFileName(hCallerModule, szModuleName, ARRAYSIZE(szModuleName));
MessageBox(NULL, szModuleName, _T("Who is calling me?"), MB_OK);
}
}

//调用

ShowCallerModuleName(_ReturnAddress());

  

写到构造函数里

时间: 2024-10-08 21:16:45

vc 获得调用者的模块名称的相关文章

OUTLOOK.EXE错误模块名称: Windows.UI.Xaml.dll

错误应用程序名称: OUTLOOK.EXE,版本: 15.0.4875.1000,时间戳: 0x57fc9641 错误模块名称: Windows.UI.Xaml.dll,版本: 10.0.14393.953,时间戳: 0x58ba5c3d 异常代码: 0xc000027b 错误偏移量: 0x00000000006d611b 错误进程 ID: 0x191c 错误应用程序启动时间: 0x01d2ae038d010d36 错误应用程序路径: C:\Program Files\Microsoft Off

故障模块名称: mso.dll

本人今天早上打开word文档的时候打不开了,反复试了n次也不成,一想八成儿要重新装了,结果我点开详细信息看了一下,看到了“故障模块名称: mso.dll”这个提示,结果我就放到了百度上找了一下,都是只有解决办法,并没找到造成这个问题的原因,解决办法就是删除C:\Documents and Settings\Administrator\Application Data\Microsoft\Templates目录或者%appdata%\microsoft\templates目录(这两个是同一个目录)

错误模块名称: KERNELBASE.dll

部署win服务时,经常会出现类似下面的错误,错误模块名称: KERNELBASE.dll. 日志名称:          Application 来源:            Application Error 日期:            2014/5/21 14:14:33 事件 ID:         1000 任务类别:          (100) 级别:            错误 关键字:           经典 用户:            暂缺 计算机:          

100G光模块是怎样命名的?介绍:光模块名称含义

光模块的组成 光模块(optical module)由光电子器件.功能电路和光接口等组成,光电子器件包括发射和接收两部分.它的作用是光电转换,发送端把电信号转换成光信号,通过光纤传送后,接收端再把光信号转换成电信号. 但是,如果大家平时有关注光模块的话,就会发现,很多光模块的名称都是一串难以看的明白的数字.字母.光模块名称中的那些数字.字母到底代表着什么意思呢?今天,小编以易飞扬光模块为例,给大家介绍一个100G光模块的命名规则含义. 100G QSFP28 CWDM4 2KM光模块 100G:

文件名称一定不要设置为某些模块名称,会引起冲突!

教训: 在调用request方法,实现模拟访问URL,返回状态码及响应结果时,由于自己写的某个文件命名为string.py,导致出现错误 from string import ascii_letters, digits, hexdigits ImportError: cannot import name 'ascii_letters' ---------------------------------- # -*- coding:utf-8 -*-import urllib.request if

错误模块名称: KERNELBASE.dll错误

今天在部署一个C/S程序的时候出了bug,日志都没有记载:本地调试当然是没问题的,所以不是代码问题,百度之发现KERNELBASE.dll这个文章说的比较靠谱,仔细研究了自己的配置文件后,果然是配置文件不小心被我删除了... 原文地址:https://www.cnblogs.com/jijm123/p/10586783.html

调用 Dll 中的函数时,出现栈(STACK)的清除问题 -> 故障模块名称: StackHash_0a9e

在一个名为 test.dll 文件中,有一个 Max() 函数的定义是: #ifdef BUILD_DLL #define DLL_EXPORT __declspec(dllexport) __stdcall #else #define DLL_EXPORT __declspec(dllimport) __stdcall #endif int DLL_EXPORT Max(int x, int y); 当我在c程序中,定了一个函数指针类型为: int (*func)(int, int) 时 HM

VC中遍历目标进程中的模块

VC中遍历目标进程中的模块 MFC代码win32 也可以用 在下面代码进行修改转换就可以了CString strModule; 可以换成 char* 但是MODULEENTRY32结构中的szModule是WCHAR 由于博主基础知识较差 所以使用的MFC里的Cstring函数 #include <Tlhelp32.h> /***************************************************/ /* 函数: 查找目标进程中是否有指定模块信息 /* 参数:DWO

2015/9/15 Python基础(12):模块和包

模块是用来组织 Python 代码的方法,而包则是用来组织模块的. 当代码量很大时,我们一般会把代码分成几个有组织的代码段,然后每个代码段之间有一定的联系.代码单之间是共享的,所以Python允许调入一个模块,允许使用其他模块的属性利用之前的工作成果,实现代码重用.那些自我包含并且有组织的代码片段就是模块(module),将其他模块中属性附加到你的模块中的操作较导入(import) 模块是逻辑上的说法,而它们在物理层是一个个独立的文件,模块的文件名就是模块的名字加拓展名.py.与其他可以导入类的