能否将进程句柄,作为int或者其它类型保存?

Sigurd 2003-10-20 12:26:51
我用CreateProcess建立进程,需要将HANDLE作为
int ,unsigned long ,char*之类的类型保存,
并且在TerminateProcess中需要使用,把它在作为HANDLE传递。

直接保存成int是不行了 说无法吧 VOID * 转换成int。
想请问各位,有什么方法可以做到这点。
...全文
63 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
flyelf 2003-10-20
  • 打赏
  • 举报
回复
其实handle就是一个dword的,并且handle页可以保存阿
icr_mio 2003-10-20
  • 打赏
  • 举报
回复
强制类型转换那。
int i;
i=(int)handle;
Sigurd 2003-10-20
  • 打赏
  • 举报
回复
原来这么简单,哎,偶太弱了。
主要是不清楚HANDLE是什么,所以不干乱用。
icr_mio 2003-10-20
  • 打赏
  • 举报
回复
还是强制转换阿
HANDLE handle;
handle=(HANDLE)i;
Sigurd 2003-10-20
  • 打赏
  • 举报
回复
谢谢各位,是可以强制转换,但是能不能在转换回去?

我是不是设计有错误?想存为整型,试用时在转为HANDLE来使用
比如
int handle=(int) pi.hProcess;
save handle to database
……
get handle from database
HANDLE h=handle; //这肯定行不同,只是想说明我的意思
孤必有邻 2003-10-20
  • 打赏
  • 举报
回复
HANDLE的定义是void*
在32位系统,就是DWORD,
int ,long,都是4个字节,强制转换后可以存储
yaoha2003 2003-10-20
  • 打赏
  • 举报
回复
可以,但保存没用处,下一次就变了
mfc168 2003-10-20
  • 打赏
  • 举报
回复
可以,强制转换成INT,因为长度问题,可能会丢数据,其实句柄可存为DWORD或者是LONG类型的
zhang_zhibin 2003-10-20
  • 打赏
  • 举报
回复
这个Handle就是一个索引
吹泡泡的小猫 2003-10-20
  • 打赏
  • 举报
回复
存入文件吗?没有意义啊,每次Create的都不一样,跨进程不能访问

15,472

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 进程/线程/DLL
社区管理员
  • 进程/线程/DLL社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