以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- 如果打开过office系列的word 或者excel 或者PPT任何一个之后,再次点击打开其他图片或这个文件类型都会提示当前文件正在使用 有没有办法精准关闭当前已经打开过的进程 而不是关闭所有类型进程 比如word进程 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=169855) |
-- 作者:cnsjroom -- 发布时间:2021/7/3 17:40:00 -- 如果打开过office系列的word 或者excel 或者PPT任何一个之后,再次点击打开其他图片或这个文件类型都会提示当前文件正在使用 有没有办法精准关闭当前已经打开过的进程 而不是关闭所有类型进程 比如word进程 麻烦老师帮忙看看 为什么打开图片类型的后再次打开图片类型 不会出错 如果打开过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编辑过]
|
-- 作者:有点蓝 -- 发布时间: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 -- 发布时间:2021/7/3 18:06:00 -- 回复:(有点蓝)试试…… If FileSys.F... 老师 试了 提示还是一样的 甚至直接在打开之前设置这个 都是一样的效果 |
-- 作者:cnsjroom -- 发布时间:2021/7/5 9:09:00 -- 回复:(有点蓝)试试…… If FileSys.F... 麻烦老师帮忙看看啊 |
-- 作者:有点蓝 -- 发布时间: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 -- 发布时间:2021/7/5 10:36:00 -- 回复:(有点蓝)没有办法,只能杀掉进程了Dim ps As&... 杀掉进程的话 会导致程序之外的word文件要被一起干掉 在某种情况下不是很友好哦! [此贴子已经被作者于2021/7/5 10:48:34编辑过]
|
-- 作者:有点蓝 -- 发布时间:2021/7/5 10:44:00 -- 5楼只杀掉浏览器里的进程,如果也杀掉其它word进程,这个就没有办法了 |
-- 作者:cnsjroom -- 发布时间:2021/7/5 10:48:00 -- 回复:(有点蓝)5楼只杀掉浏览器里的进程,如果也杀掉... 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 这个代码也没有杀死浏览器里面的进程
|
-- 作者:有点蓝 -- 发布时间:2021/7/5 10:51:00 -- 关闭所有word文档。浏览器打开word后看看任务管理器里word进程名称是不是“WINWORD” |
-- 作者:cnsjroom -- 发布时间:2021/7/5 12:07:00 -- 回复:(有点蓝)关闭所有word文档。浏览器打开word后... 老师可以指导下怎么跟踪进程不呢 我在浏览器中打开文件 找不到进程 【运行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 |