C# 개발에서 입력 양식이나 텍스트 처리와 관련된 프로그램을 개발할 때, 다양한 언어의 입력을 관리하는 것이 중요합니다. 이때 중요한 역할을 하는 것이 IME (Input Method Editor) 모드입니다.IME 모드란?IME 모드는 사용자가 다양한 언어(특히, 한자나 한글 같은 비로마자 언어)를 입력할 때 필요한 입력 방식을 제어합니다. 예를 들어, 한글 입력 시에는 '가나다'를 입력하기 위해 'ㄱ', 'ㅏ', 'ㄴ', 'ㅏ', 'ㄷ', 'ㅏ'와 같이 키보드에서 입력해야 하며, 이 입력들을 올바르게 조합하여 표시하는 역할을 합니다.C#에서 ImeMode 제어하기C#에서는 System.Windows.Forms 네임스페이스 안에 있는 ImeMode 프로퍼티를 통해 컨트롤의 ImeMode를 설정할 수 있..

C# 빌드할때 어플리케이션을 관리자권한으로 실행하기실행할때 관리자 권한으로 실행할때 파일 속성에서 관리자권한으로 실행을 체크한다이렇게 하고 압축하고 해제하거나 서버에 올리는 등 작업을 하고 나면 관리자 권한이 해제가 되는 경우가 있다이걸 방지하기 위해서 빌드할 때 관리자권한을 적용할 수 있다프로젝트 이름 우클릭 → "추가 (Add)" → "새 항목 (New Item)" 선택 "응용 프로그램 매니페스트 파일 (Application Manifest File)" 추가 (app.manifest) 기본적으로 "asInvoker" 설정이 되어 있어서 관리자 권한이 필요하지 않은 상태다저기 level을 requireAdministrator 로 설정하면 ..
C#의 lock 키워드 이해하기 멀티스레딩 환경에서는 여러 스레드가 동시에 리소스에 접근하려고 할 때 문제가 발생할 수 있습니다. 이러한 동시 접근을 제어하려면 동기화 메커니즘이 필요합니다. C#에서는 lock 키워드를 사용하여 특정 코드 영역의 동시 실행을 방지하는 방법을 제공합니다. 1. 왜 lock이 필요한가? 스레드 간의 경쟁 조건(Race Condition) 때문입니다. 경쟁 조건은 두 개 이상의 스레드가 동시에 공유 데이터에 접근하려고 할 때 발생하는 현상으로, 데이터의 무결성을 손상시킬 수 있습니다. 예를 들어, 두 스레드가 동시에 계좌 잔액을 변경하려고 한다고 가정하면, 한 스레드가 잔액을 업데이트하는 동안 다른 스레드도 동일한 작업을 수행할 수 있으므로 잘못된 잔액이 저장될 수 있습니다...
using MySql.Data.MySqlClient; string ConnectionString = "SERVER=localhost; USER=아이디; DATABASE=데이터베이스; PASSWORD=비밀번호;"; string sql = "select * from test"; DataSet ds = new DataSet(); MySqlConnection Conn = new MySqlConnection(ConnectionString); MySqlDataAdapter dataAdapter = new MySqlDataAdapter(sql, Conn); dataAdapter.Fill(ds,"test");
public static string Encrypt(string textToEncrypt, string key) { RijndaelManaged rijndaelCipher = new RijndaelManaged(); rijndaelCipher.Mode = CipherMode.CBC; rijndaelCipher.Padding = PaddingMode.PKCS7; rijndaelCipher.KeySize = 128; rijndaelCipher.BlockSize = 128; byte[] pwdBytes = Encoding.UTF8.GetBytes(key); byte[] keyBytes = new byte[16]; int len = pwdBytes.Length; if (len > keyBytes.Length) ..
EncryptString(암호키, 암호화할 문자열); private static string EncryptString(string InputText, string KeyString) { RijndaelManaged RijndaelCipher = new RijndaelManaged(); byte[] PlainText = Encoding.Unicode.GetBytes(InputText); byte[] Salt = Encoding.ASCII.GetBytes(KeyString.Length.ToString()); PasswordDeriveBytes SecureKey = new PasswordDeriveBytes(KeyString, Salt); ICryptoTransform Encryptor = RijndaelCi..
Substring (int startIndex) - 원하는 위치부터 끝까지 string s = "0123456789";Console.WriteLine(s.substring(5)); // 결과 "56789" Console.WriteLine(s.substring(7)); // 결과 "789" Substring (int startIndex, int length) - 원하는 위치부터 문자 개수 Console.WriteLine(s.substring(5,2)); // 문자열 인덱스 5부터 2개의 문자를 반환 // 결과 "56"
- Total
- Today
- Yesterday
- 인삼키우기
- 베란다 방울토마토
- C# textbox 커서 위치
- 드론
- 이 행은
- ESP32
- 이베스트
- 베란다 텃밭
- 베란타
- 시스템트레이딩
- ArgumentException
- 암호화
- 복호화
- c# Speech
- 방울토마토
- 스털링
- MySQL
- 앉은뱅이 방울토마토
- c# 음성
- imemode
- c#
- C# textbox 커서 마지막
- C# textbox 커서 시작
- 코딩
- Xingapi
- C# 마우스 폼이동
- c# SpeechSynthesizer
- NET FRAMEWORK
- 스털링엔진
- framework
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |