개발자국/C# 썸네일형 리스트형 [C#] EXE as Modal Dialog 오늘은 초 바보짓을 할 뻔 했지.. exe 프로그램을 Modal Dialog 처럼 띄워야 할 일이 생겼는데, 어찌할까 고민하다가 그만.. 1: process.Start(); 2: 3: Thread.Sleep(2000); 4: while (!process.HasExited) 5: { 6: Thread.Sleep(500); 7: } 8: 9: // 더 할일 이 짓을 하고 있었네? 여러분 아는것이 힘입니다. 저렇게 하면, Modal로 띄운것 처럼 배경이 눌리지 않는(?) 것 처럼 보이지만, 쟤 닫고 나면 그동안 눌렀던거 다 실행되요.. 잔머리 굴리지 마세요, 함수에 충실하세요.. 1: process.Start(); 2: 3: process.WaitForExit(); 이러면 되더라.. 하아.. 더보기 [C#] USB Serial Key 특정 USB가 아니면 실행이 안되도록 하는 프로그램을 만들고 싶었다. 즉, 다른 USB에 복사를 해서 실행하면 절대 실행이 안되는!? 그야말로 나만의 Dongle 이 아니겠는가!? 두가지 방법이 생각났다!! 1. USB Serial Key를 읽어서 코드에 때려 박고, 컴파일하여 EXE를 만든다. (이 방법은 확장성이 Zero라서 USB가 여러개가 필요하면 망한다..) 2. USB Serial Key를 이용해 특정 Incording 파일을 생성하고, 실행시 그 파일을 Decording 하여 USB Serial Key와 비교한다. (이 방법은 알수없는 파일이 생성되고 뭔가 Incording 파일을 만들어 줄만한 Util이 필요하지만, 확장성이 좋다) 뭐 두가지던 세가지던 방법이야 여러가지가 있겠지만 일단 지.. 더보기 [C#] Exception Dump (Text File) 호랑이는 죽어서 가죽을 남기고, 사람은 죽어서 슬프고, Application은 죽어서 Log를 남겨봐야겠다는 생각에.. C# 에서의 Exception Dump 비스무리 하게 뭔가를 남겨보려 한다. 닷넷에서 지원하는 Application.Current.DispatcherUnhandledException 요런 놈이 존재하더라.. 뭔고 하니, 어플리케이션에서 Exception이 발생했을 때, 실행할 Action을 등록하면 딱! 하고 보내주는 역할을 한다. 예제 소스를 보고나서 설명을 계속하도록 하지.. 1: public partial class MainWindow : Window 2: { 3: public MainWindow() 4: { 5: Application.Current.DispatcherUnhandl.. 더보기 [C#] out 매개변수와 ref 매개변수 [MSDN] out 키워드는 인수를 참조로 전달하는 데 사용됩니다. 이는 ref 키워드와 비슷하지만 ref의 경우 변수를 전달하기 전에 초기화해야 한다는 점에서 차이가 있습니다. out 매개 변수를 사용하려면 메서드 정의와 호출하는 메서드에서 모두 out 키워드를 명시적으로 사용해야 합니다. 예를 들면 다음과 같습니다. class OutExample { static void Method(out int i) { i = 44; } static void Main() { int value; Method(out value); // value is now 44 } } [MSDN] out 인수로 전달되는 변수는 이를 전달하기 전에 초기화할 필요가 없지만 호출되는 메서드는 메서드 반환 이전에 값을 할당해야 합니다. r.. 더보기 [C#] TimeStamp (Stopwatch) C# 코딩을 하다가 맨날 까먹어서 넣는 코드임.. using System.Diagnostics; Stopwatch test = new Stopwatch(); test.Start(); // Do Process for Time Check test.Stop(); Trace.Writeline(“Time : “ + test.ElapsedMilliseconds.ToString() + “ms \n”); 맨날 이거 생각 안 나서, DateTime test = new DateTime(); test = DateTime.Now.ToString(“yyyy-MM-dd hh:mm:ss"); // ...... 이런 짓 해서 비교하곤 했었지.. 더보기 이전 1 다음