我使用这个功能:
[DllImport ( "user32.dll" )]
static extern int SetWindowLong ( IntPtr hWnd, int nIndex, uint dwNewLong );
并传递以下值:
http://pinvoke.net/default.aspx/Constants/Window%20styles.html
enum WindowLongFlags : int
{
GWL_EXSTYLE = -20,
GWLP_HINSTANCE = -6,
GWLP_HWNDPARENT = -8,
GWL_ID = -12,
GWL_STYLE = -16,
GWL_USERDATA = -21,
GWL_WNDPROC = -4,
DWLP_USER = 0x8,
DWLP_MSGRESULT = 0x0,
DWLP_DLGPROC = 0x4
}
所以当我把它称为:
SetWindowLong ( c, WindowLongFlags.GWL_STYLE, WindowStyles.WS_OVERLAPPED );
我收到这些错误:
参数2:无法从'timoti.WindowLongFlags'转换为'int'
参数3:无法从'timoti.WindowStyles'转换为'uint'
pinvoke签名是错误的,因为我在网上看到不同的或我错过了其他的东西吗?
答案 0 :(得分:3)
这应该解决它
SetWindowLong ( c, (int)WindowLongFlags.GWL_STYLE,
(uint) WindowStyles.WS_OVERLAPPED);