您的位置:澳门402永利com > 关于计算机 > 浅议Delphi中的Windows API调用

浅议Delphi中的Windows API调用

发布时间:2019-11-12 08:19编辑:关于计算机浏览(197)

    为了能在Windows下飞速支付应用程序,Delphi对Windows的控件都开展了很好的包裹,那样,大家就能够直接动用Delphi的控件来编写程序,而不用利用格式、调用调整形复原杂的API来進张开拓,为大家节省了大气的花销时间。

    可不常那个控件化解不了大家的标题,这时候我们就必须要选取API了,也正是Windows的应用程序接口。这样,难点也就光临了,API是用C++语言编写的,而Delphi的脚本语言是PASCAL,两个接受的数据类型是不相称了。那么,如何在Delphi中调用数据类型不宽容的API呢,这正是本文中自身为大家介绍的剧情了。

    大家在Delphi中最常用到的二个数据类型是String类型,可API并不扶植,那么当大家供给从API中取得八个string类型的值时该怎么去做呢?看看上面包车型地铁顺序:

    function GetSysPath: string;

    var

    sTmp: string;

    begin

    result := ’’;

    //调用WindowsApi拿到Windows的种类路线

    SetLength(sTmp,256);

    GetSystemDirectory(PChar(sTmp),256); //那是叁个API函数

    SetLength(sTmp,StrLen(PChar(sTmp)));

    result := sTmp + ’’;

    end;

    在该函数中,调用了API函数GetSystemDirectory,它的首先个参数是二个对准以NULL结尾字符串的指针,在Delphi中,这种数据类型是PCHA奥德赛,所以那边要开展数据类型转变,要写成PChar(sTmp)。 大家再看其它叁个例子:

    procedure TForm1.ChangeAppIcon;

    var

    icon: TIcon ;

    begin

    icon := TIcon.Create;

    try

    icon.Handle := ExtractIcon(application.Handle,pchar(’D:WINNTegedit.exe’),0); //那是一个API函数

    if icon.Handle <> 0 then

    application.Icon := icon;

    finally

    icon.Free;

    end;

    end;

    该进度通过API函数获得二个应用程序的Logo,来动态改过如今景序的Logo。API函数ExtractIcon重临的是贰个HICON类型,是二个指向性Logo的指针,假如写成application.Icon = ExtractIcon(application.Handle, pchar(’D:WINNTegedit.exe’), 0); 编写翻译分明不经过,数据类型不后生可畏致吗!application.Icon属性是Ticon类型的,咱们得以创造三个Ticon,把API的回来值赋给Ticon.Handle,最终将ICON赋值给application.Icon,就解决了大家的标题。

    通过下面的例子,大家得以看看,Delphi并不直接援助Windows中的数据类型,只好通过包装的花样来支撑。要熟谙地调用API函数,大家应当要领会Delphi的包装机制,多看、多写,多去实施,那么,大家就可以自由的调用API函数了。

    本文由澳门402永利com发布于关于计算机,转载请注明出处:浅议Delphi中的Windows API调用

    关键词:

上一篇:post央浼中的参数,get哀求中的参数

下一篇:没有了