想在 isapi 中执行 cmd 语句 怎么也不能成功 问题出在哪儿?这是我的源程序 unit Unit1;interfaceuses
  SysUtils, Classes, HTTPApp,shellapi;type
  TWebModule1 = class(TWebModule)
    procedure WebModule1WebActionItem1Action(Sender: TObject;
      Request: TWebRequest; Response: TWebResponse; var Handled: Boolean);
  private
    { Private declarations }
  public
    { Public declarations }
  end;var
  WebModule1: TWebModule1;implementation{$R *.dfm}procedure TWebModule1.WebModule1WebActionItem1Action(Sender: TObject;
  Request: TWebRequest; Response: TWebResponse; var Handled: Boolean);
begin
ShellExecute(0, 'open', 'D:\WINDOWS\system32\cmd.exe',pchar(' /c del f:\files.txt'),nil, 1);end;end.如果编译成 cgi 在本地可以直接运行成功 删除 files.txt 通过网页访问 就不执行 

解决方案 »

  1.   

    权限问题,默认设置下ASP没权限访问系统目录
      

  2.   

    运行ISAPI DLL的ASP服务进程使用的帐户没有程序目录、系统目录和根目录的访问权限。
    你可以编写一个桌面应用程序和ASP服务中运行的ISAPI DLL交互。
    不要增加ASP服务进程使用的帐户的权限——这极其危险。
      

  3.   

    我不是用的 asp
    我是用 webbroker 作的一个 isapi的 dll好像的确是 权限问题我用 mssql 的master..xp_cmdshell来调用 cmd.exe 就成功了 
      

  4.   

    权限问题
    建议使用SharedMemory共享区与NT Service服务(需要自己编写)交互
    这样可以保证有较好的安全性不要写桌面程序了,写服务程序才好的,你可以在不登录系统下使用
      

  5.   

    ISAPI就是基于IIS的API……怎么说和IIS服务没有关系……
      

  6.   

    最近我也在研究这个东东。如果是权限问题,你把IIS的访问权设置为administrator帐号,应该可以用的:)谁能告诉我,如何用isapi来重定向URL,我不是要在网页上加载dll的那种。我想加载在IIS的isapi中。不知道行不行。我水平比较菜。谢谢。