Avatar billede nameless Nybegynder
20. marts 2003 - 17:07 Der er 7 kommentarer og
1 løsning

Find ud af om filen kører

Jeg har lavet et program der når du åbner det kopiere sig selv ind i en anden mappe. Åbner filen derinde og lukker sig selv, sådan du kan slette filen bag efter men den stadig køre.
Problemet er at hvis du trykker flere gange springer den kopieringen over og åbner filen sådan der køre 2 af samme program.

Hvordan gør jeg sådan den kigger om programmet køre i process og hvis den gør det så lukker den bare uden at åbne eller prøve at kopiere noget. Altså End
Den skal simpelthen kigge alle filnavnene der køre igennem, og hvis den finder fx. "tjekefternoget.exe" så lukker den sig selv.
Avatar billede yesyes Nybegynder
20. marts 2003 - 17:12 #1
slå microsoft scripting runtime til
Dim Filename As String
Dim FileExists As Boolean
Dim fs As Object
Set fs = CreateObject("Scripting.FileSystemObject")
Filename = 'Put your path and filename here
if fs.fileexist(Filename) then
    FileExists = True
else
    FileExists = False
end if
Avatar billede yesyes Nybegynder
20. marts 2003 - 17:12 #2
ups skulle være svar
Avatar billede yesyes Nybegynder
20. marts 2003 - 17:13 #3
håber det kan bruges :)
Avatar billede yesyes Nybegynder
20. marts 2003 - 17:15 #4
btw hvis det bliver langsommere af det så prøv
Dim Filename As String
Dim FileExists As Boolean
Dim fs As new FileSystemObject
Filename = 'Put your path and filename here
if fs.fileexist(Filename) then
    FileExists = True
else
    FileExists = False
end if
Avatar billede nameless Nybegynder
20. marts 2003 - 17:40 #5
Det virker ikke :|
Object does not support that property or method

Og kigger det lille script der i process ? Eller ser det bare om filen eksistere? Det skal jo se om filen kører.
Avatar billede yesyes Nybegynder
20. marts 2003 - 17:44 #6
hmm tja den ser kun om den findes :( btw du skal også slå Microsoft scripting runtime til
Avatar billede joern Nybegynder
20. marts 2003 - 18:41 #7
Hej.

Jeg er ikke ganske sikker på at jeg har forstået spørgsmålet, men hvis det gælder et tjek for om et program er startet i forvejen kan du bruge PrevInstance.

Private Sub Form_Load()
  If App.PrevInstance = True Then
    x = MsgBox("Programmet kører allerede.  Ses det ikke i proceslinien, er det muligvis ikke korrekt afsluttet.  Tryk CTRL + ALT + DEL og tjek om det står i 'tasklisten'.  Hvis det gør det, så afslut det dér.  Ellers kommer du til at genstarte din maskine.  Undersøg evt. om din genvej refererer til din lokale PC og ikke til et netværksdrev.  Booking-programmet skal være installeret på alle klienter!", 16, "Medd. fra start af JkfSoft Booking System")
    End
    Exit Sub
  End If
.......

M.v.h.  Jørn
Avatar billede nameless Nybegynder
20. marts 2003 - 20:37 #8
Ikke helt det rigtige men det kan bruges :) Takker!
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

IT-JOB

Rambøll Management Consulting

Senior AI Engineer

Politiets Efterretningstjeneste

Fullstack softwareudvikler i PET

Capgemini Danmark A/S

AI/Data Engineer