Redian新闻
>
vb.net如何显示缩小后窗口消失的程序(已解决)
avatar
a9
2
估计那个程序需要双击才创建主窗口吧?

【在 g**k 的大作中提到】
: 已解决
avatar
g*k
3
已解决

【在 a9 的大作中提到】
: 估计那个程序需要双击才创建主窗口吧?
avatar
a9
4
找到这个小图标的句柄,发一下双击事件?

【在 g**k 的大作中提到】
: 已解决
avatar
g*k
5
试了。但是用sendmessage没反应。我试了试右下角的时间句柄,显示的句柄数字是对
的,用sendmessage双击,时间的窗口也是没反应。如果我用sendkeys的话,可以显示
跳出的时间窗口,但是我要的那个程序keyboard不是focusable的,所以不能用这个方
法。下面是用sendmessage写的程序,能帮忙看看哪里出的问题吗?谢谢了!
...
Private Declare Function ShowWindow Lib "user32.dll" ( _
ByVal hWnd As IntPtr, _
ByVal nCmdShow As SHOW_WINDOW _
) As Boolean
Private Declare Auto Function FindWindow Lib "user32" _
(ByVal ClassName As String, ByVal WindowTitle As String) As IntPtr
Private Declare Auto Function FindWindowEx Lib "user32" _
(ByVal parentHandle As IntPtr, ByVal childAfter As IntPtr, _
ByVal ClassName As String, ByVal WindowTitle As String) As IntPtr
Private Declare Auto Function SendMessage Lib "user32.dll" (ByVal hWnd
As IntPtr, ByVal msg As UInteger, ByVal wParam As Integer, ByVal lParam As
IntPtr) As IntPtr
Private Sub FindHandle_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles FindHandle.Click
Const BM_CLICK As UInteger = &HF5&
Dim hTaskbar As IntPtr = FindWindow("Shell_TrayWnd", vbNullString)
Dim hBar As IntPtr = FindWindowEx(hTaskbar, 0, "TrayNotifyWnd",
vbNullString)
Dim hTime As IntPtr = FindWindowEx(hBar, 0, "TrayClockWClass",
vbNullString)
If hTime <> IntPtr.Zero Then
SendMessage(hTime, BM_CLICK, 0, IntPtr.Zero)
'Thread.Sleep(50)
SendMessage(hTime, BM_CLICK, 0, IntPtr.Zero)
End If
End Sub
...

【在 a9 的大作中提到】
: 找到这个小图标的句柄,发一下双击事件?
avatar
g*k
6
已解决
avatar
a9
8
你这个不拿到你的程序很难试。

【在 g**k 的大作中提到】
: 已解决
avatar
g*k
9
已解决

【在 a9 的大作中提到】
: 你这个不拿到你的程序很难试。
avatar
a9
10
你用spy找到免柄看看其它特征,比如窗口标题(这个可能是空)或者别的,然后想办
法根据这个找。

【在 g**k 的大作中提到】
: 已解决
avatar
g*k
11
前面说了,找出的句柄是对的。但是用time的句柄可以用sendkeys双击,那个程序不可
以。两者唯一的区别是时间图标IsKeyboardFocusable是True, 那个程序是False。我想
这是问题所在,所以我不能set focus。但是用sendmessage的话,我时间窗口测试后打
不开窗口。
不过现在问题解决了。我怀疑确实是set focus的问题。现在我找出程序图标的位置以
后,用mouse_event双击,窗口显示出来了。谢谢大家的讨论!

【在 a9 的大作中提到】
: 你用spy找到免柄看看其它特征,比如窗口标题(这个可能是空)或者别的,然后想办
: 法根据这个找。

相关阅读
logo
联系我们隐私协议©2024 redian.news
Redian新闻
Redian.news刊载任何文章,不代表同意其说法或描述,仅为提供更多信息,也不构成任何建议。文章信息的合法性及真实性由其作者负责,与Redian.news及其运营公司无关。欢迎投稿,如发现稿件侵权,或作者不愿在本网发表文章,请版权拥有者通知本网处理。