Foxtable(狐表)用户栏目专家坐堂 → 怎么实现删除目录之前 关闭所有进程


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

主题:怎么实现删除目录之前 关闭所有进程

帅哥,在线噢!
有点蓝
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:110572 积分:562750 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2021/1/10 19:57:00 [显示全部帖子]

项目退出放到BeforeCloseProject事件

 回到顶部
帅哥,在线噢!
有点蓝
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:110572 积分:562750 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2021/1/11 15:36:00 [显示全部帖子]

    If FileSys.DirectoryExists(ProjectPath & "\Reports") Then '
msgbox(1)有没有弹出
        FileSys.DeleteDirectory(ProjectPath & "\Reports",2,2)
msgbox(2)有没有弹出
    End If

 回到顶部
帅哥,在线噢!
有点蓝
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:110572 积分:562750 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2021/1/11 17:18:00 [显示全部帖子]

说明进程名称不正确
        output.Show(vars("进程名"))
    For Each p As System.Diagnostics.Process In ps
        output.Show(p.MainWindowTitle) 查看所有的名称是否有包含变量的名称
        If p.MainWindowTitle.Contains(vars("进程名")) And p.MainWindowTitle<>"" Then
            MessageBox.Show("5")

 回到顶部
帅哥,在线噢!
有点蓝
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:110572 积分:562750 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2021/1/11 17:38:00 [显示全部帖子]

先判断进程名再判断标题

 回到顶部
帅哥,在线噢!
有点蓝
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:110572 积分:562750 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2021/1/15 13:43:00 [显示全部帖子]

For Each p As System.Diagnostics.Process In ps
        output.Show("4")
        'MessageBox.Show(vars("文件名"))
select case p.ProcessName
case "wps","WINWORD",....
    If p.MainWindowTitle.Contains(vars("文件名")) Then
                MessageBox.Show("5")
                p.kill
                If FileSys.DirectoryExists(ProjectPath & "\Reports") Then '
                    MessageBox.Show("6")
                    FileSys.DeleteDirectory(ProjectPath & "\Reports",2,2)
                    MessageBox.Show("7")
                End If
            End If
end select
    Next
End If

 回到顶部
帅哥,在线噢!
有点蓝
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:110572 积分:562750 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2021/1/15 14:05:00 [显示全部帖子]

试试

窗口beforeclose事件
Dim web As WinForm.WebBrowser = e.Form.Controls("WebBrowser1")
web
.Address = nothing

BeforeCloseProject事件
if forms("xx窗口").opened
forms("xx窗口").close
System.Threading.Thread.Sleep(1000)
end if
vars("文件名")="EventCode" 
If vars("文件名")="" Then
    If FileSys.DirectoryExists(ProjectPath & "\Reports") Then '
……

 回到顶部
帅哥,在线噢!
有点蓝
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:110572 积分:562750 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2021/1/15 14:48:00 [显示全部帖子]

Else
    MessageBox.Show("3")
    Dim ps As  System.Diagnostics.Process() = System.Diagnostics.Process.GetProcesses()
    For Each p As System.Diagnostics.Process In ps
        Select Case p.ProcessName
            Case "wps","WINWORD","POWERPNT","AcroRd32","WINEXCEL"
                If p.MainWindowTitle.Contains(vars("文件名")) And p.MainWindowTitle<>"" Then
                    MessageBox.Show("5")
                    p.kill
                    
                End If
        End Select
    Next
    If FileSys.DirectoryExists(ProjectPath & "\Reports") Then '
        MessageBox.Show("6")
        FileSys.DeleteDirectory(ProjectPath & "\Reports",2,2)
        MessageBox.Show("7")
    End If
End If

 回到顶部