使用PowerShell构造Python.exe启动CLI
家电修理 2023-07-16 19:17www.caominkang.com电器维修
原理简单,
python.exe调用python3.dll的Py_Main(argc, argv);函数启动主会话过程。
使用Poershell重现这个过程,
注意这个方法只是原生Python启动,不能调用C# Namespace的变量参数
$source = @" using System; using System.Collections.Generic; using System.Text; using System.Linq; using System.Runtime.InteropServices; public class Python3k { [DllImport("python3.dll")] public static extern int Py_Main(int argc, IntPtr[] argv); public static int py_main_(string[] argv) { var argvptr = argv.Select(i => Marshal.StringToHGlobalUni(i)).ToArray(); return Py_Main(argv.Count(), argvptr); } } "@ Add-Type -TypeDefinition $source [Collections.Generic.List[String]]$argv=$args $argv.Insert(0, "python.exe") exit [Python3k]::py_main_($argv.ToArray())
将上述脚本放到python3.dll同目录命名为python3.ps1既可.
空调维修
- 海信电视维修站 海信电视维修站点
- 格兰仕空调售后电话 格兰仕空调维修售后服务电
- 家电售后服务 家电售后服务流程
- 华扬太阳能维修 华扬太阳能维修收费标准表
- 三菱电机空调维修 三菱电机空调维修费用高吗
- 美的燃气灶维修 美的燃气灶维修收费标准明细
- 科龙空调售后服务 科龙空调售后服务网点
- 华帝热水器维修 华帝热水器维修常见故障
- 康泉热水器维修 康泉热水器维修故障
- 华凌冰箱维修电话 华凌冰箱维修点电话
- 海尔维修站 海尔维修站点地址在哪里
- 北京海信空调维修 北京海信空调售后服务
- 科龙空调维修 科龙空调维修故障
- 皇明太阳能售后 皇明太阳能售后维修点
- 海信冰箱售后服务 海信冰箱售后服务热线电话
- 海尔热水器服务热线