Kezdőoldal » Számítástechnika » Programozás » Hogyan lehet ablak nélküli/hát...

Hogyan lehet ablak nélküli/háttérben véges ideig futó windows appot csinálni pascalban?

Figyelt kérdés
Tehát nem konzolos win32 kéne, de ablak se nyíljon meg, és nem is szolgáltatás lenne. C#-ban erre találtam leírást (konzol target de window outputtal), de pascalhoz nem. Nem akarnék .net függő eredményt.

2017. dec. 19. 00:27
 1/7 sharkxxx ***** válasza:

Lazarus-ban:

File | New... | Project/Application

Project | Remove from Project... | unit1.pas

Project | Units... | project1.lpr

2017. dec. 19. 01:29
Hasznos számodra ez a válasz?
 2/7 anonim ***** válasza:
.NET-ben ezt windows service-nek hívják, gondolom pascalban is van megfelelője.
2017. dec. 19. 07:16
Hasznos számodra ez a válasz?
 3/7 anonim ***** válasza:

Én így keresnék rá:

windows "message loop" "without window"

A Windows API fog kelleni hozzá, az meg Pascalban is adott.

2017. dec. 19. 09:48
Hasznos számodra ez a válasz?
 4/7 SimkoL ***** válasza:
32%

*.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.

2017. dec. 19. 10:03
Hasznos számodra ez a válasz?
 5/7 A kérdező kommentje:

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.

2018. jan. 8. 22:07
 6/7 sharkxxx ***** válasza:
Ha azt szeretnéd, hogy rögtön végetérjen a program, akkor az összes parancsot töröld ki belőle. Főleg az Application.Run parancsot töröld ki, mert abban egy végtelen ciklus van.
2018. jan. 9. 21:30
Hasznos számodra ez a válasz?
 7/7 A kérdező kommentje:

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.

2018. jan. 10. 21:01

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

A weboldalon megjelenő anyagok nem minősülnek szerkesztői tartalomnak, előzetes ellenőrzésen nem esnek át, az üzemeltető véleményét nem tükrözik.
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!