SetParent()和GetParent()的安全性和稳定性

时间:2011-10-28 08:52:11

标签: c# .net winapi pinvoke

我在我的程序中使用以下功能:

[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)等中遇到问题。你们可以就此提供一些反馈吗?如果有一些潜在的问题我怎样才能克服它们?

提前致谢。

朱波罗卡

1 个答案:

答案 0 :(得分:5)

对于所有版本的Windows,这些P / invoke声明都是正确的。 XP / Vista / 7没有问题,也没有32/64位问题。 IntPtr在32位和64位之间浮动,具体取决于进程的位数。这正是HWND所需要的。