使用管道将字符串写入运行间谍应用程序的windows命令

2024-06-28 19:28:37 发布

您现在位置:Python中文网/ 问答频道 /正文

使用Windows7 64位和Python 2.6.6 32位

我试图创建一个间谍窗口,我的应用程序可以产生和写入文本,以便它可以显示。窗户很简单命令行.exe使用Popen在进程中运行,stdin=PIPE,运行从stdin读取并写入stdout的间谍应用程序。主应用程序用字符串写入子进程stdin。我可以运行下面的代码没有错误,但文本写入间谍永远不会显示。有没有关于我做错事的提示?在

以下是主对象的代码:

from subprocess import Popen, PIPE

class SpyWin(object):
    def __init__(self):
        super(SpyWin, self).__init__()
    def open(self):
        self._spy = Popen(["start", "cmd" , "/k", "python spy_win_mon.py"], shell=True, stdin=PIPE)

    def write(self, s=""):
        self._spy.stdin.write(s)
        self._spy.stdin.flush()

def main():
    sw = SpyWin()
    sw.open()
    sw.write("It works!\r\n")

if __name__ == "__main__":
    main()

这是特务阮文_代码.py在子进程中执行的代码:

^{pr2}$

Tags: 代码文本self应用程序进程maindefstdin