Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
Tags
- plugin
- SPC
- SSL
- 공정능력
- 보조정렬
- Android
- Express
- react
- vaadin
- Python
- xPlatform
- tomcat
- mybatis
- SQL
- Kotlin
- JavaScript
- GIT
- mapreduce
- Eclipse
- R
- Sqoop
- Spring
- window
- Java
- MSSQL
- es6
- IntelliJ
- table
- NPM
- hadoop
Archives
- Today
- Total
DBILITY
C# 중복실행방지 ( Mutex 사용 ) 본문
반응형
중복실행을 방지할때 쓴다.델파이가 그립다.
Mutex Class에 관해서 여기를 참고.
Environment.SetEnvironmentVariable는 아래에선 현재 프로세스에 환경변수를 설정한 것이다.
처음부터 Environment.GetEnvironmentVariable("PATH") 를 연결해주면 시스템에 설정된 패스도 함께 나타난다.
오라클용 dll을 사용한다거나 할때 패스설정 후 NLS_LANG,TNS_ADMIN,NSL_DATE_FORMT등도 설정할 수 있다.
물론 다른 dll도 마찬가지다.
델파이에서 EXE에 args를 어떻게 넘겼었더라...기억이 안난다...
using System;
using System.Collections.Generic;
using System.Linq;
using System.Windows.Forms;
namespace AppLoginTest
{
static class Program
{
///
/// 해당 응용 프로그램의 주 진입점입니다.
///
[STAThread]
static void Main()
{
Environment.SetEnvironmentVariable("PATH", Environment.CurrentDirectory + "\\", EnvironmentVariableTarget.Process);
Environment.SetEnvironmentVariable("PATH", Environment.GetEnvironmentVariable("PATH") + ";" +Environment.CurrentDirectory + "\\dll\\", EnvironmentVariableTarget.Process);
bool isCreatedNew;
System.Threading.Mutex mutex = new System.Threading.Mutex(true, Application.ProductName, out isCreatedNew);
if (isCreatedNew)
{
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
frm_Login login = new frm_Login();
if (DialogResult.OK == login.ShowDialog())
{
Application.Run(new frm_Main());
mutex.ReleaseMutex();
}
else
{
Application.Exit();
}
}
else
{
MessageBox.Show("이미 실행중입니다.");
Application.Exit();
}
}
}
}
반응형
'C#' 카테고리의 다른 글
C# CS0656 compiler error ( 컴파일러 오류 ) (0) | 2018.01.11 |
---|---|
visualstudio express 다운로드 주소 (0) | 2017.12.27 |
C# log4net 사용하기 (0) | 2017.12.27 |
C# WebRequest web page read (0) | 2017.12.26 |
C# AsyncBridge.Net35 (0) | 2017.12.26 |
Comments