前言:这是我做的第一个真正的挥杆程序。
我有一个摇摆程序,其中一个 JButton 应该退出程序。该按钮触发 this.dispose();。当我单击此 JButton 时,它确实使窗口完全消失,但查看调试器,程序本身仍在运行。
我的主要方法只包括:
public static void main (String[] args)
{
java.awt.EventQueue.invokeLater(new Runnable()
{
public void run()
{
new StartupGui().setVisible(true);
}
});
}
Run Code Online (Sandbox Code Playgroud)
我的退出按钮看起来像操作按钮:
private void exitButtonActionPerformed(java.awt.event.ActionEvent evt)
{
this.dispose();
}
Run Code Online (Sandbox Code Playgroud)
我也试过这个退出按钮:
private void exitButtonActionPerformed(java.awt.event.ActionEvent evt)
{
java.awt.EventQueue.invokeLater(new Runnable()
{
public void run()
{
dispose();
}
});
}
Run Code Online (Sandbox Code Playgroud)
按下退出按钮后查看调试器,我看到以下内容(仅以下内容):
Daemon Thread [AWT-XAWT] (running)
Thread [AWT-Shutdown] (running)
Thread [AWT-EventQueue-0] (running)
Thread [DestroyJavaVM] (running)
Run Code Online (Sandbox Code Playgroud)
任何人都可以指出我为什么在此之后程序没有关闭的正确方向?我已经做了一些谷歌搜索,但到目前为止还没有到任何地方。如果您需要更多信息,请告诉我
谢谢 :)
如果 Windows 即将关闭/重新启动/注销/睡眠,我不想丢失我的设置,是否可以在关闭之前保存它?或者是否有其他方法可以保存信息而不必担心 Windows 关闭时信息会丢失?JSON、CSV、数据库?任何事物?
s = {1,2,3,4}
with open("s.pick","wb") as f: # pickle it to file when PC about to shutdown to save information
pickle.dump(s,f)
Run Code Online (Sandbox Code Playgroud) 我正在用 python 编写 2 个脚本。
客户端和服务器之间有一个套接字。场景是这样的:
我有一个客户端要求关闭程序,因此它应该通知服务器,然后它会通知另一个客户端,因此我需要关闭从客户端 (1) 到服务器的套接字,然后关闭从服务器到其他客户端的套接字(想象你自己是一个要求退出游戏的 2 人游戏)。
我就是这样做的。在 Client.py 中:
# send the request to the server
eNum, eMsg = Protocol.send_all(self.socket_to_server, msg)
if eNum:
sys.stderr.write(eMsg)
self.close_client()
self.socket_to_server.shutdown(socket.SHUT_WR)
exit(0)
Run Code Online (Sandbox Code Playgroud)
然后在Server.py的代码中:
# get the msg from the client that calleds
num, msg = Protocol.recv_all(self.players_sockets[0])
# case of failure
if num == Protocol.NetworkErrorCodes.FAILURE:
sys.stderr.write(msg)
self.shut_down_server()
# case it was disconnected
if num == Protocol.NetworkErrorCodes.DISCONNECTED:
print msg
self.shut_down_server()
technical_win = ("exit" == msg)
# send the msg to …Run Code Online (Sandbox Code Playgroud) 如果系统正在尝试关闭,则应用可以通过覆盖OnQueryEndSession()并返回来阻止此关闭FALSE。当然,这意味着WM_ENDSESSION是有关关机的唯一明确信息。
另一方面,对这个问题的最高答案不亚于雷蒙德·陈(Raymond Chen)所说的回答,WM_ENDSESSION本质上是毫无意义的。因此,这令人困惑。
在确定执行哪种类型的应用程序关闭工作应该响应的消息(如果有)时,是否存在某种“最佳实践”原则可应用?
特别是,如果未处理任何一条消息,关闭过程是否会导致关闭应用程序,就像用户手动关闭了该应用程序一样(例如,单击红色的X关闭按钮)?
在构建自定义服务器应用程序时,最好有一个关闭机制,以确保所有正在运行的进程在服务器关闭之前停止,这也将有助于更好的内存管理。
我们如何利用 Golang 及其力量来构建这样的机制?Golang 中已经有一个 ,shutdown函数可用,我的目的是让开发人员跳出框框思考并创建多种方法来执行相同的操作。这将有助于让我们的golang社区变得更好、更强。下面我分享一下我的一个答案,希望大家多提建议和解答。
我想知道是否有人知道如何使用对话框来创建按下按钮事件.这是一个场景:
用户想要关闭他们的系统,但由于他们确认这一点至关重要,用户必须按住按钮5秒才能完成操作.
我试图在是的情况下这样做,即.
要确认关机,请按住"是"5秒钟.
任何人都能做到这一点之前能够提供一些帮助/见解吗?
我的一个应用程序可以安装在Facebook页面(选项卡)上.
用户无需对其进行身份验证,因为该应用程序不需要任何用户相关信息.
但我确实需要安装应用程序的页面的名称,profile_url和thumbnail_url.我通过FQL获取此信息.
我可以在我的日志文件中看到我的一些api请求检索此信息失败,并显示"您无权访问此信息"这样的消息,可能是因为这些页面受到限制.
遗憾的是,如果我可以访问此信息或请求失败,则无法提前知道.
我的问题是:这可能是Facebook的一个问题,他们的自动化系统可能会关闭我的应用程序吗?
我只是想知道:如果两个PC都在同一个局域网上,我们可以使用批处理文件从另一台PC上关闭它吗?
我不明白关闭计算机和使用此功能关闭计算机之间的区别.我在看https://msdn.microsoft.com/en-us/library/windows/desktop/aa376872(v=vs.85).aspx
具体来说,我不明白SHUTDOWN_NOREBOOT.
SHUTDOWN_NOREBOOT0x00000010 (0x10)SHUTDOWN_POWEROFF0x00000008 (0x8)SHUTDOWN_RESTART0x00000004 (0x4)如果计算机没有断电也不会重新启动,那么目的是什么?是SHUTDOWN_NOREBOOT与具有计算机睡眠的代名词?
我正在使用 Tomcat 8.xx 并使用 startup.sh 启动 tomcat。我使用 JPS 命令验证了 tomcat 已启动并正在运行。我正在使用catalina.sh stop 100停止 Tomcat 。根据 catalina shell 脚本,它将等待 100 秒以终止 tomcat 进程。但是tomcat进程立即终止,通过JPS命令验证。
为什么正常关机不起作用?
如何在Tomcat中实现优雅关机?
我制作了这个小代码来停止关闭应用程序.
Public Sub New()
InitializeComponent()
AddHandler SystemEvents.SessionEnding, AddressOf SessionEndingEvtHandler
End Sub
Private Sub SessionEndingEvtHandler(sender As Object, e As SessionEndingEventArgs)
MessageBox.Show("Cancelling Windows shutdown")
e.Cancel = True
End Sub
Run Code Online (Sandbox Code Playgroud)
它工作正常,应用程序不再关闭.但是当我尝试关闭系统(Windows 8)时,会出现一个完整的屏幕提示,其中列出了我的应用程序,并要求我确认关机或取消它.
我的问题是,如何取消关机?
我尝试激活取消按钮(此屏幕链接上的详细信息):
SendKeys.Send("{ENTER}")
Run Code Online (Sandbox Code Playgroud)
但它不起作用
知道如何模拟取消按钮动作吗?
谢谢,我为我的英语道歉,我是法国人.