Foxtable(狐表)用户栏目专家坐堂 → [求助]怎样关闭openQQ内置窗口就全部退出程序


  共有2572人关注过本帖树形打印复制链接

主题:[求助]怎样关闭openQQ内置窗口就全部退出程序

帅哥哟,离线,有人找我吗?
有点甜
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2017/9/7 14:35:00 [显示全部帖子]

 写一个计划任务监测窗口,如果不存在某某窗口,就执行关闭代码

 

For Each frm As System.Windows.Forms.Form In Application.OpenForms
    output.show(frm.name & "|" & frm.text)
Next


 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2017/9/7 14:40:00 [显示全部帖子]

 或者,直接给openQQ窗口绑定closed事件也可以

 

https://msdn.microsoft.com/zh-cn/library/system.windows.forms.form.closed.aspx

 

 

qqclient.OpenChatWindow
dim frm as windows.forms.form = windows.forms.form.activeform
addhandler frm.closed, addressof 函数名

[此贴子已经被作者于2017/9/7 20:15:17编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2017/9/7 20:11:00 [显示全部帖子]

方法一:

 

Dim contain = False
For Each frm As System.Windows.Forms.Form In Application.OpenForms
    If frm.name = "frmTalker" Then
        contain = True
    End If
Next
If contain = False Then
    msgbox("关闭")
End If


 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2017/9/7 20:18:00 [显示全部帖子]

方法二:

 

全局代码

 

Public Sub Form_Click(ByVal sender As System.Object, _
    ByVal e As System.EventArgs)
msgbox("窗口关闭了")
End Sub

 

调用代码

 

QQClient.OpenChatWindow
Dim frm As windows.forms.form = Application.OpenForms("frmTalker")
If frm IsNot Nothing Then
    addhandler frm.closed, addressof Form_Click
End If

[此贴子已经被作者于2017/9/7 20:18:27编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2017/9/8 17:35:00 [显示全部帖子]

方法一:

 

Syscmd.Project.Exit(True)

 

改成

 

Syscmd.Project.Exit(False)

 

或者

 

DataTables.Save

Syscmd.Project.Exit(False)

 

方法二:

 

第二种方法,没必要放在计划管理那里。在打开openqq的时候绑定事件即可。


 回到顶部