반응형

c# 14

[C#] 프로그램 중복 실행 방지

program.cs의 Main()에 코딩해 주면 될듯 하네요 int thisID = System.Diagnostics.Process.GetCurrentProcess().Id; // 현재 기동한 프로그램 id //실행중인 프로그램중 현재 기동한 프로그램과 같은 프로그램들 수집 System.Diagnostics.Process[] p = System.Diagnostics.Process.GetProcessesByName("프로그램명"); if (p.Length > 1) { for (int i = 0; i < p.Length; i++) { if (p[i].Id != thisID) continue; // 프로그램명은 같은데 똑같은 친구가 있다면... p[i].Kill(); // 프로그램명도 같고 프로그램 id가 같..

IT/C# 2011.01.11

[C#] 자석 효과 사용법 설명

일반적으로는 폼이 이동중일때마다 근처에 위치한 윈도우나 바탕화면의 경계면 좌표를 계산해서 일정 거리내로 접근하면 해당 좌표로 이동중인 폼의 좌표를 강제로 설정 해 주는 방식을 사용합니다. 생각보다는 어렵지 않구요. 접근 거리만 적당히 지정하면 기존의 자석 효과와 별반 다르지 않은 수준까지 쉽게 개발이 가능합니다. 자신이 작성한 어플리케이션내에서 자석 효과를 구현 할 때에는 각 폼의 좌표만 계산하는 것이 별로 문제 될 것 없지만 바탕화면에서 실행중인 모든 윈도우를 대상으로 자석 효과를 구현한 다면 전체 윈도우의 목록을 얻고 각 윈도우의 특성에 맞게 자석 효과를 구현 해 줘야 합니다. GetWindowRect 나 GetClientRect API를 사용하시면 해당 윈도우의 RECT를 알 수 있습니다. 보통은 ..

IT/C# 2011.01.11

[C#] Combobox사용법

BOOL CTestDlg::OnInitDialog() { CDialog::OnInitDialog(); // TODO: Add extra initialization here this->m_ctrCombo1.ResetContent(); //콤보박스내의 모든 문자열 삭제 this->m_ctrCombo1.AddString(_T("ABCD")); //문자열을 추가 this->m_ctrCombo1.AddString(_T("1234")); //문자열을 추가 this->m_ctrCombo1.AddString(_T("5678")); //문자열을 추가 this->m_ctrCombo1.DeleteString(0); //첫번째 문자열(ABCD)을 삭제 this->m_ctrCombo1.SetCurSel(0); //첫번째 문자열..

IT/C# 2011.01.11
반응형