Hogyan lehet ablak nélküli/háttérben véges ideig futó windows appot csinálni pascalban?
Lazarus-ban:
File | New... | Project/Application
Project | Remove from Project... | unit1.pas
Project | Units... | project1.lpr
Én így keresnék rá:
windows "message loop" "without window"
A Windows API fog kelleni hozzá, az meg Pascalban is adott.
*.lpr file
program Project1;
{$mode objfpc}{$H+}
uses {$IFDEF UNIX} {$IFDEF UseCThreads}
cthreads, {$ENDIF} {$ENDIF}
Interfaces, // this includes the LCL widgetset
Forms,
unit1 { you can add units after this };
{$R *.res}
begin
RequireDerivedFormResource := True;
Application.Initialize;
Application.ShowMainForm := False;
islibrary := False;
Application.CreateForm(TForm1, Form1);
Application.Run;
end.
A Form1 bár létrejön de nem jelenítődik meg. Ha gondolod egy Timer vagy valami más event simán megjeleníti neked a Form1.Show-al és akkor már látszik a tálcán is.
Köszönöm a válaszokat, de nem pont az az eredmény, amit szeretnék, ugyanis a program nem áll meg magától, pedig még egy sort sem tettem hozzá, vagyis egyelőre nem csinál ténylegesen semmit. Mint írtam a kérdésben, ez nem szolgáltatás szeretne lenni.
Application.Terminate sem csinál semmit.
Köszi, na most végre helyére került minden. :) Odáig jutottam, hogy kitörölhető minden, csak egy
Program x;
Begin
//mezei saját kód
end.
maradt, és még mindig win32-es eredményt adott, se konzol, se ablak, tehát a lényeg a projekt beállításai/fordító beállításai/beállítás és célnál lakik, a -WG kapcsoló.
De hogy ezt a gugli miért nem tudta angol keresésre sem kiköpni, az rejtély. Az eredmény exe fájl még így szinte "üresen" is 70 kB, C#-ban ugyanez 3 kB. Ez egy picit meglepő méretviszony.
Kapcsolódó kérdések:
Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!