unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, System.ComponentModel, Borland.Vcl.StdCtrls;

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

var
  Form1: TForm1;

function GetProcessId(Process :THandle) :DWORD; StdCall; external 'kernel32.dll';

implementation

{$R *.nfm}

procedure TForm1.Button1Click(Sender: TObject);
var
  uchwytProcesu :THandle;
  identProcesu :Cardinal;
begin
GetWindowThreadProcessId(Handle,identProcesu);
uchwytProcesu:=OpenProcess(PROCESS_QUERY_INFORMATION,False,identProcesu);
ShowMessage('GetProcessId: '+IntToStr(GetProcessId(uchwytProcesu)));
CloseHandle(uchwytProcesu);

ShowMessage('Test GetCurrentProcessId: '+IntToStr(GetCurrentProcessId));
end;

end.
