반응형

* C# API 를 이용해 한/영 키 상태 값 구하기 예제...

 

Main

 

전체 소스 코드

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

 

[VBNET] [API] 한/영 키 상태 값 구하기

* VBNET API 를 이용한 한/영 키 상태 값 얻어 오기 예제... 전체 소스 코드 Form1.vb Imports System.Runtime.InteropServices Public Class Form1 'API 선언... Private Declare Function ImmGetContext Lib "i..

kdsoft-zeros.tistory.com

 

반응형

+ Recent posts