반응형
* C# API 를 이용해 한/영 키 상태 값 구하기 예제...
전체 소스 코드
Form1.cs
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.Runtime.InteropServices;
namespace CSharp_HangulKeyState
{
public partial class Form1 : Form
{
//API 선언
[DllImport("imm32.dll")]
private static extern IntPtr ImmGetContext(IntPtr hwnd);
[DllImport("imm32.dll")]
private static extern bool ImmGetConversionStatus(IntPtr himc, ref int lpdw, ref int lpdw2);
public Form1()
{
InitializeComponent();
timer1.Start();
}
protected override void OnClosed(EventArgs e)
{
timer1.Stop();
base.OnClosed(e);
}
private void timer1_Tick(object sender, EventArgs e)
{
try
{
IntPtr hIMC;
int dwConversion = 0;
int dwSentence = 0;
bool bCheck;
hIMC = ImmGetContext(textBox1 .Handle);
//TextBox 한영키 상태값 얻기...
bCheck = ImmGetConversionStatus(hIMC, ref dwConversion, ref dwSentence);
if (dwConversion == 0)
{
label1.Text = "한영키 상태 : 영문";
}
else
{
label1.Text = "한영키 상태 : 한글";
}
}
catch
{}
}
}
}
*예제 결과
https://kdsoft-zeros.tistory.com/161
반응형
'C# Programming' 카테고리의 다른 글
[C#] [API] Mouse Cursor Move And AutoClick Event (0) | 2020.03.11 |
---|---|
[C#] [API] 마우스 커서 좌표 얻어 오기 (0) | 2020.03.09 |
[C#] 윈도우 폼(Window Form) - 폼(Form) 화면 그대로 프린트(Print) (0) | 2020.03.03 |
[C#] [WMI] 네트워크 IP 및 Subnet, Gateway Set (0) | 2020.02.28 |
[C#] [WMI] 네트워크 IP 및 Subnet , Gateway 얻어오기 (0) | 2020.02.26 |