Foxtable(狐表)用户栏目专家坐堂 → 如果打开过office系列的word 或者excel 或者PPT任何一个之后,再次点击打开其他图片或这个文件类型都会提示当前文件正在使用 有没有办法精准关闭当前已经打开过的进程 而不是关闭所有类型进程 比如word进程


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

主题:如果打开过office系列的word 或者excel 或者PPT任何一个之后,再次点击打开其他图片或这个文件类型都会提示当前文件正在使用 有没有办法精准关闭当前已经打开过的进程 而不是关闭所有类型进程 比如word进程

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


加好友 发短信
等级:七尾狐 帖子:1571 积分:11238 威望:0 精华:0 注册:2021/1/17 17:06:00
如果打开过office系列的word 或者excel 或者PPT任何一个之后,再次点击打开其他图片或这个文件类型都会提示当前文件正在使用 有没有办法精准关闭当前已经打开过的进程 而不是关闭所有类型进程 比如word进程  发帖心情 Post By:2021/7/3 17:40:00 [只看该作者]

麻烦老师帮忙看看   为什么打开图片类型的后再次打开图片类型 不会出错
如果打开过office系列的word 或者excel 或者PPT任何一个之后,再次点击打开其他图片或这个文件类型都会提示当前文件正在使用  有没有办法精准关闭当前已经打开过的进程  而不是关闭所有类型进程  比如word进程
代码如下:
Dim wb As WinForm.WebBrowser = e.Form.Controls("WebBrowser1")
Dim pc As WinForm.PictureBox = e.Form.Controls("PictureBox1")
wb.Address=""
pc.Image=getimage("")

'判断目录是否存在,如果存在就先删除,再创建,如果不存在就直接创建,确保后续程序可以保存文件并进行阅读或使用
If FileSys.DirectoryExists(ProjectPath & "\Reports") Then '
    FileSys.DeleteDirectory(ProjectPath & "\Reports",2,2)
    FileSys.CreateDirectory(ProjectPath & "\Reports")
Else
    FileSys.CreateDirectory(ProjectPath & "\Reports")
End If

Dim pc2 As WinForm.PictureBox = Forms("主窗口").Controls("PictureBox1")
Dim kp As WinForm.TabControl = Forms("主窗口").Controls("TabControl1")
Dim web1 As WinForm.WebBrowser = e.Form.Controls("WebBrowser1")
If FileSys.DirectoryExists(ProjectPath & "\Reports") Then '
Else
    FileSys.CreateDirectory(ProjectPath & "\Reports")
End If

If Tables("主窗口_table1").Current Is Nothing Then
    Return
