我在我的程序中使用以下功能:
[DllImport("user32.dll", CharSet = CharSet.Auto)]
static extern IntPtr SetParent(IntPtr hWndChild, IntPtr hWndNewParent);
[DllImport("user32.dll", CharSet = CharSet.Auto)]
static extern IntPtr GetParent(IntPtr hWnd);
我的问题是:这种方法安全稳定吗?我的开发机器是Windows XP,到目前为止我没有发现它的使用有任何问题。我想知道我是否可以在不同的版本(例如Windows Vista,Windows 7,等等),不同的cpus(x64)等中遇到问题。你们可以就此提供一些反馈吗?如果有一些潜在的问题我怎样才能克服它们?
提前致谢。
朱波罗卡
答案 0 :(得分:5)
对于所有版本的Windows,这些P / invoke声明都是正确的。 XP / Vista / 7没有问题,也没有32/64位问题。 IntPtr
在32位和64位之间浮动,具体取决于进程的位数。这正是HWND
所需要的。