我用下面的代碼:SetWindowLong函數/ GetWindowLong和32位/ 64位CPU
const int GWL_STYLE = (-16);
const UInt32 WS_POPUP = 0x80000000;
const UInt32 WS_CHILD = 0x40000000;
[DllImport("user32.dll", SetLastError = true)]
static extern UInt32 GetWindowLong(IntPtr hWnd, int nIndex);
[DllImport("user32.dll")]
static extern int SetWindowLong(IntPtr hWnd, int nIndex, UInt32 dwNewLong);
和地方...
SetWindowLong(this.Handle, GWL_STYLE,
((GetWindowLong(this.Handle, GWL_STYLE) & ~(WS_POPUP)) | WS_CHILD));
將在32 - 這正常運行位和64位機器?
如果沒有,如果我編譯我的應用程序作爲x86進程運行,它仍然可以在64位機器上正常工作嗎?
如何在32位和64位計算機上重寫以下代碼以確定?
可能的重複[如何在32位平臺上調用GetWindowLongPtr和SetWindowLongPtr?](http://stackoverflow.com/questions/3343724/how-do-i-pinvoke-to-getwindowlongptr-and-setwindowlongptr在32位平臺上)漢斯的回答非常好,並且通常都是點亮的。 – 2012-02-14 21:01:13
可能的重複[如何在32位平臺上調用GetWindowLongPtr和SetWindowLongPtr?](https://stackoverflow.com/questions/3343724/how-do-i-pinvoke-to-getwindowlongptr-and-setwindowlongptr-on -32位平臺) – 2017-07-21 13:21:36