본문 바로가기

c#19

C# Process 검색 개요Windows 실행 Process 검색, 없을 경우 실행해야 할 상황이 종종 발생한다. 최근 신용카드 VAN 모듈 연동중 Daemon 실행 여부를 확인,실행되지 않았을 경우 실행해 주어야 하는데, 아래와 같이 해결 했다.*파일의 실행여부는 작업관리자에서 확인 가능 지정 Process 검색Process 실행 uint pid = SearchProcesses(/*process name*/)if (pid.Equals(0)){//Process 실행ProcessStartInfo psi = new ProcessStartInfo();psi.FileName = "실행파일 경로";pis.Arguments = "";psi.UseShellExecute = false;Process.Start(psi);} 2019. 1. 8.
C# delegate 사용법 - 사례1 대리자 또는 대리인으로 해석되는데 이 개념은 이전에 MFC, Win32 개발시에 많이 사용하던 function pointer(함수 포인터)와 비슷한 개념이다.최근 DotNetFramework 환경에서 Application 개발로 WPF 기반 C# 언어로 네이티브 Windows Application을 개발중인데 여러가지 활용방법이 있겠으나 나의 경우엔 제일 많이 사용할때가 Parent Window와 UserControl와의 이벤트 전송에 사용했다.즉 Parent Window는 Loading된 UserControl 또는 Page 접근이 자유롭지만 UserControl에서는 Parent Window의 쉽지 않아 처리된 결과값을 delegate를 이용하여 Navigate 용도로 사용한다.예제는 Parent Wi.. 2019. 1. 5.
C# 클래스 라이브러리 생성 및 활용 최근 프로젝트에 C# 클래스 라이브러리 생성할 일이 생겼다. 예전에 만들어서 활용했지만 오랜만에 손대니 기억이 가물가물하다.이참에 관련 내용을 정리해 둔다. STEP1) 프로젝트 생성-VisualStudio에서 클래스 라이브러리(.NET Framework) 를 생성 STEP2)Class 라이브러리 생성-처음 생성하면 기본 Class1.cs 파일이 존재한다. 해당 파일을 원하는 Module명으로 변경 하자.-내경우엔 테스트로 사칙 연산을 위한 CalcModule.cs로 변경함. STEP3) Class 라이브러리 구현-구현완료 후 성공적으로 빌드를 완료하면 프로젝트명으로 입력된 TestMoudleLib.dll 파일이 생성된다....namespace TestModuleLib{ public class CalcM.. 2018. 12. 27.
C# byte 초기화 및 copy 최근 C#에서 device 연동으로 byte 타입의 데이터를 많이 활용하게 되었다. 예전에 많이 해봤는데 또 까먹어 이참에 메모해 둔다. //byte type의 데이터 선언 byte[] buffer = new byte[64]; //byte array에 데이터 복사 Buffer.BlockCopy(source, 0, buffer, 0, source.Length); //byte block 초기화 Array.Clear(buffer, 0x0, buffer.Length); 2018. 12. 27.