본문 바로가기

Programming/C# Sample Code

(5)
[ Programming_C# Sample Code ] Thread 간단 Delegate Thread와 UI Control에 대한 글을 계속 올리는듯...ㅜㅜ 다수의 UI에 접근하게될 시에 다수의 Delegate 함수가 만들어질수도 있으니, 한번이면 족한 것들은 아래와 같이 쓰자!ㅜㅜ private void ThreadFunc() { this.BeginInvoke(new MethodInvoker(delegate() { this.MyTextBox.Text = "fckorea!"; } )); } Thread 함수 내에서 BeginInvoke(비동기 호출)로 할 수 있다.ㅎㅎㅎ 단, 비동기니 즉시 안바뀔지도...ㅎㅎㅎ
[ Programming_C# Sample Code ] Thread, Delegate Return Thread에서 UI Control에 접근 시에 Delegate를 이용하여 접근해야되는데, 값 Setting은 해봤지만 Get은 안해봤다...ㅜㅜ 결국 해야될 일이 생기고, 찾다가 알게된 내용! private delegate string GetTextBoxCallback(TextBox tbTxtBox); private string GetTextBox(TextBox tbTxtBox) { if (this.tbTxtBox.InvokeRequired) { GetTextBoxCallback GetTextBoxCB = new GetTextBoxCallback(GetTextBox); return (string) this.InvokeGetTextBoxCB, new object[] { tbTxtBox }); } else..
[ Programming_C# Sample Code ] CrossThreadCall과 Invoke에 대해 C#에서 Thread 사용 시 CrossThreadCall에 대한 처리가 까다롭다... 물론 아래 같이 설정 하나로 무시할 수 있지만, 누수가 발생하는 점이 있다... CheckForIllegalCrossThreadCalls = false; // CrossThreadCall 관련 에러 무시 그리고 정당(?)한 방법으로 CrossThreadCall을 해결하려면, 대리자(delegate)를 이용하여야 한다. 예제를 찾아보면 변경하려는 각 컨트롤 마다 대리자와 접근 함수를 만들어 줘야해서 불만이었다...ㅜㅜ 그런데 우연히 들어간 블로그(http://redreans.tistory.com/64) 해당 내용에 대한 좋은 내용이 있지 않은가!!! 해당 내용을 이용하여, 같은 타입(TextBox, Label등)의 컨트..
[ Programming_C# Sample Code ] Process Module List C#에서 Process에서 사용하고 있는 Module List를 얻는 방법. using System.Diagnostics; using System.ComponentModel; namespace CSharpTestConsole { class Program { static void Main(string[] args) { Process[] ProcList = Process.GetProcesses(); foreach (Process Proc in ProcList) { Console.WriteLine(Proc.ProcessName + " In Modules"); try { foreach (ProcessModule ProcModule in Proc.Modules) { Console.WriteLine(ProcModu..
[ Programming_C# Sample Code ] Process List C#에서 Process List를 얻는 방법. using System.Diagnostics; namespace CSharpTestConsole { class Program { static void Main(string[] args) { Process[] ProcList = Process.GetProcesses(); foreach (Process Proc in ProcList) { Console.WriteLine(Proc.ProcessName); } Console.ReadLine(); } } } Process 주요 속성 Id : PID MainModule : Process Full Path. MainWindowTitle : Main Window 창의 Caption. Modules : Process의 모듈들..