日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時間:8:30-17:00
你可能遇到了下面的問題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
C#打開軟鍵盤的方法

以前曾經(jīng)見別人CSDN上面問過如何用C#打開軟鍵盤,我也關(guān)注過,可沒有結(jié)果。在網(wǎng)上搜了一下也沒有能找出滿意的答案。今天就拿這個開開刀吧,反正大項目也沒有,只是一個小功能。結(jié)果沒曾想,弄出來了。也有好久沒有更新我的這一畝三分田了,就放上來了。

創(chuàng)新互聯(lián)公司10多年成都定制網(wǎng)頁設(shè)計服務(wù);為您提供網(wǎng)站建設(shè),網(wǎng)站制作,網(wǎng)頁設(shè)計及高端網(wǎng)站定制服務(wù),成都定制網(wǎng)頁設(shè)計及推廣,對成都花箱等多個行業(yè)擁有豐富的網(wǎng)站維護經(jīng)驗的網(wǎng)站建設(shè)公司。

獻給那些為中國共享軟件和提高中國程序水平作努力的人們。

注:程序是在VS2005里面,注意一下??丶枰约禾砑恿恕R粋€ComboBox,一個Textbox,一個Button,直接拖進去沒有更改name

用C#打開軟鍵盤程序開始

 
 
 
  1. using System;
  2. using System.Collections.Generic;
  3. using System.ComponentModel;
  4. using System.Data;
  5. using System.Drawing;
  6. using System.Text;
  7. using System.Windows.Forms;
  8. using System.Runtime.InteropServices;
  9. namespace InputLanguageSwitch
  10. {
  11. /// 
  12. /// 獲取系統(tǒng)所有的輸入法,并可以程序改變當前輸入法;打開關(guān)閉軟鍵盤。
  13. /// 程序:房客
  14. /// QQ:83849123
  15. /// Blog:http://www.cnblogs.com/sxlfybb
  16. /// 
  17. public partial class Form1 : Form
  18. {
  19. public Form1()
  20. {
  21. InitializeComponent();
  22. this.InputLanguageChanged += new InputLanguageChangedEventHandler
    (Form1_InputLanguageChanged);
  23. }
  24. void Form1_InputLanguageChanged(object sender, InputLanguageChangedEventArgs e)
  25. {
  26. //throw new Exception("The method or operation is not implemented.");
  27. for( int i=0;i;i++)
  28. {
  29. if (InputLanguage.CurrentInputLanguage.LayoutName == comboBox1.Items[i].ToString())
  30. {
  31. comboBox1.SelectedIndex = i;
  32. }
  33. }
  34. }
  35. private void comboBox1_SelectedIndexChanged(object sender, EventArgs e)
  36. {
  37. string strTemp = comboBox1.Items[comboBox1.SelectedIndex].ToString();
  38. InputLanguageCollection collects = InputLanguage.InstalledInputLanguages;
  39. for (int i = 0; i < collects.Count; i++)
  40. {
  41. if (collects[i].LayoutName == strTemp)
  42. InputLanguage.CurrentInputLanguage = collects[i];
  43. }
  44. }
  45. private void Form1_Load(object sender, EventArgs e)
  46. {
  47. InputLanguageCollection collects = InputLanguage.InstalledInputLanguages;
  48. for (int i = 0; i < collects.Count; i++)
  49. {
  50. comboBox1.Items.Add(collects[i].LayoutName);
  51. }
  52. comboBox1.SelectedIndex = collects.IndexOf(InputLanguage.CurrentInputLanguage);
  53. }
  54. private void button1_Click(object sender, EventArgs e)
  55. {
  56. this.textBox1.Focus();
  57. IntPtr hwndInput = ImmGetContext(this.Handle);
  58. IntPtr dw1 = IntPtr.Zero;
  59. IntPtr dw2 = IntPtr.Zero;
  60. bool isSuccess = ImmGetConversionStatus(hwndInput, ref dw1, ref dw2);
  61. if (isSuccess)
  62. {
  63. int intTemp = dw1.ToInt32() & IME_CMODE_SOFTKBD;
  64. if (intTemp > 0)
  65. dw1 = (IntPtr)(dw1.ToInt32() ^ IME_CMODE_SOFTKBD);
  66. else
  67. dw1 = (IntPtr)(dw1.ToInt32() IME_CMODE_SOFTKBD);
  68. }
  69. isSuccess = ImmSetConversionStatus(hwndInput, dw1, dw2);
  70. ImmReleaseContext(this.Handle, hwndInput);
  71. }
  72. public const int IME_CMODE_SOFTKBD = 0x80;
  73. [DllImport("imm32.dll", EntryPoint = "ImmGetContext")]
  74. public static extern IntPtr ImmGetContext(
  75. IntPtr hwnd
  76. );
  77. [DllImport("imm32.dll", EntryPoint = "ImmGetConversionStatus")]
  78. public static extern bool ImmGetConversionStatus(
  79. IntPtr himc,
  80. ref IntPtr lpdw,
  81. ref IntPtr lpdw2
  82. );
  83. [DllImport("imm32.dll", EntryPoint = "ImmSetConversionStatus")]
  84. public static extern bool ImmSetConversionStatus(
  85. IntPtr himc,
  86. IntPtr dw1,
  87. IntPtr dw2
  88. );
  89. [DllImport("imm32.dll", EntryPoint = "ImmReleaseContext")]
  90. public static extern int ImmReleaseContext(
  91. IntPtr hwnd,
  92. IntPtr himc
  93. );
  94. }
  95. }

用C#打開軟鍵盤代碼結(jié)束。

另外,也可以直接執(zhí)行OSK而直接打開虛擬鍵盤,不過這個和軟鍵盤是不一樣的。
現(xiàn)在反釣魚的軟件越來越多了,祝大家共同進步。


本文題目:C#打開軟鍵盤的方法
文章鏈接:http://m.5511xx.com/article/coeidpd.html