Avatar billede anthex Nybegynder
25. juli 2006 - 21:13 Der er 6 kommentarer

Afslut program der "svarer ikke" via VB-kode

Hej eksperter.

Hvordan kan jeg afslutte en applikation via noget VB-kode, når applikationen har statusen "svarer ikke".
Den metode hvor man sender en besked til programmet der fortæller det at det skal lukke ned, virker ikke når det ikke svarer. Den eneste måde man kan lukke programmet ned på manuelt, er via taskmanager -> afslut job. Det skal jeg så have noget kode der kan gøre for mig.
På forhånd tak, Emil..
Avatar billede joern Nybegynder
26. juli 2006 - 10:08 #1
Hej.

Når først en VB-applikation er i "svarer ikke" status, er der mig bekendt ingen anden måde, men du må finde årsagen til at dette kan ske, og afhjælpe det via error-handling i dit program.
Avatar billede mcgoat Nybegynder
26. juli 2006 - 10:12 #2
Ved at i C# er der 2 metoder til at lukke en process, den ene er CloseMainWindow som siger til programmet det skal lukke, hvilket ikke vil virke hvis det ikke svarer.

Den anden er Kill som bare dræber processen, det må være muligt at lave det samme i VB.

Prøv at søge på google efter: VB Kill Process
Avatar billede mcgoat Nybegynder
26. juli 2006 - 10:16 #3
Avatar billede joern Nybegynder
26. juli 2006 - 11:02 #4
Hej mcqoat>>

Kill findes i VB, det anvendes til at slette filer.  Kill "c:\test.txt"

I VB findes: End        'underforstået "current application"  men jeg tvivler, på det kan indpasses dér hvor en applikation kører fast.

Normalt vil en fejl i VB, der ikke opfanges af en indbygget "Error Handling" blive sendt videre til Windows, der så finder sin mest relevante generelle fejlmeddelelse og sender den til monitoren som en meddelelsesboks.  Men hvis et program f.eks. kører i uendelig løkke kan det ende med at låse.
Avatar billede mcgoat Nybegynder
26. juli 2006 - 11:25 #5
jah.. men nu kommer jeg lidt i tvivl hvad der menes.

Er det i dit eget program du vil lave denne funktion til at lukke dit eget program hvis det fryser?

Eller vil du lave et program som kan lukke et andet program hvis det fryser?
Avatar billede anthex Nybegynder
26. juli 2006 - 20:53 #6
Jeg har fundet en løsning på mit problem nu.
Funktionen TerminateProcess var alt jeg havde brug for.
Men grunden til at min applikation ikke svarer, skyldes at jeg benytter funktionen Sleep. Derfor kan det ikke afsluttes ved at sende en besked til det og be' det om at lukke ned.

Emil
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

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