直接调用
如shellexecute
use shellapi;
Var St:Array[0..255] of char;
begin
  ShellExecute(Handle,'open',StrPCopy(St,Bpath+'\huamin.chm'),nil,nil,SW_SHOW);
end;

解决方案 »

  1.   

    第一步:
       在use语句中加上use " "
                        ~~~~~你用的api所在模块
    第二步:
       再你需要用的地方用api
    :)
      

  2.   

    delphi本身已封装了windows系统大部分的api函数,要调用这些api时只要在.pas文件头的uses中加入封装api的unit就可以按内部函数一样来调用了。但另一部分没封装的,就要在程序中先声明再调用或动态加载了。五 调用静态载入
    1 客户端函数声名:
    1)大小写敏感。
    2)与DLL中的声明一样。
       如: showform(form:Tform);Far;external'yproject_dll.dll';
    3)调用时传过去的参数类型最好也与windows c++一样。
    4)调用时DLL必须在windows搜索路径中,顺序是:当前目录;Path路径;windows;widows\system;windows\ssystem32;六 调用动态载入
    1 建立一种过程类型[如果你对过程类型的变量只是一个指针的本质清楚的话,你就知道是怎么回事了]。如:
    type
       mypointer=procedure(form:Tform);Far;external;
    var
      Hinst:Thandle;
      showform:mypointer;
    begin
       Hinst:=loadlibrary('yproject_dll');//Load一个Dll,按文件名找。
      showform:=getprocaddress(Hinst,'showform');//按函数名找,大小写敏感。如果你知道自动化对象的本质就清楚了。
      showform(application.mainform);//找到函数入口指针就调用。
      Freelibrary(Hinst);
    end;