Avatar billede Max Novice
24. august 2002 - 00:34 Der er 4 kommentarer og
1 løsning

Hjælp til TrayIcon app.

Hej alle.

Dette er en omformulering af spm. http://www.eksperten.dk/spm/249204 som jeg ikke fandt nogen brugbar løsning på.

Jeg skal have lavet en TrayIcon app., som der kun må forekomme én instans af.

Når programmet starter op, skal formen ikke vises, men Application ikonet skal vises i System Tray. Startes programmet mere end én gang, skal programmet vise formen og sætte den i forgrunden (hvis programmet er minimeret (til tray'en)). Hvis formen allerede er vist, skal den - af gode grunde - bare sættes i forgrunden.

Alt dette skulle være lige til. Problemet er bare, at det skal gøres under Windows XP. Det kan jeg ikke få til at virke...

Er der en af jer som kan vise mig et brugbart stykke kode (både .pas og .dpr)? Koden skal selvfølelig også virke under Windows 95/98/ME..

Håber I kan hjælpe.
Mvh.
/Mnc
Avatar billede doc404 Novice
24. august 2002 - 00:52 #1
Hmmm...du fik vist svar på dit andet spm, men ok...

Du kan bruge denne funktion i stedet for din MapViewOfFile ting...

Ellers *tror* jeg resten af din kode er ok

var
  hMutex : THandle;

function IsMyAppRunning : boolean;
begin
  hMutex := CreateMutex(nil,True,'MyWonderfullApp');
  if (hMutex = 0) or (GetLastError = ERROR_ALREADY_EXISTS) then
    begin
      CloseHandle(hMutex);
      Result := True;
    end
  else
    Result := False;
end;

procedure MyAppStopped;
begin
  CloseHandle(hMutex);
end;
Avatar billede doc404 Novice
24. august 2002 - 01:04 #2
Og dog...

Du mangler din handle til dit window.. Du kan f.eks. skrive den til registry når du starter din app eller bruge FindWindow.

Hvis IsMyAppRunning skal "spærre" på tværs af brugere i XP (når du bruger Fast User Switching) skal du bruge 'global\MyWonderFullApp' - men kun i XP
Avatar billede Max Novice
24. august 2002 - 01:19 #3
Problemet er også at filmen knækker, når jeg prøver at minimere mit program til System Tray. Jeg har prøvet at lave programmet - uden Instans Check - og kun put-i-tray-delen, og der vælter det hele.

/Mnc
Avatar billede doc404 Novice
24. august 2002 - 01:24 #4
Find CoolTrayIcon på www.torry.net (i øvrigt lavet af en Dansker :-)). Den kan alt hvad du skal bruge...
Avatar billede Max Novice
24. august 2002 - 16:42 #5
Ok, efter mange trøstesløse udspørgninger, må jeg give dig ret. Det virker. Tak for hjælpen. Points på vej til doc404..
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