Else
    Dim dr As DataRow = Tables("主窗口_table1").Current.DataRow
    Dim fl As String =  ProjectPath & "Reports\" &  dr("文件名")
    wjdz=fl
    
    Dim str As String = dr("文件名")
    Dim Parts() As String = str.Split(".")
    vars("文件名")= Parts(0)
    'MessageBox.Show(vars("文件名"))
    If FileSys.FileExists(fl) AndAlso CRCCheckFile(fl) = dr.SQLGetValue("CRC值") Then '如果本地存在同名文件且CRC校验值相同
        '则直接使用本地文件
        If fl.EndsWith(".jpg") OrElse fl.EndsWith(".png") OrElse fl.EndsWith(".bmp") OrElse fl.EndsWith(".gif") OrElse fl.EndsWith(".ico") Then
            pc2.Image= GetImage(fl)
            kp.SelectedIndex=1
        Else If fl.EndsWith(".mp4") OrElse fl.EndsWith(".wmv") OrElse fl.EndsWith(".mpg") OrElse fl.EndsWith(".avi") OrElse fl.EndsWith(".m2ts") OrElse fl.EndsWith(".mp3") Then
            kp.SelectedIndex=3
            e.Form.Controls("Panel2").Basecontrol.controls("mplayer").url = fl
        Else  If  fl.EndsWith(".zip") OrElse fl.EndsWith(".rar")  OrElse fl.EndsWith(".exe") OrElse fl.EndsWith(".ppt") OrElse fl.EndsWith(".pptx")Then  'fl.EndsWith(".txt") OrElse fl.EndsWith(".pdf") OrElse
            Dim Proc As New Process '打开文件
            Proc.File = fl
            Proc.Start()
        Else
            web1.OfficeToolBar = False
            web1.Address = fl
            kp.SelectedIndex=4
        End If
    Else '否则从数据库提取文件
        If dr.SQLLoadFile("附件",fl) = False Then '如果提取文件失败
            Messagebox.Show("附件提取失败,可能并不存在附件!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information)
            Return
        Else
            If fl.EndsWith(".jpg") OrElse fl.EndsWith(".png") OrElse fl.EndsWith(".bmp") OrElse fl.EndsWith(".gif") OrElse fl.EndsWith(".ico") Then
                pc2.Image= GetImage(fl)
                kp.SelectedIndex=1
            Else If fl.EndsWith(".mp4") OrElse fl.EndsWith(".wmv") OrElse fl.EndsWith(".mpg") OrElse fl.EndsWith(".avi") OrElse fl.EndsWith(".m2ts") OrElse fl.EndsWith(".mp3") Then
                kp.SelectedIndex=3
                e.Form.Controls("Panel2").Basecontrol.controls("mplayer").url = fl
            Else  If  fl.EndsWith(".zip") OrElse fl.EndsWith(".rar")  OrElse fl.EndsWith(".exe") OrElse fl.EndsWith(".ppt") OrElse fl.EndsWith(".pptx") Then  'fl.EndsWith(".txt") OrElse fl.EndsWith(".pdf") OrElse
                Dim Proc As New Process '打开文件
                Proc.File = fl
                Proc.Start()
            Else
                web1.OfficeToolBar = False
                web1.Address = fl
                kp.SelectedIndex=4
            End If
        End If
    End If
End If
Dim zt As WinForm.Button = Forms("主窗口").Controls("停止播放")
zt.PerformClick
[此贴子已经被作者于2021/7/5 10:43:53编辑过]

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


加好友 发短信
等级:超级版主 帖子:110652 积分:563174 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2021/7/3 17:56:00 [只看该作者]

试试
……
    If FileSys.FileExists(fl) AndAlso CRCCheckFile(fl) = dr.SQLGetValue("CRC值") Then '如果本地存在同名文件且CRC校验值相同
web1.Address = nothing
        '则直接使用本地文件
        If fl.EndsWith(".jpg") OrElse fl.EndsWith(".png") OrElse fl.EndsWith(".bmp") OrElse fl.EndsWith(".gif") OrElse fl.EndsWith(".ico") Then
            pc2.Image= GetImage(fl)
            kp.SelectedIndex=1
        Else If fl.EndsWith(".mp4") OrElse fl.EndsWith(".wmv") OrElse fl.EndsWith(".mpg") OrElse fl.EndsWith(".avi") OrElse fl.EndsWith(".m2ts") OrElse fl.EndsWith(".mp3") Then


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


加好友 发短信
等级:七尾狐 帖子:1571 积分:11238 威望:0 精华:0 注册:2021/1/17 17:06:00
回复:(有点蓝)试试……    If FileSys.F...  发帖心情 Post By:2021/7/3 18:06:00 [只看该作者]

老师  试了  提示还是一样的  甚至直接在打开之前设置这个 都是一样的效果

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


加好友 发短信
等级:七尾狐 帖子:1571 积分:11238 威望:0 精华:0 注册:2021/1/17 17:06:00
回复:(有点蓝)试试……    If FileSys.F...  发帖心情 Post By:2021/7/5 9:09:00 [只看该作者]

麻烦老师帮忙看看啊 

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


加好友 发短信
等级:超级版主 帖子:110652 积分:563174 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2021/7/5 9:33:00 [只看该作者]

没有办法,只能杀掉进程了

Dim ps As  System.Diagnostics.Process() = System.Diagnostics.Process.GetProcessesByName("WINWORD")
For Each p As System.Diagnostics.Process In ps
    If p.MainWindowTitle = Nothing Then  p.kill
Next

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


加好友 发短信
等级:七尾狐 帖子:1571 积分:11238 威望:0 精华:0 注册:2021/1/17 17:06:00
回复:(有点蓝)没有办法,只能杀掉进程了Dim ps As&...  发帖心情 Post By:2021/7/5 10:36:00 [只看该作者]

杀掉进程的话  会导致程序之外的word文件要被一起干掉   在某种情况下不是很友好哦!


[此贴子已经被作者于2021/7/5 10:48:34编辑过]

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


加好友 发短信
等级:超级版主 帖子:110652 积分:563174 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2021/7/5 10:44:00 [只看该作者]

5楼只杀掉浏览器里的进程,如果也杀掉其它word进程,这个就没有办法了

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


加好友 发短信
等级:七尾狐 帖子:1571 积分:11238 威望:0 精华:0 注册:2021/1/17 17:06:00
回复:(有点蓝)5楼只杀掉浏览器里的进程,如果也杀掉...  发帖心情 Post By:2021/7/5 10:48:00 [只看该作者]

Dim ps As  System.Diagnostics.Process() = System.Diagnostics.Process.GetProcessesByName("WINWORD")
For Each p As System.Diagnostics.Process In ps
    If p.MainWindowTitle = Nothing Then  p.kill
Next

这个代码也没有杀死浏览器里面的进程

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


加好友 发短信
等级:超级版主 帖子:110652 积分:563174 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2021/7/5 10:51:00 [只看该作者]

关闭所有word文档。浏览器打开word后看看任务管理器里word进程名称是不是“WINWORD

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


加好友 发短信
等级:七尾狐 帖子:1571 积分:11238 威望:0 精华:0 注册:2021/1/17 17:06:00
回复:(有点蓝)关闭所有word文档。浏览器打开word后...  发帖心情 Post By:2021/7/5 12:07:00 [只看该作者]

老师可以指导下怎么跟踪进程不呢    我在浏览器中打开文件  找不到进程

运行word文件后点击excel  PPT均可关闭word进程,
1、运行excel文件后点击word PPT就提示找不到excel具体的表名项目了  无法关闭进程 有没有办法解决呢? 
2、点击PPT会提示下载或保存  有没有办法直接下载并显示呢?】


当前代码如下:
Dim wb As WinForm.WebBrowser = e.Form.Controls("WebBrowser1")
Dim pc As WinForm.PictureBox = e.Form.Controls("PictureBox1")
wb.Address=""
pc.Image=getimage("")

Dim ps As  System.Diagnostics.Process() = System.Diagnostics.Process.GetProcesses()
For Each p As System.Diagnostics.Process In ps
    output.show(p.processName)
    If ("Excel" = p.ProcessName AndAlso p.MainWindowTitle = "")
        output.show(p.MainWindowTitle)
        p.kill
    End If
    If ("WINWORD" = p.ProcessName AndAlso p.MainWindowTitle = "")
        output.show(p.MainWindowTitle)
        p.kill
    End If
    If ("POWERPNT" = p.ProcessName AndAlso p.MainWindowTitle = "")
        output.show(p.MainWindowTitle)
        p.kill
    End If
Next


'判断目录是否存在,如果存在就先删除,再创建,如果不存在就直接创建,确保后续程序可以保存文件并进行阅读或使用
If FileSys.DirectoryExists(ProjectPath & "\Reports") Then '
    FileSys.DeleteDirectory(ProjectPath & "\Reports",2,2)
    FileSys.CreateDirectory(ProjectPath & "\Reports")
Else
    FileSys.CreateDirectory(ProjectPath & "\Reports")
End If

Dim pc2 As WinForm.PictureBox = Forms("主窗口").Controls("PictureBox1")
Dim kp As WinForm.TabControl = Forms("主窗口").Controls("TabControl1")
Dim web1 As WinForm.WebBrowser = e.Form.Controls("WebBrowser1")
If FileSys.DirectoryExists(ProjectPath & "\Reports") Then '
Else
    FileSys.CreateDirectory(ProjectPath & "\Reports")
End If

If Tables("主窗口_table1").Current Is Nothing Then
    Return
Else
    Dim dr As DataRow = Tables("主窗口_table1").Current.DataRow
    Dim fl As String =  ProjectPath & "Reports\" &  dr("文件名")
    wjdz=fl
    
    Dim str As String = dr("文件名")
    Dim Parts() As String = str.Split(".")
    vars("文件名")= Parts(0)
    'MessageBox.Show(vars("文件名"))
    If FileSys.FileExists(fl) AndAlso CRCCheckFile(fl) = dr.SQLGetValue("CRC值") Then '如果本地存在同名文件且CRC校验值相同
        web1.Address = Nothing
        '则直接使用本地文件
        If fl.EndsWith(".jpg") OrElse fl.EndsWith(".png") OrElse fl.EndsWith(".bmp") OrElse fl.EndsWith(".gif") OrElse fl.EndsWith(".ico") Then
            pc2.Image= GetImage(fl)
            kp.SelectedIndex=1
        Else If fl.EndsWith(".mp4") OrElse fl.EndsWith(".wmv") OrElse fl.EndsWith(".mpg") OrElse fl.EndsWith(".avi") OrElse fl.EndsWith(".m2ts") OrElse fl.EndsWith(".mp3") Then
            kp.SelectedIndex=3
            e.Form.Controls("Panel2").Basecontrol.controls("mplayer").url = fl
        Else  If  fl.EndsWith(".zip") OrElse fl.EndsWith(".rar")  OrElse fl.EndsWith(".exe") Then 'OrElse fl.EndsWith(".ppt") OrElse fl.EndsWith(".pptx")Then  'fl.EndsWith(".txt") OrElse fl.EndsWith(".pdf") OrElse
            Dim Proc As New Process '打开文件
            Proc.File = fl
            Proc.Start()
        Else
            web1.OfficeToolBar = False
            web1.Address = fl
            kp.SelectedIndex=4
        End If
    Else '否则从数据库提取文件
        If dr.SQLLoadFile("附件",fl) = False Then '如果提取文件失败
            Messagebox.Show("附件提取失败,可能并不存在附件!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information)
            Return
        Else
            web1.Address = Nothing
            If fl.EndsWith(".jpg") OrElse fl.EndsWith(".png") OrElse fl.EndsWith(".bmp") OrElse fl.EndsWith(".gif") OrElse fl.EndsWith(".ico") Then
                pc2.Image= GetImage(fl)
                kp.SelectedIndex=1
            Else If fl.EndsWith(".mp4") OrElse fl.EndsWith(".wmv") OrElse fl.EndsWith(".mpg") OrElse fl.EndsWith(".avi") OrElse fl.EndsWith(".m2ts") OrElse fl.EndsWith(".mp3") Then
                kp.SelectedIndex=3
                e.Form.Controls("Panel2").Basecontrol.controls("mplayer").url = fl
            Else  If  fl.EndsWith(".zip") OrElse fl.EndsWith(".rar")  OrElse fl.EndsWith(".exe") Then 'OrElse fl.EndsWith(".ppt") OrElse fl.EndsWith(".pptx") Then  'fl.EndsWith(".txt") OrElse fl.EndsWith(".pdf") OrElse
                Dim Proc As New Process '打开文件
                Proc.File = fl
                Proc.Start()
            Else
                web1.OfficeToolBar = False
                web1.Address = fl
                kp.SelectedIndex=4
            End If
        End If
    End If
End If


 回到顶部
总数 16 1 2 下一页