本论坛为只读模式,仅供查阅,不能注册新用户,不能发帖/回帖,有问题可发邮件 xikug.xp (^) gmail.com
查看: 7536|回复: 15

问个R3问题:PVOID保存的是函数地址,如何转化为char*啊?[已解决] [复制链接]

Rank: 4

发表于 2008-2-4 21:03:47 |显示全部楼层
问个R3问题.好久不写R3程序,对一个PVOID转换为char*类型的搞糊涂了.


俺用下面的代码得到WinExec的地址.

HINSTANCE LibHandle = LoadLibrary ("kernel32.dll");
PVOID ProcAdd = (PVOID) GetProcAddress (LibHandle, "WinExec");


结果ProcAdd = 0x7c86114d,

俺要把这个地址内容 -- 0x7c86114d显示到对话框的EDIT控件中.
就是 GetDlgItem(IDC_SHOW)->SetWindowText (XXX);

怎么把PVOID转换成这个XXX啊? XXX必须是char*类型.

俺转换了半天都不行啊
真无奈~~

Rank: 4

发表于 2008-2-4 21:24:36 |显示全部楼层
哈哈,搞定了。 谢谢MJ


char xx[MAX_PATH] = {0};
HINSTANCE LibHandle = LoadLibrary ("kernel32.dll");
PVOID ProcAdd = (PVOID) GetProcAddress (LibHandle, temp);

itoa((ULONG)ProcAdd , xx, 16);

GetDlgItem(IDC_SHOW)->SetWindowText (xx);
1.jpg


长时间搞内核连R3程序都不会写了,俺都忘记怎么写Dialog了.于是练习下. R,被笑死了

Rank: 1

发表于 2008-2-5 12:03:05 |显示全部楼层
太强大了

Rank: 1

发表于 2008-2-5 12:58:25 |显示全部楼层
很多人就是基础不扎实!!!!!!!!!

Rank: 1

发表于 2008-2-5 13:32:44 |显示全部楼层
哎。最好看看标准c的函数。。

Rank: 3Rank: 3

发表于 2008-2-5 14:11:52 |显示全部楼层
引用第1楼sudami于2008-02-04 18:24发表的 :
哈哈,搞定了。 谢谢MJ


char xx[MAX_PATH] = {0};
HINSTANCE LibHandle = LoadLibrary ("kernel32.dll");
.......

sprintf(xx, "%p", ProcAddr);
这样比较通用。

Rank: 4

发表于 2008-2-5 16:48:05 |显示全部楼层
wsprintf(...)

Rank: 1

发表于 2009-5-28 01:46:49 |显示全部楼层
wocao,膜拜大牛在ring3上挣扎....

Rank: 1

发表于 2009-5-28 12:28:19 |显示全部楼层
还是MFC的程序...
晕死:)

Rank: 2

发表于 2009-5-28 22:46:12 |显示全部楼层
...传说中的返璞归真?

Rank: 1

发表于 2009-5-30 01:43:22 |显示全部楼层
这个属于基础问题了
拿C写过程序的朋友 肯定都碰到过的   

真是没想到.....
看来确实不需要一味的膜拜别人  相信自己才是对的  

Rank: 3Rank: 3

发表于 2009-5-31 07:14:11 |显示全部楼层
ANSI C or TC 的类型转换问题,膜拜

Rank: 2

发表于 2009-5-31 11:50:29 |显示全部楼层
。。。

Rank: 1

发表于 2009-5-31 12:02:55 |显示全部楼层
LZ是个SB, 下面顶一年前老帖的人更是大SB.  

Rank: 4

发表于 2009-5-31 13:16:14 |显示全部楼层
牛B闪闪. 嘿嘿. 加亮此贴~

Rank: 1

发表于 2013-1-31 09:04:12 |显示全部楼层
我知道你是故意的。。。。

14楼也是
您需要登录后才可以回帖 登录 | 立即加入

Archiver|手机版|第8个男人 - 论坛为只读模式,仅供查阅

GMT+8, 2019-7-22 08:18 , Processed in 0.037952 second(s), 11 queries .

Design by pvo.cn

© 2011 Pvo Inc.

回顶部