반응형

Windows_/Windows_C# & App 25

UWP windows 10 앱 프로젝트 생성하기

/* * http://sosal.kr/ * made by so_Sal */ 이 글은 Visual studio 2015 버전 기준으로 작성되었습니다. Visual studio에서 지원하는 default application 에서 Hello world를 출력하는 간단한 과정입니다. Windows 10을 기점으로 다양한 모듈들이 하나의 플랫폼에서 동작가능하도록 통합되었는데, 이를 UWP라고 합니다. UWP: Universal Windows Platform UWP에 대한 한국어판 MSDN은 아래 url에서 확인하실 수 있습니다. https://msdn.microsoft.com/ko-kr/library/windows/apps/hh703192.aspx 1. 새 프로젝트 만들기 2. Hello world 실행하기 1..

C# ComboBox 수정 못하게 하는법

/* * http://sosal.kr/ * made by so_Sal */ ComboBox 만들 때, 이렇게 List를 기껏 만들었는데 사용자가 수정해버릴 수 있더라구요.Enable = false 해버리면 list view가 안되고, 참 난감한 상황이었는데 DropDownStyle을 DropDown에서 DronDownList로 바꿔주면 잘 되더이다. FlatStyle도 pupup이나 flat으로 바꿔주면 좀더 깔끔한 디자인으로 완성! DropDownStyle은 모양 속성 안에 있습니다 ^^

C# 마우스 클릭, 위치정보 가져오기

/* * http://sosal.kr/ * made by so_Sal */ - 마우스 위치정보 가져오기 마우스 위치의 정보를 가져오는건 매우 쉽습니다. Cursor.Position.X.ToString();Cursor.Position.Y.ToString(); 이렇게 Cursor 라는 객체를 이용하여 바로 가져올 수 있습니다. private static System.Timers.Timer aTimer;public Form1(){ InitializeComponent(); init_variables(); //타이머 시작 aTimer = new System.Timers.Timer(100); aTimer.Elapsed += timerFunction; aTimer.Enabled = true;} private void..

C# Socket Multi-thread echo server/client 예제

/* * http://sosal.kr/ * made by so_Sal */ 기본적인 echo 서버 client / server 프로그램과 거의 동일합니다.참조: http://sosal.tistory.com/760 하지만, 위 소스의 단점은 2개 이상의 클라이언트가 한번에 echo 서버에 접근하지 못합니다.Listen 이후에 하나의 client의 메시지만을 기다리고 있기 떄문이죠. thread를 이용하면 여러 client의 접속을 허락하여 메시지를 받을 수 있습니다. Client 소스 using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Threading.Tasks;using System.W..

C# Socket echo server/client 예제

/* * http://sosal.kr/ * made by so_Sal */ Server에서 Listen으로 Client의 접속을 기다립니다.Client가 접속하면, Client가 보낸 메시지를 시간과 함께 돌려줍니다. (Echo 서버) Stream을 이용하여 데이터 전송을 구현하였습니다. (StreamReader, StreamWriter)인코딩은 UTF8을 사용하였습니다. Client 소스 using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Threading.Tasks;using System.Windows; using System.IO;using System.Net;using System..

C#: 주기, 시간마다 같은행동 반복하기

/* * http://sosal.kr/ * made by so_Sal */ System 안에있는 타이머를 사용하면 된다.using System.Timers; class Program{ private static Timer aTimer; static void Main(string[] args) { // 2초의 interval을 둔 timer 만들기 aTimer = new System.Timers.Timer(2000); // Hook up the Elapsed event for the timer. aTimer.Elapsed += OnTimedEvent; aTimer.Enabled = true; Console.WriteLine("Press the Enter key to exit the program... ")..

C# 에서 win32 API 사용하기

/* * http://sosal.kr/ * made by so_Sal */ system32 안의 DLL 파일에서 함수를 import하여 사용하면 된다. 다음의 사이트에서 많은 정보를 얻을 수 있다.http://www.pinvoke.net/index.aspx 예를들면, user32.dll 파일 안에 있는 Sendmessage(~) 함수를 사용하고 싶을 때,http://www.pinvoke.net/default.aspx/user32.sendmessage 에서 정보를 얻을 수 있다. C# Signature:[DllImport("user32.dll", CharSet = CharSet.Auto)] static extern IntPtr SendMessage(IntPtr hWnd, UInt32 Msg, IntPtr ..

C# 키보드 후킹 예제

/* * http://sosal.kr/ * made by so_Sal */ https://gist.github.com/Stasonix/3181083 github에서 그대로 퍼왔습니다.아래 코드는 후킹한 후에 원래 목적지로 가지 않는다는점...원한다면 hookProc 함수에서 return (IntPtr)1; 을CallNextHookEx(hhook, code, (int)wParam, lParam);로 고쳐주시면 됩니다. using System;using System.Collections.Generic;using System.ComponentModel;using System.Data;using System.Drawing;using System.Linq;using System.Text;using System.W..

Windows 자료형과 MBCS와 WBCS 호환

/* * http://sosal.kr/ * made by so_Sal */ 모든 프로그램이 UNICODE 가 아니기 때문에 기존에 개발된 프로그램 호환성, UNICODE를 지원하지 못하는 운영체제 등 100% 유니코드로만 프로그램을 동작하도록 구현하지 않습니다. 그렇다면, Software를 개발할때 MBCS와 WBCS 2개 모두 개발하게 된다면 유지, 보수에 어려움이 2배가 되겠습니다. 그래서 MBCS, WBCS 모두 호환하게 되는 프로그램을 구현하는것으로 결론에 도달하게 되는데, 그래서 Windows에는 이를 해결시켜주는 메크로가 존재합니다. #include에서 정의되어 있는 Windows 스타일의 자료형을 살펴보죠. (WinString.cpp 자료 참조) typedef char CHAR; typede..

반응형