Delphi-PRAXiS
Seite 2 von 2     12   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Win32/Win64 API (native code) (https://www.delphipraxis.net/17-win32-win64-api-native-code/)
-   -   Delphi Problem mit RunOnce (https://www.delphipraxis.net/23481-problem-mit-runonce.html)

Karlson 9. Jun 2004 19:32

Re: Problem mit RunOnce
 
Zitat:

Zitat von HaCkAttaCk2001
Zitat:

Zitat von Luckie
Zitat:

Zitat von HaCkAttaCk2001
Kann ich Windows nicht irgendeine Message schicken, dass er mit der Bearbeitung der Autostarteinträge fortfahren kann?

´
Wie hast du es denn geschaft Windows praktisch anzuhalten? :shock:

Hi.

Wenn man ein Programm über RunOnce startet, wartet Windows (leider) so lange, bis das Programm beendet ist. Es soll aber nicht beendet werden, denn es geht in den SysTray. Nun würde ich gern wissen, ob ich Windows eine Message schicken kann, dass es weitermachen soll.


C ya!

PS: Das starten über RunServices hat nichts gebracht.

Neee, also bei mir zumindest nicht! Bei mir startet Windows mit RunOnce, das Programm einmal (wie once schon sagt) bei dem nächsten windowstart wird es dann nicht mehr geladen.
Ich frage, weil ich ein Programm habe, bei dem das auch sehr praktisch wäre mit dem warten...

c113plpbr 9. Jun 2004 21:37

Re: Problem mit RunOnce
 
Es gibt da noch ne art von 'minimal' Delphi-Programmen:
Du erstellst mit z.B. Notepad eine textdatei speicherst diese, und gibst ihr die endung .dpr. Dieses Delphi-'Projekt' öffnest du dann mit Delphi und schreibst folgendes rein:
Delphi-Quellcode:
program x;

begin

end.
(Wobei x dem dateinamen entspricht)
Zwischen begin und end fügst du dann den code ein, der das hauptprogramm startet, und solange wartet, bis windows 'gestartet' werden soll.
Diese Andwendung hat dann kein fenster, sondern schwirrt nur als prozess rum.
Wenn du nicht zu viele dateien einbindest, dürfte dein programm relativ klein sein.

ciao, Philipp

Luckie 9. Jun 2004 21:41

Re: Problem mit RunOnce
 
Zitat:

Zitat von c113plpbr
Es gibt da noch ne art von 'minimal' Delphi-Programmen:...

Oder man erstellt ein neues Konsolen-Programm. ;)

c113plpbr 9. Jun 2004 21:50

Re: Problem mit RunOnce
 
Zitat:

Zitat von Luckie
Oder man erstellt ein neues Konsolen-Programm. ;)

Da kommt aber dann das dumme konsolenfenster, das man nicht braucht ... ;-)

Luckie 9. Jun 2004 22:00

Re: Problem mit RunOnce
 
Zitat:

Zitat von c113plpbr
Zitat:

Zitat von Luckie
Oder man erstellt ein neues Konsolen-Programm. ;)

Da kommt aber dann das dumme konsolenfenster, das man nicht braucht ... ;-)

Delphi-Quellcode:
program Project1;

{$APPTYPE CONSOLE}  // <- löschen und da kommt kein Fenster mehr ;)

uses
  SysUtils;

begin
  { TODO -oUser -cConsole Main : Insert code here }
end.

HaCkAttaCk2001 14. Jun 2004 21:34

Re: Problem mit RunOnce
 
Hi.

Ich hab mal den Tipp mit dem "Miniprogramm" benutzt... allerdings habe ich folgende Uses:

Code:
uses
 ShellAPI, StdCtrls, Windows, Messages, SysUtils, Dialogs;
... und schon wird das Programm riesig (nur 9 KB kleiner als vorher)... aber ich kann nicht drauf verzichten!


Kann man das Konsolenprogramm wirklich problemlos unter jedem Windows verwenden etc.? Bin da etwas skeptisch ^^. Werd das nachher mal versuchen...


C ya!

Luckie 14. Jun 2004 22:16

Re: Problem mit RunOnce
 
Brauchst du die Dialogs.pas? Messageboxen kannst du auch mit der Windows.pas erzeugen. Und brauchst du die SysUtils.pas? Die paar Funktionen, die man bräuchte (IntToStr, StrToInt) kann man sich auch schnell selber mit den Pascal Funktionen aus der System.pas schreiben. Und wozu StdCtrs? ist doch eine Konsolen-Anwendung. Was willst du da mit Buttons und Edits?

HaCkAttaCk2001 15. Jun 2004 13:31

Re: Problem mit RunOnce
 
Zitat:

Zitat von Luckie
Brauchst du die Dialogs.pas? Messageboxen kannst du auch mit der Windows.pas erzeugen. Und brauchst du die SysUtils.pas? Die paar Funktionen, die man bräuchte (IntToStr, StrToInt) kann man sich auch schnell selber mit den Pascal Funktionen aus der System.pas schreiben. Und wozu StdCtrs? ist doch eine Konsolen-Anwendung. Was willst du da mit Buttons und Edits?

Hi.

Es ist schön, dass man das kann :D . Aber ich habe nicht mal den Funken eines Schimmers einer Ahnung wie das zu bewerkstelligen ist :stupid: .
SysUtils verwende ich für ExtractFilePath. Dialogs für MessageDlg.

C ya.

PS: StdCtrls hatte ich tatsächlich vergessen herauszunehmen. Danke.

Luckie 15. Jun 2004 15:45

Re: Problem mit RunOnce
 
ExctractFilepath:
Delphi-Quellcode:
////////////////////////////////////////////////////////////////////////////////
// Procedure : CutFilename
// Comment  : ExtractFilepath

function CutFilename(s: string): string;
var
  i: integer;
begin
  result := s;
  for i := length(s) downto 1 do
    // Von hinten den Backslash suchen. Wenn gefunden alles bis inkl. Backslash kopieren
    if s[i] = '\' then
      begin
        result := copy(s, 1, i);
        // Nach dem ersten Backslash beenden
        break;
      end;
end;
MesasageDlg:
Delphi-Quellcode:
Messagebox(Handle, 'mein Text', 'Meine Caption', MB_ICONYESNO or MB_ICONQUESTION);


Alle Zeitangaben in WEZ +1. Es ist jetzt 19:31 Uhr.
Seite 2 von 2     12   

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-2025 by Thomas Breitkreuz