如何关闭使用 python 制作的 chrome 本机应用程序?
How to close chrome native app made with python?
我制作了一个 chrome 扩展程序,可以与使用 python 制作的本机应用程序进行交互。关闭浏览器后,我的本机应用程序并未结束。我在某处读到 chrome 在结束前发送 -1 作为消息。以下是我以前从分机收到的代码 -
if sys.platform == "win32":
import os, msvcrt
msvcrt.setmode(sys.stdin.fileno(), os.O_BINARY)
msvcrt.setmode(sys.stdout.fileno(), os.O_BINARY)
def func():
while True:
if sys.stdin.read(1) == -1:
logging.info("inside func got minus one")
sys.exit()
p = multiprocessing.Process(target=func)
p.start()
您应该看看 https://developer.chrome.com/apps/nativeMessaging,其中包括 Python 中的示例。
您需要阅读消息的长度。它是一个 4 字节(32 位)整数。如果长度为0,那就是你退出的信号。
def func():
while True:
text_length_bytes = sys.stdin.read(4)
if len(text_length_bytes) == 0:
sys.exit(0)
# still here, read text_lenth_bytes from stdin
我制作了一个 chrome 扩展程序,可以与使用 python 制作的本机应用程序进行交互。关闭浏览器后,我的本机应用程序并未结束。我在某处读到 chrome 在结束前发送 -1 作为消息。以下是我以前从分机收到的代码 -
if sys.platform == "win32":
import os, msvcrt
msvcrt.setmode(sys.stdin.fileno(), os.O_BINARY)
msvcrt.setmode(sys.stdout.fileno(), os.O_BINARY)
def func():
while True:
if sys.stdin.read(1) == -1:
logging.info("inside func got minus one")
sys.exit()
p = multiprocessing.Process(target=func)
p.start()
您应该看看 https://developer.chrome.com/apps/nativeMessaging,其中包括 Python 中的示例。 您需要阅读消息的长度。它是一个 4 字节(32 位)整数。如果长度为0,那就是你退出的信号。
def func():
while True:
text_length_bytes = sys.stdin.read(4)
if len(text_length_bytes) == 0:
sys.exit(0)
# still here, read text_lenth_bytes from stdin