0

在我的 ASP.net 应用程序中,我必须单击按钮打开一个 EXE。当 EXE 打开时,不应允许用户在 web 表单上执行任何操作,即 exe 的行为应类似于模式弹出窗口。我正在使用当前代码从 EXE 打开并返回值。

        Dim p As Process

    p = Process.Start("D:\VS2010Projects\SignatureCaptureWindows\bin\Debug\SignatureCaptureWindows.exe")

    p.WaitForExit()

    If (Not p.ExitCode.Equals(0)) Then
        Response.Write("Image Successfully saved in Database with ID = " + p.ExitCode.ToString())
        DisplaySavedImage(p.ExitCode)
    End If

Exe 可以正常打开并返回正确的值。但是,当 exe 打开时,用户可以在 Web 表单上执行操作...

处理这种情况的最佳方法是什么?

4

1 回答 1

1

不可能按照你赢得它的方式去做。从用户发送提交或尝试打开页面的那一刻起,在您运行此 exe 的代码上,然后用户正在等待结果 - 在这个时候你不能让用户不做任何其他事情 - 你可以不锁定浏览器,用户可以关闭它,重新加载它,再次打开同一页面等。

您可以做的是使用锁定此进程Mutex,如果一切就绪,则不允许再次运行它。

msdn 上的互斥锁示例:http: //msdn.microsoft.com/en-us/library/system.threading.mutex.aspx

于 2012-08-24T10:08:13.907 回答