Лучший способ сделать его так exe может только быть выполнен однажды

Для первой части вы можете использовать toLowerCase()

if(res.toLowerCase().search('em') != -1)

Вы можете использовать чередование в регулярных выражениях вместе с нечувствительным к регистру флагом.

/(em|vh|px)/i Mathces em или vh или px.

function replaceUnit(input){
  return input.replace(/(em|px|vh)/i ,'replaced')
}

console.log(replaceUnit('height: 20em'))
console.log(replaceUnit('width:=20Em'))
console.log(replaceUnit('border-radius: 2Px'))
console.log(replaceUnit('unit=pX'))
console.log(replaceUnit('max-height=20Vh'))

6
задан HK1 4 May 2012 в 02:39
поделиться

11 ответов

Почему не делают Вас FIX установщик или независимо от того, что проблемы происходят, а не пытаются сделать некоторый взлом для предотвращения его...

Просто мои.02$

6
ответ дан 8 December 2019 в 16:13
поделиться

Имейте свое место установщика файл в папке приложений.

Когда выполнения снова, проверьте на тот файл, если он существует, отобразите "Уже установленное" всплывающее окно и выход.

3
ответ дан 8 December 2019 в 16:13
поделиться

Принятие этого является вопросом VB6, можно использовать созданный в Приложении. PrevInstance.

Документация: http://msdn.microsoft.com/en-us/library/aa268085 (по сравнению с 60) .aspx

Приложение. Previnstance возвращает True, если Ваше приложение уже работает.

В Вашем событии загрузки Формы Запуска или Вашем Основном Sub:

Private Sub Form_Load()
    If App.PrevInstance = True Then
        MsgBox "Already running"
        'Do whatever you need to do before closing
    End If
End Sub

Если Вы хотите пойти один шаг вперед и принести предыдущий экземпляр к переднему плану, можно проверить эти статьи:

http://www.planet-source-code.com/vb/scripts/ShowCode.asp?txtCodeId=21131&lngWId=1

http://support.microsoft.com/kb/185730

2
ответ дан 8 December 2019 в 16:13
поделиться

У Вас мог быть EXE-файл установщика, удаляют себя, хорошо не непосредственно, в то время как он работает, но выдайте вызов к другому сервису для удаления его после того, как он сделал выполнение.

Я думал, что это было интересно, таким образом, я Погуглил его, походит на некоторую хорошую информацию об этом сообщении:

http://www.autohotkey.com/forum/topic1572.html

1
ответ дан 8 December 2019 в 16:13
поделиться

При использовании .NET затем, Взаимное исключение является другом здесь.

Никогда не используйте Процесс. Метод GetProcessesByName. Вы будете только ненавидеть себя позже за использование чего-то, что требует Администраторских полномочий

private bool CanIStart
{

        try
            {
                MyAppMutex= new Mutex(false, "myAppMutex", out createdNew);
                if(MyAppMutex.WaitOne(0,false))
                {
                    return true;
                }
                else
                {
                    MyAppMutex = null;
                    return false;
                }

            }
            catch(ApplicationException ex)
            {
                // we couldn't create the mutex. // log the error if you care
                return false;               
            }
}
1
ответ дан 8 December 2019 в 16:13
поделиться

Имейте установщик, создают ключ реестра. Откажитесь устанавливать (снова), если ключ реестра уже существует.

Точно, как достигнуть, это будет зависеть от технологии установщика, которую Вы используете.

1
ответ дан 8 December 2019 в 16:13
поделиться

На приложении установщика

' Test eventual mark, settings in the registry.
if GetSetting("MyInstallerApp","Startup","BeenHere",0) = 1 then
    MsgBox "This installer was ran once already... first run the un-installer."
    End ' or some other code to properly exit the installer
EndIf
Call SaveSetting ("MyInstallerApp","Startup", "BeenHere", 1) 'leave a mark for future

На приложении деинсталлятора (или опция "удаления" установщика)

' Allow future Installer to run again
Call DeleteSetting("MyInstallerApp", "Startup")
1
ответ дан 8 December 2019 в 16:13
поделиться

При использовании VB.NET с Visual Studio 2005 или 2008, можно проверить опцию 'Make Single Instance Application' в раздел Windows Application Framework вкладки Application в настройках проекта.

0
ответ дан 8 December 2019 в 16:13
поделиться

Возможно, проверка рабочих процессов на машине, чтобы сказать Вам, если другой экземпляр существует, помогла бы? Посмотрите этот поток для большего количества информации...

0
ответ дан 8 December 2019 в 16:13
поделиться

Это ударяет меня, что отъезд приложения вокруг этого не должен быть выполнен, несколько раз похож на отъезд большой красной кнопки где-нибудь в чьем-то столе, что когда продвинутые аварийные завершения стол.Неприятно.

Большинство установщиков имеет функцию для не предложения повторной установки. Проверьте, что сначала - который походит на лучшее, самое очевидное решение.

Что сильно испорчено? Как запуск является установщиком во второй раз, отличающийся от выполнения его первое с точки зрения Вашего приложения? Это должно быть обращено в Вашем коде также.

0
ответ дан 8 December 2019 в 16:13
поделиться

Вы могли проверить и видеть, существуют ли установленные файлы приложения уже. Принятие то есть, Вы знаете, где приложение было установлено к.

0
ответ дан 8 December 2019 в 16:13
поделиться
Другие вопросы по тегам:

Похожие вопросы: