C# (7) 썸네일형 리스트형 [C#}정규식으로 URL 추출하기 문자열에서 URL만 추출하여 링크를 걸어줘야 할 때가 있다. 웹에서 이것 저것 뒤져보았으나 너무 길거나 잘동이 잘 안되거나 나의 쓰임새와 맞지 않아서 정규식을 공부하며 만들어 보았다. private string GetUrl(String inputString) { Regex r; Match m; //프로토콜부분 - 있을수도 없을수도 string ptProtocol = "(?:(ftp|https?|mailto|telnet):\\/\\/)?"; //domain의 기본 골격은 daum.net string domain = @"[a-zA-Z]\w+\.[a-zA-Z]\w+(\.\w+)?(\.\w+)?"; //도메인 뒤에 추가로 붙는 서브url 및 파라미터들 //이부분이 아직은 미흡하여 오류가 가끔 일어난다. stri.. VS2010 WebService 만들기(비동기 웹서비스 호출) == 웹서비스 만들기 == 1. 새 프로젝트 만들기에서 웹서비스를 선택하여 만든다. 2. Service1.asmx을 오른클릭하여 [브라우저보기에서 보기]를 선택하여 서비스 URL를 알아낸다. 3. 현재의 웹서비스 솔루션에 윈폼 프로젝트를 추가한다. 4. 윈폼에 버튼 하나, 텍스트박스 하나를 추가한다. 5. 윈폼 프로젝트의 참조에서 서비스추가를 선택하고 주소에 2번의 서비스 URL을 적는다. 6. 서비스가 찾아지면 하단 [고급]버튼을 눌러 서비스 참조 설정 화면으로 넘어간다. 7. 다시 화면 하단의 [웹 참조 추가] 버튼을 눌러 서비스 URL을 다시 입력한다. 8. 서비스가 찾아지면 [참조 추가] 버튼을 눌러 웹 참조(Web References)를 추가한다. 9. 윈폼에서 서비스 호출 결과를 보여주는 코딩.. 키보드 전역 후킹(Low Level Hooking) - Alt + 1같은 키조합 후킹하기 닷넷에서는 기본적으로 후킹을 지원하지 않으므로 WinAPI를 이용하여 후킹을 해야 하는데 지식이 짧아서 모르겠다. 여기저기서 비슷한 소스가 상당히 많이 나왔는데 일부분만 언급이 되어서 실력이 미천한 나로써는 써먹기 힘들었다. 아무튼 그러다가 간신히 거의 풀 소스를 찾았는데 잘 되서 그나마 다행이었다. 이 잘되는 소스를 이용하여 원하는 매크로 프로그램도 만들었다. 그러나 이와 같은 매크로 프로그램을 2004년인가 2005년쯤에도 비베로 만든적이 있었는데, 완전히 까먹는 바람에 이렇게 다시 만드는데 한참 고생했다. 그래서 매크로 프로그램을 만들면서 사용된 기능을 좀 나누어서 샘플코드로 만들어서 나중에 내가 필요할 때 기능별로 꺼내 쓸 수 있도록 하였다. 물론 다른 사람들도 나눠쓰면 좋고.. 위의 파일은 테스.. [C#]작업관리자처럼 현재 실행중인 프로세스 목록 구하기 윈폼에 타이머 하나 추가한 후 다음 코드를 참조해서 만들면 된다. 텍스트박스는 멀티라인으로 만든다. 5초마다 실행중인 프로세스 목록을 구해서 텍스트박스에 뿌려주는 코드이다. private void Form1_Load(object sender, EventArgs e) { timer1_Tick(sender, e); timer1.Interval = 5000; timer1.Start(); } private void timer1_Tick(object sender, EventArgs e) { textBox1.Text = ""; foreach (System.Diagnostics.Process procName in System.Diagnostics.Process.GetProcesses()) { string procNm.. [C#]컨트롤에 포커스가 자동으로 안갈 때 간단한 폼을 만들었는데, 프로그램 실행 시 텍스트박스에 포커스가 가게끔 하려고 하였다. 그런데 이상하게 포커스가 안가는 것이다. 웹에서와 마찬가지로 컨트롤.Focus();면 되는거 같은데.. 설명도 된다고 적혀있고... 여기저기 웹을 서핑해봐도 그렇게 하면 다 된다고 하였다. 그런데 내 프로그램은 안가는 것이다. 그러다가 오늘 데브피아에서 해답을 얻었다. 일단 결론부터 말하자면, private void MyBrowser_Load(object sender, EventArgs e) { this.Activate(); textBox1.Focus(); } 이것이다. 아무래도 프로그램 실행시 창이 활성화 된 것처럼 보여도 실제로는 활성화가 안된 모양이었나보다. 그래서 this.Activate(); 이거 하나 붙여줬.. [C#]컴퓨터 종료/재시작/로그오프/취소 원래 cmd에서 사용하는 도스 명령어인데 이를 이용하여 C#에서 컴퓨터를 종료/로그오프/재시작 시킬 수 있다. 피시 강제 종료 System.Diagnostics.Process.Start("shutdown.exe", "-s -f"); 피시 종료 카운트다운 때 아래 명령을 날리면 종료가 취소됨 System.Diagnostics.Process.Start("shutdown.exe", "-a"); 피시 재시작 System.Diagnostics.Process.Start("shutdown.exe", "-r"); 피시 로그오프 System.Diagnostics.Process.Start("shutdown.exe", "-l"); 자세한 옵션은 커맨드창에서 shutdown이라고 치면 자세하게 알 수 있다. 참고로 WinAP.. [C#]Form에서 타이머(Timer)사용하기 콘솔 프로그램이라면 쓰레드(Thread)를 사용해야 하겠지만 윈폼에서는 타이머를 제공해주므로 쉽게 쓰레딩의 효과를 사용할 수 있다. 사실 몇 년만에 다시 프로그래밍을 해보려니 아주 까먹어도 너무 깨끗하게 까먹어서 놀라울 지경이다.. 그래서 새로 시작하는 마음으로 요새 C#을 다시 공부하고 있다. 아무튼, 스케쥴 걸어서 돌릴 작업이 있는데 이를 처음에 쓰레드로 구현하려다가 생각도 잘 안나고 여기저기 뒤져봐도 개념이 어렵고 그래서 고민하다가 타이머를 알게 되었다. 물론 알던건데.. 다시 발견한거라고 해야 하려나.. ㅋㅋ 타이머의 사용은 간단하다. 폼에 타이머 컨트롤을 드래그해서 붙여넣고, 타이머 컨트롤을 더블클릭하여 생기는 메쏘드(Method)에 스케쥴 작업을 집어넣으면 된다. 다시 설명하자면 타이머는 기본.. 이전 1 다음