39

デーモンとして実行されているアプリケーションを使用して、Python で JavaScript の alert("message") に似たアラートを生成することは可能ですか?

これは Windows で実行されます。ほとんどの場合 XP ですが、2000 と Vista も非常に現実的な可能性があります。

更新:
これは、バックグラウンドで実行され、特定の条件が満たされたときにユーザーに警告することを目的としています。ユーザーに警告する最も簡単な方法は、ポップアップを生成することです。これは、すぐに処理する必要があるためです。その他のオプションログを記録したり、電子メールを送信したりするだけでは十分に効率的ではありません。

4

6 に答える 6

69

これはどうですか:

import win32api

win32api.MessageBox(0, 'hello', 'title')

さらに:

win32api.MessageBox(0, 'hello', 'title', 0x00001000) 

緊急のメッセージのために、ボックスを他のウィンドウの上に表示します。その他のオプションについては、 MessageBox 関数を参照してください。

于 2008-10-07T05:29:15.430 に答える
3

クロスプラットフォームであるため、GTK の方が適している可能性があります。Ubuntu で問題なく動作し、GTK と Python バインディングがインストールされている Windows でも問題なく動作するはずです。

from gi.repository import Gtk

dialog = Gtk.MessageDialog(None, 0, Gtk.MessageType.INFO,
            Gtk.ButtonsType.OK, "This is an INFO MessageDialog")
dialog.format_secondary_text(
    "And this is the secondary text that explains things.")
dialog.run()
print "INFO dialog closed"

ここで他の例を見ることができます。( pdf )

渡される引数は、gtk.window の親 (または None)、DestroyWithParent、メッセージ タイプ、メッセージ ボタン、タイトルである必要があります。

于 2013-12-09T01:14:00.823 に答える
2

Python で win32 ライブラリを使用できます。これは、OK またはキャンセルの古典的な例です。

import win32api
import win32com.client
import pythoncom

result = win32api.MessageBox(None,"Do you want to open a file?", "title",1)

if result == 1:
 print 'Ok'
elif result == 2:
 print 'cancel'

コレクション:

win32api.MessageBox(0,"msgbox", "title")
win32api.MessageBox(0,"ok cancel?", "title",1)
win32api.MessageBox(0,"abort retry ignore?", "title",2)
win32api.MessageBox(0,"yes no cancel?", "title",3)
于 2012-08-06T15:23:17.377 に答える
-4

TCP ポートが localhost にバインドされているか、ファイルを介して通信するバックグラウンド プロセスとしてアプリを起動します。デーモンがファイルを開き、次にecho "foo" > c:\your\file. たとえば、1 秒間アクティビティがない場合、メッセージを表示してファイルを切り捨てます。

于 2008-10-07T05:30:52.933 に答える