Finns det någon som vet hur man fixar så att man endast kan starta en version av ett egetkompilerat program i VB åt gången. Alltså, om man har programmet öppet och försöker öppna det en gång till, så ska den säga ifrån att programmet redan är startat och avsluta det.
Tacksam för svar!
------------------
/Baalzamon
[Redigerat av Baalzamon den 21 jun 2001]
fredrikMedlem sedan dec. 19991 072 inlägg Du borde kunna använda API.t "FindWindowA", den leter iof efter en viss caption på ett fönster, fast det kanske funkar ändå.
<font size="1" face="Verdana, Arial, Helvetica, sans-serif">Kod:<font size="1" face="Verdana, Arial, Helvetica, sans-serif" color="#666600">
Private Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long
Dim lngWnd As Long
lngWnd = FindWindow(vbNullString, "caption namn")
Om lngWnd <> 0 så finns fönstret öppet.
------------------
Fredrik Klarqvist
fredrik.klarqvist@swipnet.se
http://server.webwerkstaden.se/fredde/
SweyMedlem sedan apr. 20003 971 inlägg Det finns bättre sätt. T.ex. detta:
"If you need to detect whether another instance already exists, create a uniquely named mutex using the CreateMutex function. CreateMutex will succeed even if the mutex already exists, but the GetLastError function will return ERROR_ALREADY_EXISTS. This indicates that another instance of your application exists, because it created the mutex first."
(Från MSDN, WinMain)
------------------
- Swey
A hacker from the south
fredrikMedlem sedan dec. 19991 072 inlägg Ja, du kan även använda en app-property:
<font size="1" face="Verdana, Arial, Helvetica, sans-serif">Kod:<font size="1" face="Verdana, Arial, Helvetica, sans-serif" color="#666600">
App.PrevInstance
som returnerar true eller false beroende på om applikationen körs eller inte. Det är nog det lättaste egentligen...
------------------
Fredrik Klarqvist
fredrik.klarqvist@swipnet.se
http://server.webwerkstaden.se/fredde/
Tack så mycket! Ska testa detta så fort jag har tid!
------------------
/Baalzamon
Swey: "CreateMutex" funkar perfekt!
fredrik: "App.PrevInstance" funkar bara om man har programmet i samma katalog hela tiden, inte om man öppnar programmet och sen öppnar det igen från en annan plats.
Jaha, då har vi lärt oss någonting mer... :)
------------------
/Baalzamon
[Redigerat av Baalzamon den 25 jun 2001]
fredrikMedlem sedan dec. 19991 072 inlägg Hej, är bara lite nyfiken på hur din kod ser ut för att skapa denna "mutex", hur skapas den och vad är det för nåt eg.?
------------------
Fredrik Klarqvist
fredrik.klarqvist@swipnet.se
http://server.webwerkstaden.se/fredde/
Kolla in den här sidan:
http://www.vb-world.net/books/vb6api/sample9.html
Man får rensa i koden lite grann bara, för att få ut just det där med att redan ha startat ett program...
------------------
/Baalzamon