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 的大作中提到】
: 找到这个小图标的句柄,发一下双击事件?
的,用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 的大作中提到】
: 找到这个小图标的句柄,发一下双击事件?
g*k
6 楼
已解决
v*n
7 楼
要不试试UIAutomation
这个帖子最下面有个例子
http://social.msdn.microsoft.com/forums/en-US/windowsaccessibil
【在 g**k 的大作中提到】
: 已解决
这个帖子最下面有个例子
http://social.msdn.microsoft.com/forums/en-US/windowsaccessibil
【在 g**k 的大作中提到】
: 已解决
相关阅读
两个excel files,一个front end, 一个back endBusiness Intelligence and Data Warehouse Seminar on 12/7 (CI (转载)nhibernate, ado.net比stored procedure执行数据库操作快吗?Any example about .net applicationhow to programatically fill the form and submit it系统集成和Mobile哪个更有未来?有人用ms sql 2012吗?请教session的问题。这样的deadlock如何debug? (转载)Linq to entity framework: what happens if i modified DB schema in SSMS ?关于用自家电脑做网站服务器的一个技术问题毁三观啊有人用过DynaTrace没有?版标改换了吧?WEB API能替代WCF不请教一个问题: 关于excel的logic test如何快速掌握WPF 和WCFScott Hanselman's 2011 Ultimate Developer and Power Users Tool List for Windows版上的童鞋们,你们升到VS2012了吗?