delphi的shellexecute中调用cmd.exe
你好,我想用在delphi中用shellexecute运行pythonscript.所以我设想打开cmd.exe,在此环境中运行python脚本文件。下面这句话Shell...
你好,我想用在delphi中用shellexecute运行python script. 所以我设想打开cmd.exe, 在此环境中运行python脚本文件。下面这句话
ShellAPI.ShellExecute(0, 'open', 'c:\windows\system32\cmd.exe', 'python c:\python27\arcgis10.1\try.py', NIL, SW_SHOW); 这句话编译通过但没有打开cmd.exe,我试过将句柄改为handle可是出现报错
请大家指点迷经 谢谢! 展开
ShellAPI.ShellExecute(0, 'open', 'c:\windows\system32\cmd.exe', 'python c:\python27\arcgis10.1\try.py', NIL, SW_SHOW); 这句话编译通过但没有打开cmd.exe,我试过将句柄改为handle可是出现报错
请大家指点迷经 谢谢! 展开
展开全部
你的程序不太对,照我给你的改。能用结贴给分,人的基本素质。
uses ShellAPI;
procedure TForm1.Button1Click(Sender: TObject);
var
fn: string;
begin
fn := 'c:\python27\arcgis10.1\try.py';
ShellExecute(0, 'open', 'cmd.exe', PChar('/c python ' + fn), nil, SW_SHOW);
end;
另外检查一下系统路径里有没有Python:我的电脑->属性 -> 高级 -> 环境变量 -> 系统变量->选中Path->编辑 。
uses ShellAPI;
procedure TForm1.Button1Click(Sender: TObject);
var
fn: string;
begin
fn := 'c:\python27\arcgis10.1\try.py';
ShellExecute(0, 'open', 'cmd.exe', PChar('/c python ' + fn), nil, SW_SHOW);
end;
另外检查一下系统路径里有没有Python:我的电脑->属性 -> 高级 -> 环境变量 -> 系统变量->选中Path->编辑 。
追问
非常感谢,现在我能打开cmd窗口了,我按照你的说法在系统path中加入了‘'c:\python27\arcgis10.1'’,我python安装在这里了。cmd窗口还是显示说python无法被辨认为内部或外部命令。当前path显示在delphi的该程序exe生成的路径里。我在cmd中试过,貌似只有当前path在python安装目录下才能调用python,我现在设想能不能在shellexecute中跑两句命令'cd c:\python27\arcgis10.1',然后再‘python try.py’? 或者你有别的办法吗?
追答
你自己手动打开cmd,调用一下这个python试试。python这玩意怎么这么不靠谱,一般来说安装后就应该自动加入环境变量。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询