본문 바로가기

Programming/Tips(C++,C#)143

c#에서 좌우 메시지 바꿔치기.. 오늘 하루종일 삽질해서 어케든 끼워맞춘거.. using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Windows.Forms;using System.Runtime.InteropServices;using Microsoft.Win32;using System.Drawing; namespace Ueco2010{ enum WMMessage { RBtnWParam = 0x0002, LButtonDown = 0x0201, LButtonUp = 0x0202, RButtonDown = 0x0204, RButtonUp = 0x0205, } class MessageHooker : IMessageFilter { .. 2012. 4. 25.
C#에서 메시지 후킹하기 C#에서 메시지를 후킹하려면 아래와 같이 해야한다. 1. 메시지를 후킹하는 클래스를 하나 선언한다.나중에 귀찮지 않으려면 using System.Windows.Forms; 를 선언해준다. (클래스 선언시에 IMessageFilter를 선언해야하는데.. 저거 안쓰면 귀찮아서..; 쓸일이 있을지도 모르고 해서 난 그냥 포함함.. ㅡ,.ㅡ;)클래스 선언시 IMessageFilter를 사용하도록 해야한다. 즉.. 생성할 클래스명이 MessageHooker라면.. class MessageHooker : IMessageFilter{ //something} 이렇게 선언해주어야 함. 2. PreFilterMessage를 구현할것. (안하면 빌드에러남)public bool PreFilterMessage( ref Mess.. 2012. 4. 25.
C#에서 Win32 API사용하기 C#에서 Win32 API사용하기. 1. using을 선언해 주자. 사용할 녀석들은 아래와 같다 using System.Runtime.InteropServices;using Microsoft.Win32; 2. 사용할 외부 dll에 있는 함수들 선언하기[DllImport("User32.dll")]public static extern int FindWindow(string lpClassName, string lpWindowName);[DllImport("User32.dll")]public static extern int SendMessage(uint hWnd, uint msg, uint wParam, uint lParam); 이렇게 사용하면 된다. 2012. 4. 25.
프로그래밍 팁은 아니지만... 팁은 팁이라.. 윈도우7에서 관리자계정 활성화/비활성화 명령프롬프트로 들어간다. (상관이 있나없나 모르겠지만 난 혹시나하는 마음에 관리자계정으로 실행했음) 다음과 같이 명령어를 입력한다. net user administrator /active:yes * (계정 비활성화시는 active:no로 변경해서 입력) 그러면 관리자 계정을 활성화/비활성화 할 수 있음. 난 그것도 모르고 괜히 안전모드 부팅하는 방법만 알고있었네...; 원본글 블로그 http://cdmanii.com/1127 2012. 3. 2.
C#에서 string을 enum으로 변환(?)하기 (MyEnum) Enum.Parse(typeof(MyEnum),stringValue) 이렇게 하면 되나.. 주의할 사항은 MyEnum에 StringValue와 같은 이름의 enum이 없으면 익셉션 발생한다. 즉.. 다음과 같은경우는 주의할것 MyEnum { me1 = 0, me2 , me3 } 이렇게 있는데 stringValue가 test라면 exception이 발생함. 그러므로 저 부분에는 try-catch구문을 걸어주는것도 하나의 방법.. 그리고 만약 대소문자 구분이 싫다면.. (혹은 어떻게 들어올지 알 수 없다면) Enum.Parse(type typeVal, string strVal, bool bIgnoreCase) 형식으로 호출할것 true로 호출해 주면 대소문자 구분은 살포시 안해준다. 2012. 2. 24.
VB에서 오버플로우 무시하기 VB로 작업을 할일이 있었는데, VB에서는 기본적으로 알아서 자기가 오버플로우 검사를 다 한다. 그래서 오버플로우 발생시 귀찮음.. 특히 암호화/복호화 작업시에.. 이럴때, 사용하기 좋은 방법은 오버플로우 검사 해제를 체크하는것. (물론 그만큼 코드에는 더욱 신경을 써야하겠지만..) 그것은 플젝 속성 -> '컴파일' -> '고급컴파일옵션' -> '정수 오버플로 검사 해제'를 선택하면 됩니다. ㅋㅋㅋㅋ 2012. 2. 23.
728x90