Avatar billede dakinenexus Nybegynder
25. juni 2001 - 14:03 Der er 9 kommentarer og
2 løsninger

Tæl hvor meget et bestemt program bliver brugt.

Hej med jer.

Jeg kunne godt tænke mig i Delphi, at lave et program der kan tælle hvor mange gange et bestemt program er blevet startet op fra desktop\'en.
Altså jeg vil tælle hvor meget et bestemt program bliver brugt. F.eks Microsoft Word. Bliver det brugt 2 eller 10 gange om ugen.
Kan nogle komme med et forslag til, hvordan jeg kan gøre det med et Delphi program?

Det allerbedste ville være hvis windows shutcut\'et kunne virke som en trigger. Dvs samtidigt med at Word f.eks blev staret blev \'mit\' lille Delphi program også kaldt. Det kunne så sætte en tæller på f.eks en database. Men jeg mener ikke, at man kan sætte et shutcut til at starte mere end et program, så hvad kan jeg så gøre? Et cron job er heller ikke muligt uden, der ligger en eller anden slags SysAgent på maskinen, og det er vist ikke standard i NT.
Nogle gode idéer?

På forhånd tak
Avatar billede martinlind Nybegynder
25. juni 2001 - 14:25 #1
Hvad med at \"lytte\" på hvilket viduer du har kørende ( QueryWindow / FindWindow )
Avatar billede dakinenexus Nybegynder
25. juni 2001 - 14:31 #2
QueryWindow/ FindWindow !
Dem må du lige udbyde for mig. Hvad siger du de kan?
Avatar billede martinlind Nybegynder
25. juni 2001 - 14:53 #3
Det er Win-API og de kan bruges til at få fat i en Windows-handle til f.eks. at sende en WM_CLOSE til det vindue, men du kunne evt. bare set om du kunne finde Word\'s vindue og kan du det så tæller du en op, du skal jo så nok holde lidt styr på om det er den samme handle som du fik sidst, og hvis det er det skal du selvfø\'li ikke tælle op. Det kræver nok lidt housekeeping men jeg har ikke rigtig andre ider
Avatar billede dakinenexus Nybegynder
25. juni 2001 - 15:14 #4
Ja det var måske en muligehed.
Men har du evt et eller andet kode eksempel hvor disse indgår i? Når det er en Win-API funktion så har jeg jo ikke meget online hjælp fra den Delphi.

Jeg er ikke så meget haj i de API funktioner.
Avatar billede martinlind Nybegynder
25. juni 2001 - 15:19 #5
Jo da, gå op i Hjælp, og vælg Win-API, der er da en helt OK hjælp til Win-API, du kan også gå via startmenu/delphi/help
Avatar billede hlj Nybegynder
25. juni 2001 - 15:31 #6
Man kan også lave et lille program der starter selve det program man vil overvåge og så bare give det den andens ikon.
Avatar billede dakinenexus Nybegynder
25. juni 2001 - 15:59 #7
Du siger noget hlj.

Jeg kan da bare oprette en BAT fil der først starter det program op, som jeg vil \'holde øje\' med og derefter kalde mit Delphi program. Simpelt egentligt. Var det ikke det du mente.

Årsagen til programmet er, at jeg har nogle brugere, der tror at ny software bare er en gavebod. Har de brug for noget skal de også have det ellers bliver de umedgørlige. Så nu laver jeg et Delphi program, der holder øje med om de overhovedet bruger det de har bedt om.
Så har jeg noget på dem, hvis jeg får brug for det. :o)

Jeg vil gerne fordele pointene imellem jer, men jeg kan ikke vælge avanceret pt og gøre det!

Prøver lidt senere. I skal nok få dem :o)
Avatar billede esben_pape Nybegynder
25. juni 2001 - 22:23 #8
Du kunne prøve med registrerings-databasen. Eks:

uses Registry;

procedure TForm1.FormCreate(Sender: TObject);
var
  Registry : TRegistry;
begin
  Registry := TRegistry.Create;

  Registry.RootKey := HKEY_LOCAL_MACHINE;
  Registry.OpenKey(\'MYKEY\',True);

  if not Registry.ValueExists(\'TITLE1\') then
    begin
      Registry.WriteInteger(\'TITLE1\',0);
    end;

  if Registry.ValueExists(\'TITLE1\') then
    begin
      Registry.WriteInteger(\'TITLE1\',Registry.ReadInteger(\'TITLE1\') +1);
      Label1.Caption := IntToStr(Registry.ReadInteger(\'TITLE1\'));
    end;

  Registry.Free;
end;
Avatar billede esben_pape Nybegynder
25. juni 2001 - 22:31 #9
Du kan åbne Registreringsdatabasen såden her:

Åbn Start|Kør \'Regedit\'
Avatar billede dakinenexus Nybegynder
28. juni 2001 - 10:53 #10
Jeg giver jer lige lidt point for hjælpen. *S*

Jeg lavede et lille Delphi program, der som det først kaldte applikationen med en \'ShellExecute\'.

Derefter har jeg en lille Oracle SQL tabel, hvor jeg tæller op. Det virker fint.
Og ligesom hjl sagde har jeg bare indsat de rigtige iconer, så man kan ikke se der ligger et delphi program bagved. (De skulle bare vide *S*).

Men tak for hjælpen.
Avatar billede dakinenexus Nybegynder
28. juni 2001 - 10:57 #11
Forresten. Lige en anden ting.

Det har ikke direkte noget med mit oprindelige spørgsmål at gøre, og så alligevel. Men det kunne jo være.

Jeg har for nyligt fået Delphi6 Enterprise, men når jeg compiler/ builder et projekt, får jeg ikke genereret en exe fil.
Hvordan og hvor sætter jeg op, så den gør det automatisk. Ved i noget om det?
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