2016-10-27 5 views
-6

閉じることのできないPythonスクリプトを作成しようとしています。端末の閉鎖を停止するにはどうすればよいですか?

悪意のあるソフトウェアでこのようなことを人々がどうやってやっているのか疑問に思っています。 それは私が複製したいものではありませんが、今私はそれについて熟考しました。私は人々がプログラムを終了するのを止める方法を学びたいと思っています。 いいえ、私はこのソフトウェアを悪意のあるソフトウェアに使用していません。ただ興味があります。 端末ウィンドウを閉じるのをほとんど不可能にする方法を学びたい。最初のウィンドウが閉じられたときに新しいウィンドウが作成されたり、それらの行に沿って何かが作成される可能性があります。

TKInterに関するいくつかの事柄以外にこれに関するリソースが見つかりませんでしたが、私はTKInterなしでこれを行う方法を見つけることを望んでいます。私を助けてくれますか?

+8

_forない理由を、私はclose._するターミナルウィンドウがほぼ不可能にする方法を学びたい.... – erip

+0

私は人々がどのようにそれをやっているのか疑問に思いましたが、これは学ぶ場所ではありませんか? –

+0

対話的なPythonのような端末ですか?またはあなたのシェル(これはPythonとは関係ありません)ですか? –

答えて

0

これは実際にはPython固有のものではありませんが、少なくとも「Windows」アプリケーションではフォーム上で「X」がクリックされたときに起こることを完全に制御できます。デフォルトの振る舞いは、ウィンドウを閉じて(アプリケーションがメインフォームの場合はアプリケーションを終了させる)だけです。この動作を無効にするだけで、ウィンドウは閉じません。これは明らかに、(タスクマネージャなどを介して)手作業で終了するプロセスを止めるものではありません。

「ターミナル」(IDLE、Windowsのコマンドプロンプト、またはLinuxのターミナルを参照していると仮定しています)では、これを行うことはできません。あなたのpythonスクリプトの実際には、それは単にそれを実行します。

https://wiki.python.org/moin/GuiProgramming

編集:

はこれがあると仮定すると、あなたがpythonでこれを実行したい場合は、それはあなたがやりたいことにする行動だ、実際にGUIを描画してから変更するのpythonが必要です純粋に教育...これはあなたがTkinterのによって作成されたウィンドウを使用してやりたいん必要があります。特に

from Tkinter import * 

root = Tk() 

def doNothing(): 
    pass 

root.protocol('WM_DELETE_WINDOW', doNothing) 
root.mainloop() 
関連する問題