Visual Basic, .NET, ASP, VBScript
 

   
   
     

Форум - .NET

Страница: 1 |

 

  Вопрос: Можно оптимизировать? Добавлено: 26.02.05 22:15  

Автор вопроса:  Андрей | ICQ: 201110705 
Мне нужно, что бы приложение запускалось только в единственном экземпляре.....
Вот код, работает как хотел:
_________________________
Imports System
Imports System.Diagnostics
Module Module2
  
    Public Sub onlyStart()
        Dim Localall As Process() = Process.GetProcesses
        Dim myProcess As Process = Process.GetCurrentProcess
        Dim Only As Boolean
        Dim i As Integer
        For i = 0 To Localall.Length - 1
            If myProcess.ToString = Localall(i).ToString Then
                If Only Then
                    End
                End If
                Only = True
            End If
        Next
    End Sub

End Module
____________________________________

В FormLoad запускаю процедуру - вопросов не возникает.

Кто может предложить более оптимальный код, буду благодарен :)

Ответить

  Ответы Всего ответов: 6  

Номер ответа: 1
Автор ответа:
 AlexF



Вопросов: 20
Ответов: 113
 Профиль | | #1 Добавлено: 26.02.05 23:42
Public Sub onlyStart()
 If App.PrevInstance = True Then
    End
 End If
End Sub

Ответить

Номер ответа: 2
Автор ответа:
 Андрей



ICQ: 201110705 

Вопросов: 1
Ответов: 14
 Профиль | | #2 Добавлено: 27.02.05 00:27
Извини AlexF, но в VB.Net нет "App" - есть "Application". А у "Application" нет метода PrevInstance. По крайней мере у меня это не работает =(

Ответить

Номер ответа: 3
Автор ответа:
 AlexF



Вопросов: 20
Ответов: 113
 Профиль | | #3 Добавлено: 27.02.05 00:36
sorry, ne obratil vnimanie, chto .Net

Ответить

Номер ответа: 4
Автор ответа:
 Андрей



ICQ: 201110705 

Вопросов: 1
Ответов: 14
 Профиль | | #4 Добавлено: 27.02.05 00:41
Ничего, по крайней в VB.6 работает =))...проверил, но интересен .Net

Ответить

Номер ответа: 5
Автор ответа:
 Павел



Администратор

ICQ: 326066673 

Вопросов: 368
Ответов: 5968
 Web-сайт: www.vbnet.ru
 Профиль | | #5
Добавлено: 27.02.05 10:54
С помощью Mutex'ов.
Пример кода посмотри на GotDotNet.ru в FAQ по форуму WinForms.

Ответить

Номер ответа: 6
Автор ответа:
 Андрей



ICQ: 201110705 

Вопросов: 1
Ответов: 14
 Профиль | | #6 Добавлено: 27.02.05 13:12
Спасибо Павлу, за ссылдочку....... если приведёный код на С# перевести к VB.Net то получилось следуешие :
___________________________

Dim onlyStart As Boolean
        ;Dim m As New System.Threading.Mutex(False, "MyMutex", onlyStart)
        If Not onlyStart Then
            End
        End If
    End Sub
___________________________

=) работает и код более компактный!

Ответить

Страница: 1 |

Поиск по форуму



© Copyright 2002-2011 VBNet.RU | Пишите нам