德尔福。 ShellExecute命令在Win 7上正常运行,但在Win 8上运行不正常

时间:2015-06-29 17:25:09

标签: delphi shellexecute

我在32位Windows 7 PC上使用Delphi 2010进行编程。

以下代码在我的电脑上以管理员身份运行时可以使用。

unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, ShellApi;

type
  TForm1 = class(TForm)
    procedure FormCreate(Sender: TObject);
  private
  { Private declarations }
  public
  { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.FormCreate(Sender: TObject);
begin
  ShellExecute(0,'open','command','/c ipconfig /all > testipco.txt','',0);
  showmessage('Test IP Config file should be written');
end;

end.

输出文件TESTIPCO.TXT并包含与在命令提示符窗口中输入ipconfig / all相同的结果。

当我编译文件并在64位Windows 8.1 PC上以管理员身份运行时,程序似乎运行正常,显示消息(没有错误),但不生成文件TESTIPCO.TXT。

即使在兼容性设置为Windows 7的Windows 8计算机上运行exe也无法正常工作。

我无法弄清楚为什么会这样。我希望你们中的一个聪明的人能够引导我朝着正确的方向前进。

1 个答案:

答案 0 :(得分:1)

您是否尝试过cmd.exeCommand是一个有点过时的参考。