프로그래밍/c# 6

딕셔너리 사용법

딕셔너리(Dictionary)는 키(key)와 값(value)의 쌍으로 데이터를 저장하는 데이터 구조입니다. C#에서 딕셔너리는 Dictionary 클래스를 사용하여 선언하고, 키와 값을 추가, 수정, 삭제할 수 있습니다.다음은 딕셔너리의 기본적인 사용법입니다. 딕셔너리 선언Dictionary myDictionary = new Dictionary(); 위의 코드에서는 문자열을 키(key)로, 정수를 값(value)으로 갖는 딕셔너리를 선언했습니다.값 추가 또는 수정myDictionary["apple"] = 10; // "apple"이라는 키에 10을 추가하거나 수정합니다.myDictionary["banana"] = 5; // "banana"라는 키에 5를 추가하거나 수정합니다. 값 조회int value ..

프로그래밍/c# 2024.05.06

C# 난독화하기 - ConfuseEx

packing을 적용할 경우 바이러스로 오인될 가능성이 높아 패킹을 제외하고 난독화 진행함.난독화는 aggressive 정도로 한다. maximum도 바이러스로 오탐될 수 있음. 난독화 전과 후의 파일 크기를 비교해 보면 2배이상 증가한 것을 확인할 수 있다.dotnet framework 4.7버전으로 만든 거라 단일 실행파일을 만들지 못해 dll이 포함되지 않은 순수한 exe파일의 크기이다. ILSPY로 난독화 후의 파일을 열어보면 아래와 같이 원본 확인이 어려운 수준이다.

프로그래밍/c# 2024.05.05

마우스 아래 창의 핸들 가져오기

WindowFromPoint를 사용하면 마우스 아래의 컨트롤의 핸들의 가져오기 때문에GetParent를 사용하여 부모차 0이 나올때 까지 반복문으로 계속 찾아서 반환하는 방법입니다.// 현재 마우스 커서의 위치 가져오기Point cursorPos = System.Windows.Forms.Cursor.Position;// 마우스 커서 아래 창의 윈도우 핸들 가져오기IntPtr ahWnd = WindowFromPoint(cursorPos);while (GetParent(ahWnd) != IntPtr.Zero) ahWnd = GetParent(ahWnd);

프로그래밍/c# 2024.05.05

함수에서 여러개의 값을 리턴하고 사용하는 방법

https://www.c-sharpcorner.com/UploadFile/9b86d4/how-to-return-multiple-values-from-a-function-in-C-Sharp/ How to Return Multiple Values From a Function in C# This article explains various ways to return multiple values from a function in C#. www.c-sharpcorner.com 다양한 사용법은 위의 사이트 참고 간단하게 아래와 같이 return시 ()안에 리턴할 값을 지정하면 된다. if문을 사용하면 else부분에도 리턴값을 명시해야 에러가 발생하지 않는다. using System; namespace YourNam..

프로그래밍/c# 2024.04.14

외부 파일 실행하기(Process.Start와 ShellExecute 함수의 차이점)

- 연결 파일을 실행하는 코드 // ShellExecute 함수에 대한 P/Invoke 선언 \[DllImport("shell32.dll", CharSet = CharSet.Auto)\] public static extern IntPtr ShellExecute(IntPtr hwnd, string lpOperation, string lpFile, string lpParameters, string lpDirectory, int nShowCmd); public static void Main() { // 실행할 연결 파일의 경로 string filePath = "C:\\\\path\\\\to\\\\your\\\\file.lnk"; // ShellExecute 함수 호출 IntPtr result = ShellEx..

프로그래밍/c# 2023.05.27