【问题标题】:i want to do something when i close console VB window is that possible? [closed]我想在关闭控制台 VB 窗口时做点什么,这可能吗? [关闭]
【发布时间】:2016-05-02 05:38:41
【问题描述】:

我想在close控制台vb中的窗口时调用函数或执行一些代码可以吗?

提前致谢

【问题讨论】:

  • 是的,如果您相信自己……当然,如果您尝试过某事。
  • 我在来这里之前尝试过这样做,但是关闭控制台应用程序时没有任何事件,我在谷歌上进行了搜索,但没有找到任何解决方案。所以,如果你不能帮助因为你不知道怎么做,请不要发布这样的答案,因为它反映了你有多可怕。
  • 我同意Crush,我一定可以...
  • @mohammed,听着,我不想和你争论(因为我不明白你在说什么,因为语法不好)。所以不适合懒人。所以就像你所说的那样......如果你 TRIED 一些东西,你可以将它包含在你的问题中。

标签: .net vb.net console


【解决方案1】:

试试这个,我还没有测试过,我会留给你的 :) 但这应该会引导你朝着正确的方向前进 :)

Module Module1
Public Enum ConsoleEvent
    CTRL_CLOSE_EVENT = 2
End Enum
Private Declare Function SetConsoleCtrlHandler Lib "kernel32" (ByVal handlerRoutine As ConsoleEventDelegate, ByVal add As Boolean) As Boolean
Public Delegate Function ConsoleEventDelegate(ByVal MyEvent As ConsoleEvent) As Boolean
Private handler As ConsoleEventDelegate

Sub Main()
    handler = AddressOf Application_ConsoleEvent
    If Not SetConsoleCtrlHandler(handler, True) Then
        Console.WriteLine("ERROR ADDING HANDLER")
    Else
        ''ADD YOUR MAIN CODE HERE.
        Console.WriteLine("Hello WORLD!")
        Console.ReadLine()

    End If
End Sub
Public Function Application_ConsoleEvent(ByVal [event] As ConsoleEvent) As Boolean
    Dim cancel As Boolean = False
    Select Case [event]
        Case ConsoleEvent.CTRL_CLOSE_EVENT
            'ADD YOUR CLOSING CODE WITHIN HERE, you dont need to have the Msgbox, its just there so you can understand :)
            MsgBox("Program being closed!")
            ''ADD your clean up code if needed here.
    End Select

    Return cancel ' handling the event.
End Function
End Module

告诉我你的进展:)

编码愉快!

【讨论】:

  • 谢谢!这正是我想做的事
  • 别担心伙计,乐于助人:)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-05-02
  • 2010-09-08
  • 1970-01-01
  • 1970-01-01
  • 2013-02-10
  • 2015-01-28
相关资源
最近更新 更多