SendMessage发送WM_SYSCOMMAND消息没效果
vb.net吧
全部回复
仅看楼主
level 1
Const SC_MAXIMIZEI As Integer = 61488
Const WM_SYSCOMMAND As Integer = 274
Private Declare Function SendMessage Lib "user32" Alias "SendMessageA" (ByVal hwnd As IntPtr, ByVal wMsg As Integer, ByVal wParam As Integer, ByVal lParam As Integer) As Integer
SendMessage(Me.Handle, WM_SYSCOMMAND, SC_MAXIMIZEI, 0)
参数和句柄都是对的,我拿工具对本程序窗口测试过,能正常响应WM_SYSCOMMAND消息,对其它程序的窗口测试过这个代码,一样没效果,这个问题困惑我好几天了,一直搞不明白,求高手解惑
2016年08月11日 15点08分 1
level 3
如果你是给正常的(未特殊处理)程序发送是会生效的,但例如你给游戏的窗口发送时就要看别人是不是对SendMessage进行过特殊处理了[吐舌]
2016年09月02日 05点09分 2
level 13
检查一下你是否获取了有效的句柄
.
2016年09月03日 02点09分 3
level 13
获取了句柄之后,将它转换为Windows Forms 窗体,然后设置WindowState属性,让它最大化。
.
2016年09月03日 02点09分 4
1