/ Forside / Teknologi / Udvikling / VB/Basic / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
VB/Basic
#NavnPoint
berpox 2425
pete 1435
CADmageren 1251
gibson 1230
Phylock 887
gandalf 836
AntonV 790
strarup 750
Benjamin... 700
10  tom.kise 610
Eget program kører???
Fra : Thomas K


Dato : 28-05-01 10:00

Hej

Hvordan kontrollerer man om ens egen application allerede kører?? Jeg ønsker
ikke at mit program bliver startet 2 eller flere gange.

MVH

Thomas K



 
 
Mikkel Ro Manzano Ch~ (28-05-2001)
Kommentar
Fra : Mikkel Ro Manzano Ch~


Dato : 28-05-01 10:12

> Hvordan kontrollerer man om ens egen application allerede kører?? Jeg
ønsker
> ikke at mit program bliver startet 2 eller flere gange.

Har du _overhovedet_ forsøgt at finde ud af det selv?

Første link der dukkede da jeg søgte efter "running":
http://www.vbworld.com/tips/tip25.html


--
Mvh. / Regards Mikkel Christensen



Thomas K (28-05-2001)
Kommentar
Fra : Thomas K


Dato : 28-05-01 11:47

Hej Mikkel.

Nej det må jeg tilstå, da jeg er en rimelig newbie, og jeg ikke ved hvor man
skal lede efter sådanne ting. Men mange tak for svaret, og nu har jeg også
en side jeg kan kigge på fremover.

MVH

Thomas K

"Mikkel Ro Manzano Christensen" <usenet@openzipper.dk> skrev i en meddelelse
news:9et4ok$2d3n$1@news.cybercity.dk...
> > Hvordan kontrollerer man om ens egen application allerede kører?? Jeg
> ønsker
> > ikke at mit program bliver startet 2 eller flere gange.
>
> Har du _overhovedet_ forsøgt at finde ud af det selv?
>
> Første link der dukkede da jeg søgte efter "running":
> http://www.vbworld.com/tips/tip25.html
>
>
> --
> Mvh. / Regards Mikkel Christensen
>
>



Mikkel Ro Manzano Ch~ (28-05-2001)
Kommentar
Fra : Mikkel Ro Manzano Ch~


Dato : 28-05-01 12:11

> Nej det må jeg tilstå, da jeg er en rimelig newbie, og jeg ikke ved hvor
man
> skal lede efter sådanne ting. Men mange tak for svaret, og nu har jeg også
> en side jeg kan kigge på fremover.

OK.... tilgivet

--
Mvh. / Regards Mikkel Christensen



Chris (28-05-2001)
Kommentar
Fra : Chris


Dato : 28-05-01 19:40

On Mon, 28 May 2001 10:59:57 +0200, "Thomas K" <Turbo@usa.uk> wrote:

>Hej
>
>Hvordan kontrollerer man om ens egen application allerede kører?? Jeg ønsker
>ikke at mit program bliver startet 2 eller flere gange.

Du skal lave lidt API programmering.
Søgehint: CreateMutex
Søgested: http://msdn.microsoft.com/library/default.asp

Jeg mindes engang at have set noget på
http://www.vbaccelerator.com/codelib/ssubtmr/startup.htm

Hyggenygge fra
Chris Hansen

Bjarke Walling Peter~ (28-05-2001)
Kommentar
Fra : Bjarke Walling Peter~


Dato : 28-05-01 20:31

"Chris" <dsl3353@vip.cybercity.dk> skrev i en meddelelse
news:3b129aa2.40830476@news.cybercity.dk...
> On Mon, 28 May 2001 10:59:57 +0200, "Thomas K" <Turbo@usa.uk> wrote:
>
> >Hej
> >
> >Hvordan kontrollerer man om ens egen application allerede kører?? Jeg
ønsker
> >ikke at mit program bliver startet 2 eller flere gange.
>
> Du skal lave lidt API programmering.
> Søgehint: CreateMutex
> Søgested: http://msdn.microsoft.com/library/default.asp

