Avatar billede hp-power Nybegynder
02. april 2002 - 14:35 Der er 7 kommentarer og
2 løsninger

Kører et program

kan man lave noget så fx program1(delphi lavet) altid tjekker om en andet delphi program kører

Og hvordan..

Heino.
Avatar billede morten_s Nybegynder
02. april 2002 - 14:43 #1
procedure TForm1.FormCreate(Sender: TObject);
begin
{ Searchs table to see if the program is already running }
  if GlobalFindAtom('PROGRAM_RUNNING') = 0 then
  { If not found then add it }
  fAtom := GlobalAddAtom('PROGRAM_RUNNING')
  else begin
  { If program is already running the show message and halt }
    MessageDlg('Programmet er startet',mtWarning, [mbOK], 0);
  // Halt;
  end;end;

procedure TForm1.FormDestroy(Sender: TObject);
begin
  GlobalDeleteAtom(fAtom);
end;
Avatar billede morten_s Nybegynder
02. april 2002 - 14:44 #2
og under dine vars

var
    fAtom : TAtom;
Avatar billede laffe Nybegynder
02. april 2002 - 17:02 #3
Du kan også søge efter programmet ved at lede efter main-vinduet.

Lad os antage, at caption på den application du vil checke er "MitProgram"
, så kan du bruge nedenstående kode:


procedure TForm1.FormCreate(Sender: TObject);
begin
  if (FindWindow("","MitProgram"))
  {
    // programmet kører
  }else
  {
    // Programmet kører ikke
  }
end;
Avatar billede geek Nybegynder
02. april 2002 - 18:34 #4
laffe >> :) Du har da vist fået blandet en smule C ind i din funktion...
Avatar billede hp-power Nybegynder
03. april 2002 - 10:07 #5
jeg ved ikke om det er mig der er dum men jeg kan ikke få nogle af de svar til at virke. så er der mulighed for lidt mere hjælp.....

?HEINO?
Avatar billede morten_s Nybegynder
03. april 2002 - 10:13 #6
Hvad er din mail adr. så skal jeg sende det til dig compileret und alles
Avatar billede morten_s Nybegynder
03. april 2002 - 10:17 #7
Eller prøv selv igen, den totale kode til et nyt projekt har du her:

unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs;

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

var
  Form1: TForm1;
  fAtom : TAtom;

implementation

{$R *.dfm}

procedure TForm1.FormCreate(Sender: TObject);
begin
begin
{ Searchs table to see if the program is already running }
  if GlobalFindAtom('PROGRAM_RUNNING') = 0 then
  { If not found then add it }
  fAtom := GlobalAddAtom('PROGRAM_RUNNING')
  else begin
  { If program is already running the show message and halt }
    MessageDlg('Programmet er startet',mtWarning, [mbOK], 0);
  Halt;
  end;
end;

end;

procedure TForm1.FormDestroy(Sender: TObject);
begin
GlobalDeleteAtom(fAtom);

end;

end.
Avatar billede hp-power Nybegynder
03. april 2002 - 10:45 #8
min mail er heino@hp-power.dk
Avatar billede morten_s Nybegynder
03. april 2002 - 18:38 #9
Er sendt
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester