C# 13

[C#] 경로 유효성 체크 - IsValidPath

경로 유효성 체크 IsValidPath 설치파일 등에서 경로 체크시에 사용된다. /// /// 경로가 유효한지 체크한다. /// /// 경로 private bool IsValidPath(string path) { // 경로 길이 체크 if (path.Length < 3) return false; // 드라이브 문자열 체크 Regex driveCheck = new Regex(@"^[a-zA-Z]:\\$"); if (driveCheck.IsMatch(path.Substring(0, 3)) == false) return false; // 경로 이름에 사용할 수 없는 문자가 있는지 체크 string invalidPathChars = new string(Path.GetInvalidPathChars()); inva..

프로그래밍/C# 2023.03.23

[C#] 레지스트리 등록, 조회, 삭제

32비트 레지스트리 등록, 조회, 삭제 // 경로: 컴퓨터\HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\{ProductName} var reg32 = RegistryKey.OpenBaseKey(RegistryHive.LocalMachine, RegistryView.Registry32); RegistryKey reg32Sub = reg32.CreateSubKey("SOFTWARE").CreateSubKey(ProductName); reg32Sub.SetValue("key", "32bit_key"); // 값 추가 reg32Sub.GetValue("key") // 값 조회 reg32Sub.DeleteValue("key"); // 값 삭제 64비트 레지스트리 등록, 조회, 삭제 //..

프로그래밍/C# 2023.03.23

[C#] 참조 없이 인스턴스 생성하는 방법

exe, dll 파일 참조 없이 인스턴스 생성하는 방법 Activator.CreateInstance함수를 사용하면 된다. // // Activator.CreateInstance(assemblyName, typeName) // assemblyName: 파일이름 (확장자를 제외한 파일명) // typeName: 네임스페이스 포함 클래스명 // ObjectHandle handle = Activator.CreateInstance("WindowsFormsApp1", "WindowsFormsApp1.Form1"); Form form = (Form)handle.Unwrap(); 샘플

프로그래밍/C# 2023.03.21

[C#] winform MessageBox Topmost로 띄우기

winform 개발 시 Topmost로 설정된 폼 위로 MessageBox를 Show해야되는 경우가 있을때 Topmost True로 Show를 안할 시 메세지 박스가 가려지기 때문에 프로그램이 멈춘 것 처럼 인식 되므로 아래의 구문처럼 메세지 박스를 호출 해야된다. MessageBox.Show(new Form() { TopMost = true }, "TopMost MessageBox", "qratedev.tistory.com"); 메서드 설명 MessageBox.Show 메서드 (System.Windows.Forms) | Microsoft Learn MessageBox.Show 메서드 (System.Windows.Forms) 메시지 상자를 표시합니다. learn.microsoft.com

프로그래밍/C# 2023.03.06

[C#] 프로세스 이름 기준으로 종료 시키기 - kill by name

Process.GetProcessByName 특정프로세스가 여러개 떠있을 경우 종료 시켜야되는 상황이 있어서 간단히 콘솔로 만들어서 사용 해봤습니다. using System; using System.Diagnostics; /// /// 프로세스 이름 기준으로 해당하는 프로세스를 전부 종료한다. /// /// 프로세스 이름 private static void KillProcessByName(string processName) { Process[] processList = Process.GetProcessesByName(processName); if (processList.Length > 0) { foreach (Process p in processList) { p.Kill(); } } else // 종료할..

프로그래밍/C# 2021.04.22

[C#] 태블릿모드에서 가상키보드 호출시 폼크기 자동으로 변경

키보드가 없는 환경에 들어가는 프로그램을 개발중에 가상키보드 호출시 화면크기 조정이 필요해서 찾아보는 중 원래는 tabtip.exe 프로세스 감지시 form 조정하는 소스 구현중에 버그가많아서 다른거 찾아보다가 ms프로그램은 전부 자동으로 조정되길래 비교해봤더니 상태창 있는 프로그램만 자동으로 변경이 되는걸 확인했다. 결론은 winform의 경우 statusStrip만 추가하면 알아서 조정된다. 크기조정에 관한 작업은 데스크탑 모드여도 작동은 똑같이한다.

프로그래밍/C# 2021.02.17

[C#] SQLite Table 존재유무 체크 하고 생성하기

* 코드 string query = string.Format("SELECT COUNT(*) FROM sqlite_master WHERE Name = '{0}'", "TEST"); int result = Convert.ToInt32(this.ExecuteScalar(query)); if (result < 1) // 1: 테이블존재, 0: 테이블없음 { System.Text.StringBuilder sb = new System.Text.StringBuilder(); sb.AppendLine(@"CREATE TABLE ""TEST"" ( "); sb.AppendLine(@"""SEQ"" INTEGER, "); sb.AppendLine(@"""LOG_TEXT"" TEXT, "); sb.AppendLine(@"P..

프로그래밍/C# 2019.10.14

[C#] SQLite 맛보기 - DB파일 생성

최근에 개인적으로 만들게 있어서 SQLite 연동을 하면서 관련된 내용을 정리해보고자 합니다. 일단 시작에 앞서 SQLite 연동을 하기 위해 파일을 다운 ! SQLite Download 설치 후, 참조추가(어셈블리)에 들어가서 SQLite 설치 폴더에서 System.Data.SQLite.dll 파일을 참조 추가한다. Nuget 설치도 지원한다. https://www.nuget.org/packages/System.Data.SQLite/ using System.Data.SQLite; // 파일생성 string databaseFileName = "C://1.db"; // 파일생성위치 SQLiteConnection.CreateFile(databaseFileName); 위의 코드가 문제없이 실행된다면 파일이 정..

프로그래밍/C# 2019.04.05
반응형