Men behøves slet ikke API-programmering... det er faktisk så nemt som sådan
her:

If App.PrevInstance = True Then
MsgBox "Programmet er allerede startet!"
Unload Me
Exit Sub
End If

.... det skal bare skrives i starten af Form_Load()

- Bjarke Walling Petersen

> Jeg mindes engang at have set noget på
> http://www.vbaccelerator.com/codelib/ssubtmr/startup.htm
>
> Hyggenygge fra
> Chris Hansen



Chris (28-05-2001)
Kommentar
Fra : Chris


Dato : 28-05-01 21:27

On Mon, 28 May 2001 21:31:29 +0200, "Bjarke Walling Petersen"
<bwp@bwp.dk> wrote:

>"Chris" <dsl3353@vip.cybercity.dk> skrev i en meddelelse
>news:3b129aa2.40830476@news.cybercity.dk...
>> On Mon, 28 May 2001 10:59:57 +0200, "Thomas K" <Turbo@usa.uk> wrote:
>>
>> >Hej
>> >
>> >Hvordan kontrollerer man om ens egen application allerede kører?? Jeg
>ønsker
>> >ikke at mit program bliver startet 2 eller flere gange.
>>
>> Du skal lave lidt API programmering.
>> Søgehint: CreateMutex
>> Søgested: http://msdn.microsoft.com/library/default.asp
>
>Men behøves slet ikke API-programmering... det er faktisk så nemt som sådan
>her:
>
> If App.PrevInstance = True Then
> MsgBox "Programmet er allerede startet!"
> Unload Me
> Exit Sub
> End If
>
>... det skal bare skrives i starten af Form_Load()
>

Det selvfølgelig meget smart. Men det er endnu smartere, hvis din
instance er åbnet og forsøgt åbnet en gang mere, at dit program så
træder i forgrunden.

Det kan man lave "pænere" med API end med almindelig VB. Denne fikse
ting er inkluderet i eksemplet fra vbAccelerator. Ellers kan man lege
lidt med CreateMutex og SetForegroundWindow, som er API.

Hygge
Chris

Bjarke Walling Peter~ (28-05-2001)
Kommentar
Fra : Bjarke Walling Peter~


Dato : 28-05-01 22:30

"Chris" <dsl3353@vip.cybercity.dk> skrev i en meddelelse
news:3b12b394.432591@news.cybercity.dk...
> On Mon, 28 May 2001 21:31:29 +0200, "Bjarke Walling Petersen"
> <bwp@bwp.dk> wrote:
> >"Chris" <dsl3353@vip.cybercity.dk> skrev i en meddelelse
> >news:3b129aa2.40830476@news.cybercity.dk...
> >> On Mon, 28 May 2001 10:59:57 +0200, "Thomas K" <Turbo@usa.uk> wrote:
> >>
> >> >Hej
> >> >
> >> >Hvordan kontrollerer man om ens egen application allerede kører?? Jeg
> >ønsker
> >> >ikke at mit program bliver startet 2 eller flere gange.
> >>
> >> Du skal lave lidt API programmering.
> >> Søgehint: CreateMutex
> >> Søgested: http://msdn.microsoft.com/library/default.asp
> >
> >Men behøves slet ikke API-programmering... det er faktisk så nemt som
sådan
> >her:
> >
> > If App.PrevInstance = True Then
> > MsgBox "Programmet er allerede startet!"
> > Unload Me
> > Exit Sub
> > End If
> >
> >... det skal bare skrives i starten af Form_Load()
> >
>
> Det selvfølgelig meget smart. Men det er endnu smartere, hvis din
> instance er åbnet og forsøgt åbnet en gang mere, at dit program så
> træder i forgrunden.

Jo, det er selvfølgelig rigtigt... og så bliver man også nød til at bruge
API... jeg plejer at bruge følgende kode, som gør at den allerede åbnede
applikation blinker et par gange:

