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

Żub*_*wka 0 .net c# pinvoke winapi

我在我的程序中使用以下函数:

[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);
Run Code Online (Sandbox Code Playgroud)

我的问题是:这种方法安全稳定吗?我的开发机器是Windows XP,到目前为止我没有发现它的使用有任何问题.我想知道我是否可以在不同的版本(例如Windows Vista,Windows 7,等等),不同的cpus(x64)等中遇到问题.你们可以就此提供一些反馈吗?如果有一些潜在的问题我怎样才能克服它们?

提前致谢.

朱波罗卡

Dav*_*nan 5

那些P/invoke声明对于所有版本的Windows都是正确的.XP/Vista/7没有问题,也没有32/64位问题.IntPtr根据进程的位数,浮点介于32位和64位之间.这正是你需要发生的事情HWND.