退出在CMD中运行的Java程序之前确认

时间:2014-07-18 07:19:38

标签: java cmd console-application

我有一个JAVA程序,它在命令提示符打开的情况下连续运行。 现在,如果用户尝试通过按CTRL + C或单击关闭按钮来退出程序,我想要发出确认,如果他真的想要关闭。

编辑: 如果使用Java或批处理是不可能的,那么在不使用它的情况下采用其他任何方式吗?

1 个答案:

答案 0 :(得分:0)

作为Prashant答案和Disable close button on DOS program in Windows 7的补充,我在CodeProject Disable System Close Button on a Console Application上找到了一些有趣的元素。

如果你可以编译它(这里有免费的C ++编译器)这里有一段C-C ++代码,你可以在java程序之前包含在你的批处理中来禁用命令窗口的关闭按钮(这个有源并经过测试......):

#include "windows.h"

int main(int argc, const char *argv[]) {
    HWND hWnd = ::GetConsoleWindow();
    if (hWnd != NULL) {
        HMENU hMenu = ::GetSystemMenu(hWnd, FALSE);
        if (hMenu != NULL) {
            ::DeleteMenu(hMenu, SC_CLOSE, MF_BYCOMMAND);
        }
    }
    return 0;
}

但要注意当关闭按钮消失时,你必须明确退出cmd ......