How to use the bat implementation to allow only one instance to run
This article will explain in detail how to use bat implementation to run only one instance. The editor thinks it is very practical, so I share it with you as a reference. I hope you can get something after reading this article.
The code is as follows:
; my first installation script
! include "MUI2.nsh"
! define DIR "D:\ workspace\ nsis\ files"
Name "installer"
Icon "${DIR}\ setup128.ico"
OutFile "setup.exe"
InstallDir "$PROGRAMFILES\ kaserv"
RequestExecutionLevel admin
! insertmacro MUI_PAGE_DIRECTORY
! insertmacro MUI_PAGE_INSTFILES
! insertmacro MUI_LANGUAGE "SimpChinese"
Function .onInit
System::Call 'kernel32::CreateMutexA (I 0J I 0J t "SMAPLE_MUTEX") I. r 1? e'
Pop $R0
StrCmp $R0 0 + 3
MessageBox MB_OK | MB_ICONSTOP "only allow one instance to run"
Abort
FunctionEnd
; installer section
Section
SetOutPath $INSTDIR
File "${DIR}\ New text document (2) .txt"
File "${DIR}\ New text document .txt"
SetOutPath "$INSTDIR\ office"
File "${DIR}\ office\ *"
; shortcut
CreateShortCut "$DESKTOP\ test.lnk"$INSTDIR\ unsetup.exe"
CreateShortCut "$SMPROGRAMS\ test.lnk"$INSTDIR\ unsetup.exe"
WriteUninstaller "$INSTDIR\ unsetup.exe"
SectionEnd
Uninstall the program segment
Section "Uninstall"
RMDir / r "$INSTDIR"
Delete "$DESKTOP\ test.lnk"
Delete "$SMPROGRAMS\ test.lnk"
SectionEnd
This is the end of this article on "how to use bat implementation to allow only one instance to run". I hope the above content can be of some help to you, so that you can learn more knowledge. if you think the article is good, please share it out for more people to see.