' <MainKey> og <SubKey> skal skiftes ud med nogle værdier man selv finder
på.
' F.eks.:
' <MainKey> = Mit firma
' <SubKey> = Mit programnavn
Private Declare Function FlashWindow Lib "user32" (ByVal hWnd As Long, ByVal
bInvert As Long) As Long
Private Sub Form_Load()
If App.PrevInstance = True Then
Dim hWnd As Long
hWnd = Val(GetSetting("<MainKey>", "<SubKey>", "hWnd", "-1"))
MsgBox "Programmet er allerede startet!"
If hWnd <> -1 Then
blink hWnd
End If
Unload Me
Exit Sub
End If
SaveSetting "<MainKey>", "<SubKey>", "hWnd", CStr(Me.hWnd)
End Sub
Private Sub blink(hWnd As Long)
Dim tid As Single
Dim i As Integer
For i = 1 To 7
FlashWindow hWnd, 1
tid = Timer
While Timer - tid < 0.4
Wend
Next i
End Sub


> Det kan man lave "pænere" med API end med almindelig VB. Denne fikse
> ting er inkluderet i eksemplet fra vbAccelerator. Ellers kan man lege
> lidt med CreateMutex og SetForegroundWindow, som er API.

Jo...
Jeg har bare lille problem, men det er nok fordi jeg ikke har VB6.0 ... den
egentlige grund er at jeg mangeler filen SSubTmr.dll ... har du den?

- Bjarke Walling Petersen

> Hygge
> Chris



Chris (28-05-2001)
Kommentar
Fra : Chris


Dato : 28-05-01 22:59

On Mon, 28 May 2001 23:29:57 +0200, "Bjarke Walling Petersen"
<bwp@bwp.dk> wrote:

>Jeg har bare lille problem, men det er nok fordi jeg ikke har VB6.0 ... den
>egentlige grund er at jeg mangeler filen SSubTmr.dll ... har du den?

Desværre. Jeg skriver ikke selv VB. Jeg er dybt inde i C og API til
min C compiler.

Men jeg ved da, at den fil findes til fri download på vbAccelerator.
Kig nærmere her (både til VB5 og VB6):
http://www.vbaccelerator.com/codelib/ssubtmr/ssubtmr.htm

Hygge
Chris

Bjarke Walling Peter~ (29-05-2001)
Kommentar
Fra : Bjarke Walling Peter~


Dato : 29-05-01 14:53

"Chris" <dsl3353@vip.cybercity.dk> skrev i en meddelelse
news:3b12c995.4528993@news.cybercity.dk...
> On Mon, 28 May 2001 23:29:57 +0200, "Bjarke Walling Petersen"
> <bwp@bwp.dk> wrote:
>
> >Jeg har bare lille problem, men det er nok fordi jeg ikke har VB6.0 ...
den
> >egentlige grund er at jeg mangeler filen SSubTmr.dll ... har du den?
>
> Desværre. Jeg skriver ikke selv VB. Jeg er dybt inde i C og API til
> min C compiler.

Okay

> Men jeg ved da, at den fil findes til fri download på vbAccelerator.
> Kig nærmere her (både til VB5 og VB6):
> http://www.vbaccelerator.com/codelib/ssubtmr/ssubtmr.htm

Mange tak!

- Bjarke Walling Petersen

> Hygge
> Chris



Niels G (29-05-2001)
Kommentar
Fra : Niels G


Dato : 29-05-01 08:45

Der findes på App objektet en Property der hedder PrevInstance.
Den er true hvis programmet allerede køre.

- Niels G



"Thomas K" <Turbo@usa.uk> wrote in message
news:MsoQ6.5918$rB3.634116@news010.worldonline.dk...
> Hej
>
> Hvordan kontrollerer man om ens egen application allerede kører?? Jeg
ønsker
> ikke at mit program bliver startet 2 eller flere gange.
>
> MVH
>
> Thomas K
>
>



Søg
Reklame
Statistik
Spørgsmål : 177558
Tips : 31968
Nyheder : 719565
Indlæg : 6408893
Brugere : 218888

Månedens bedste
Årets bedste
Sidste års bedste