怎样根据已知窗体句柄打开相应窗体?

daixinhou 2006-05-06 03:42:52
已知一个窗体的句柄是3213828,除了用枚举,怎样打开这个窗体?
...全文
250 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
soaringbird 2006-05-06
  • 打赏
  • 举报
回复
那再试试HWND SetActiveWindow( HWND hWnd
);
daixinhou 2006-05-06
  • 打赏
  • 举报
回复
问题又来了,如果要显示的窗体为子窗体时,SetForegroundWindow就不好用了。
laviewpbt 2006-05-06
  • 打赏
  • 举报
回复
对于自己的程序,可以用me.TopMost(c#里 this.TopMost不)置其为最前端窗体,对于其他窗体可以调用API函数SetWindowPos。
soaringbird 2006-05-06
  • 打赏
  • 举报
回复
SetForegroundWindow(3213828)
ShowWindow()
SendMessage()
等等都可以
laviewpbt 2006-05-06
  • 打赏
  • 举报
回复
不太了解C#的语法,这是VB。NET版的
Public Sub RestoreAndActivate(byval Handle as IntPtr) '根据窗体句柄激活窗体
If Not (IsWindowVisible(Handle )) Then ‘如果窗体不可见
ShowWindow(Handle , SW_SHOW) ’使之变为可见的
End If
If (IsIconic(Handle )) Then ‘如果窗体以最小化
SendMessage(Handle , WM_SYSCOMMAND, _ ’发送恢复消息给该窗体
SC_RESTORE, IntPtr.Zero)
End If
SetForegroundWindow(Handle ) ‘设置该窗体为最前台窗体
End Sub
daixinhou 2006-05-06
  • 打赏
  • 举报
回复
谢谢,请问怎样在置前句柄为3213828的窗体,回答了再加分。
soaringbird 2006-05-06
  • 打赏
  • 举报
回复
想怎么打开?显示出来?
用API函数,ShowWindow
BOOL ShowWindow( HWND hWnd,
int nCmdShow
);
ShowWindow(3213828,SW_SHOW)

110,571

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