以文本方式查看主题

-  Foxtable(狐表)  (http://www.foxtable.com/bbs/index.asp)
--  专家坐堂  (http://www.foxtable.com/bbs/list.asp?boardid=2)
----  双击截图保存  (http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&id=158210)

--  作者:有点蓝
--  发布时间:2020/11/11 15:47:00
--  
……
        proc.WaitForClose = True
        proc.Start()
        If ClipBoard.ContainsImage Then
    Dim img As Image
    img = ClipBoard.GetImage()
Dim f As String =   e.Row("区域名称") & "\\" & e.Row("立面编号") &"\\" & e.Row("类别")&"\\" & e.Row("施工项目")&".png"
img.save(projectpath & "Attachments\\" & f)
e.row("图片") = f
End If
    End If
End If

--  作者:有点蓝
--  发布时间:2020/11/11 16:13:00
--  
路径不正确,
msgbox(projectpath  &"\\\\Vce\\toda$\\数据文件\\"& f)

如果是共享目录,应该这样:img.save("\\\\Vce\\toda$\\数据文件\\"& f)

--  作者:有点蓝
--  发布时间:2020/11/11 16:50:00
--  
路径还是不正确,注意路径中的每个目录都必须预先创建好
msgbox("\\\\Vce\\toda$\\数据文件\\"& f)

或者没有权限写入共享目录

--  作者:有点蓝
--  发布时间:2020/11/11 17:12:00
--  
试试保存到本机一个简单的路径

img.save("c:\\abc.jpg")

--  作者:有点蓝
--  发布时间:2020/11/12 9:17:00
--  
我在命令窗口这样测试没有问题

baseMainForm.WindowState= system.Windows.forms.FormWindowState.Minimized
ClipBoard.Clear
Dim proc As new Process
proc.File = ApplicationPath & "/capture.exe"
proc.WaitForClose = True
proc.Start()
If ClipBoard.ContainsImage Then
    Dim img As Image
    img = ClipBoard.GetImage()
    img.save("c:\\abc.jpg")
End If

e.cancel = True换个位置试试,如:

If e.Col.name = "图片" Then
        e.cancel = True
    Dim dr As DataRow = e.Row.DataRow
    If dr.IsNull ("区域名称") Or Dr.IsNull("立面编号")  Or Dr.IsNull("类别") Or Dr.IsNull("施工项目")  Then
        MessageBox.show("带 * 为必填","提示")
    Else
        baseMainForm.WindowState= system.Windows.forms.FormWindowState.Minimized
        ClipBoard.Clear
……

--  作者:有点蓝
--  发布时间:2020/11/15 20:32:00
--  
这个“确认”按钮是capture.exe这个程序自己的功能,capture.exe好像是从什么搜狗输入法里面提取的一个程序,如果是这个小程序本身和系统的兼容的问题,我们是没有办法的。

或者试试换其它的方法截图

--  作者:有点蓝
--  发布时间:2021/7/25 20:55:00
--  
foxtable提供的很多组件都是第三方的,并非自己开发。