perf: 优化DBeaver连接数据库时,不显示cli-dos窗口

pull/9657/head
jiangweidong 2 years ago
parent ca22b08cde
commit 28e28b620b

@ -2,8 +2,7 @@ import os
import time import time
import win32api import win32api
import shutil import shutil
import subprocess
from pywinauto import Application
from common import wait_pid, BaseApplication from common import wait_pid, BaseApplication
@ -61,16 +60,18 @@ class AppletApplication(BaseApplication):
def run(self): def run(self):
self.launch() self.launch()
self.app = Application(backend='uia')
function = getattr(self, '_get_%s_exec_params' % self.protocol, None) function = getattr(self, '_get_%s_exec_params' % self.protocol, None)
if function is None: if function is None:
params = self._get_exec_params() params = self._get_exec_params()
else: else:
params = function() params = function()
exec_string = '%s -con %s' % (self.path, params)
self.app.start(exec_string, wait_for_idle=False) startupinfo = subprocess.STARTUPINFO()
self.pid = self.app.process startupinfo.dwFlags = subprocess.CREATE_NEW_CONSOLE | subprocess.STARTF_USESHOWWINDOW
startupinfo.wShowWindow = subprocess.SW_HIDE
ret = subprocess.Popen([self.path, '-con', params], startupinfo=startupinfo)
self.pid = ret.pid
def wait(self): def wait(self):
wait_pid(self.pid) wait_pid(self.pid)

Loading…
Cancel
Save