我想完全禁止用户关闭x键以外的Pygame窗口。目前,我能够阻止用户关闭它,但无法阻止用户打开另一个与其重叠的窗口(按Windows键->打开chrome,与Pygame窗口重叠)。
import sys
import pygame
from pygame.locals import *
pygame.init()
infoObject = pygame.display.Info()
screen = pygame.display.set_mode((infoObject.current_w, infoObject.current_h), flags=pygame.NOFRAME)
while True:
screen.fill((0, 0, 0))
for event in pygame.event.get():
if event.type == pygame.KEYDOWN:
if event.key == pygame.K_x:
pygame.quit()
sys.exit()
if event.type == QUIT:
pass
pygame.display.flip()
答案 0 :(得分:2)
我们没有针对此任务的完整解决方案。
您可以通过将显示模式设置为NOFRAME(您已经使用过)来使标题消失(pygame.display.set_mode(flags = pygame.NOFRAME)
,但这对于仅停止关闭按钮来说是过大的事情
尽管任何具有最低计算机知识的用户都将启动任务管理器并杀死python.exe
:-(
有几种方法可以通过Windows中的注册表,图像文件执行选项等等来禁用任务管理器,但是您的游戏脚本几乎无法在具有管理员权限的情况下运行(由于UAC的困扰)
答案 1 :(得分:0)
为此,您可以将这段代码添加到pygame.display.set_mode()
中:
pygame.display.set_mode(..., flags=pygame.NOFRAME)
。现在,带有“ x”按钮的栏将消失。
请注意,如果您决定进行此更改,则将无法再移动游戏窗口。 (除非您将其改回)。