Powershell到exe启动脚本,失去了python的关键监听焦点

问题描述 投票:0回答:1

我正在尝试实现一个Powershell启动脚本,它调用一个python文件。当 shell 调用我的 python 文件时,它永远不会获得焦点。当我进入启动文件夹并自己运行脚本时,它工作正常,但当它作为启动过程的一部分运行时,关键侦听器不起作用。

我已经尝试了很多方法来让我的项目无头运行,例如运行提升权限、更改 python 中的密钥侦听器、安装应该将焦点放在窗口上的 python 模块、在子进程中打开文件、在全新的进程中打开它外壳。

当我手动运行 .exe 时它可以正常工作,显然我遗漏了一些东西,谷歌已经无望了。

Write-Host "starting docker"

$user = [Environment]::UserName

Start-Process -FilePath "C:\Program Files\Docker\Docker\Docker Desktop.exe"

$file_path = "C:\Users\${user}\OneDrive\Desktop\teia\windows\"


   # Check if Docker is ready
   function DockerReady {
       try {
           $response = Invoke-RestMethod -Uri http://localhost:2375/_ping -UseBasicParsing
           return $response -eq "OK"
       } catch {
           return $false
       }
    }
     
    # Wait for Docker
    do {
        Write-Host "Waiting for Docker to be ready..."
        Start-Sleep -Seconds 3
    } until (DockerReady)

Start-Process powershell -ArgumentList "-NoExit", "-Command", "docker run --rm -it --env ACCEPT_LICENSE=true --publish 1080:1080 tts-standalone"


Write-Host "Starting Teia"
Start-Process powershell -ArgumentList "-NoExit", "-Command", "conda run --name teia python '$file_path\run-on-startup.py' '$file_path'"


Write-Host -NoNewLine "Application initialised, press any key to exit..."
$null = $Host.UI.RawUI.ReadKey('NoEcho, IncludeKeyDown')```
python-3.x powershell startup headless windows-11
1个回答
0
投票

如果您想将其作为启动脚本运行,就像 Windows 登录会话启动时一样。

将此脚本移动到 shell:startup 文件夹,如果你想作为海拔执行,它会自动执行,制作一个bat脚本并添加路径“C:\Windows\System3”

© www.soinside.com 2019 - 2024. All rights reserved.