小弟是名网管,负责监控网络运行情况。我们系统内部有一套软件叫《文电系统》,大致功能就是传个文件什么的,但是是加密传输。每天都要用一封电子邮件(不加密)测试网络情况,收到后必须马上回执,否则定为事故。今天早晨因为多次回执不及时的原因被领导暴骂一顿,遂生出开发一个小软件,实现来报自动回执功能的想法,广泛征求设计思路。具体设想如下:
1:监视windows应用程序窗口,弹出特定名称窗口时,捕获之
2:对窗口文本域内容进行检索,符合一定条件时执行自动回执。如:线路测试、测试报等字样
3:控制鼠标键盘,点击“回执”单选框,自动输入“来电收到!”,点击“发送”。
4:弹出消息,通知网管回执处理日志。
第一条功能我以前做过,应该问题不大,第四条问题也不大。主要问题在于第二条第三条,vb对其他窗体的控制我以前研究过一点,但没有什么发现;对鼠标键盘的控制我没有做过,不知道怎样实现。如果有哪位高人碰巧看到这个帖子,觉得有点意思,请不吝赐教!小弟先谢le!
1:监视windows应用程序窗口,弹出特定名称窗口时,捕获之
2:对窗口文本域内容进行检索,符合一定条件时执行自动回执。如:线路测试、测试报等字样
3:控制鼠标键盘,点击“回执”单选框,自动输入“来电收到!”,点击“发送”。
4:弹出消息,通知网管回执处理日志。
第一条功能我以前做过,应该问题不大,第四条问题也不大。主要问题在于第二条第三条,vb对其他窗体的控制我以前研究过一点,但没有什么发现;对鼠标键盘的控制我没有做过,不知道怎样实现。如果有哪位高人碰巧看到这个帖子,觉得有点意思,请不吝赐教!小弟先谢le!
解决方案 »
- 用VB语句实现EXCEL表中的内容保存到SQL中
- vb+access 修改一个记录后自动指向第一个记录,如何让它指向刚修改完的这个记录
- 问问南京那边的工资行情!
- 如何通过VB6编程,向要关闭的那个程序(不是自己编写的程序)的主窗口投递一条WM_CLOSE消息?
- DataGrid控件怎么删除和增加‘行’和行的一些控制啊
- 这个循环如何写?一定给分!
- 巨难问题!!!!!!如何只更新整个Recordset中的一条记录!!!!!
- 我想写一个VB教程,请大家参谋,参谋
- 怎样用filelistbox显示指定的路径的文件?????谢谢大家!!!!我快憋死了111
- 求高手,如何用VBA将插入excel的对象文件复制到桌面上,文件格式不变
- 怎样在windows2003下调试com+
- 高分请教对很多人来说简单的问题
-------------------------------------------------
Private Declare Function GetForegroundWindow Lib "user32" () As LongPrivate Declare Function GetWindowText Lib "user32" _
Alias "GetWindowTextA" (ByVal hwnd As Long, _
ByVal lpString As String, ByVal cch As Long) As Long
'上面的2个api是获得windows活动窗口的函数
Private Declare Sub Sleep Lib "kernel32" ( _
ByVal dwMilliseconds As Long)
'上面这个是sleep函数
'-----------------------------------------------
Private Sub Form_Load()
Text1.Text = ""
Text2.Text = ""
Timer1.Interval = 100
End Sub
'-----------------------------------------------
Private Sub Text1_Change()
If Text1.Text = "MSN Messenger (BETA)" Then'我这个地方使用的活动窗口为MSN
Text2.Text = ""
Text2.SetFocus
SendKeys "recall {ENTER}"
End If
End Sub
'------------------------------------------------
Private Sub Text2_KeyPress(KeyAscii As Integer)
Dim Recall, AnyString
If KeyAscii = 13 Then
' Stop
Recall = Shell("C:\Program Files\Microsoft Office\Office\OUTLOOK.EXE", vbNormalNoFocus) '调用outlook
' Stop
SendKeys "^n" '就是ctrl+n
SendKeys "huangh1" '收信人的mail id
SendKeys "{TAB 3}" '按3下tab键
SendKeys "send a letter" '信的内容
Sleep (3000) 'xia xie de
SendKeys "^{ENTER}" 'ctrl+Enter
Sleep (1000) 'xia xie de
Text2.SetFocus
Text2.Text = "xiabanhuijiachifanle" End If
End Sub
--------------------------------------API原封COPY--------------------------
Private Sub Timer1_Timer()
Static CurrentHwnd As Long
Dim ForegroundWindowHwnd As Long
Dim sText As String * 255
ForegroundWindowHwnd = GetForegroundWindow
If ForegroundWindowHwnd = CurrentHwnd Then Exit Sub
CurrentHwnd = ForegroundWindowHwnd
If CurrentHwnd <> hwnd Then
Text1.Text = Left(sText, GetWindowText(CurrentHwnd, sText, 255))
Else
Text1.Text = "Form1 "
End If
End Sub
------------------------------------------------------------------
没了
TechnoFantasy(冰儿马甲www.applevb.com)兄说的和cobrastudio(老汉我) 兄说的是一个途径,因为我们的邮件协议是与众不同的,所以不能实现。
再次感谢大家的支持!