我有一个调用LoadLibrary的x64应用程序,我必须将生成的HMODULE作为2个整数传递给不同的应用程序。
我想将它转换为字符串,并将其子串到两部分,然后将结果转换为整数。
我无法将其变成字符串,你能帮忙吗?
由于
答案 0 :(得分:1)
猜测应用程序需要64位句柄的上部和下部 - 我不确定句柄是64位机器上的64位
uint left = (hmodule & 0XFFFFFFFF00000000) >> 32;
uint right = (hmodule & 0XFFFFFFFF);
如果句柄是32位
uint left = (hmodule & 0XFFFF0000) >> 16;
uint right = (hmodule & 0XFFFF);
确保转换为字符串等无法正常工作
答案 1 :(得分:1)
最终我所做的是使用具有“HighPart”和“LowPart”的ULARGE_INTEGER struct,如下所示:
ULARGE_INTEGER long_address;
long_address.QuadPart = (ULONGLONG)address;
fprintf(file, "%d,%d", long_address.HighPart, long_address.LowPart);