본문 바로가기

Programming

(10)
[ 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_Tips ] Multi Threading. 프로그램을 만들다 보면 Multi Threading할 일이 생기기 마련이다. 어떤 한 목록을 다수의 Thread로 처리하려면 아래와 같이 큐를 이용하면 좋을 듯... Queue 1 2 3 4 5 6 7 ThreadList Thread1 Thread2 Thread3 Queue POP (1) Queue POP (2) Queue POP (3) Scan Scan Scan ... Scan End Scan End ... Queue POP (4) Queue POP (5) 이런 식으로!
[ 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의 모듈들..
[ Programming ] Bruteforce - 단순 Bruteforce 문자열 만드는 소스. 한 개의 연속된 문자열 셋에만 한정된 버전(ex. 0123456789, 알파벳 대문자, 알파벳 소문자). 복합(숫자+소문자[0123456789abcd...])셋은 안되는 버전 ^^;; #include #include int main() { char *s = "abcdefghijklmnopqrstuvwxyz";// Bruteforce할 문자열셋 char str[9];// Bruteforce 문자열 int n = 8;// Bruteforce 길이 int i; /* 기본 셋팅 */ for(i=0;i
[ Programming ] 스마트폰 OS별 개발환경 정리! 1. iPhone(MacOS) 1.1 iPhone 1.2 Mac OS가 설치된 컴퓨터! 즉, 맥PC, 맥북이 필요함 - 리눅스에서 개발할 수 있는 iPhoneDevOnLinux가 있음 ^^* 1.3 iPhone SDK * 참고 사이트 : http://k2man.com/category/아이폰개발 http://blog.kukyakya.pe.kr/entry/리눅스에서-아이팟터치아이폰-개발환경-구성 2. Android 2.1 Android Phone or Nothing. 2.2 Java SDK - Android는 자바로 개발한다. 2.3 Eclipse 2.4 Java SDK와 Eclipse 연동 2.5 Android Plugin for Eclipse 2.6 Package 등록 2.7 Virtual Device ..