• ieovi
    了解作者
  • C++
    开发工具
  • 4KB
    文件大小
  • rar
    文件格式
  • 0
    收藏次数
  • 1 积分
    下载积分
  • 0
    下载次数
  • 2019-05-26 00:29
    上传日期
TCP与UDP的工作原理与编写过程,如何在程序中链接库文件,
VRTK.rar
  • Unit1.h
    1.2KB
  • Unit1.ddp
    51B
  • Project1.res
    876B
  • Unit1.dfm
    1.2KB
  • 0Project1.bpr
    3.2KB
  • Project1.cpp
    644B
  • Unit1.cpp
    2.7KB
内容介绍
//--------------------------------------------------------------------------- #include <vcl.h> #pragma hdrstop #include "Unit1.h" //--------------------------------------------------------------------------- #pragma package(smart_init) #pragma resource "*.dfm" TForm1 *Form1; //--------------------------------------------------------------------------- __fastcall TForm1::TForm1(TComponent* Owner) : TForm(Owner) { //单击Button1按钮,才启动Timer Timer1->Enabled = false; //所有输入法名称的临时清单 list = new TStringList(); } //--------------------------------------------------------------------------- void __fastcall TForm1::Button1Click(TObject *Sender) { //先删除Memo1中文字 Memo1->Text = ""; //输入法总数归零 s = 0; pass = 0; //先默认指向输入法的指针数组,共30个指针位置 HKL hkl[30]; //取得输入法总数 s = ::GetKeyboardLayoutList(255, hkl); Memo1->Lines->Add("现有输入法共 " + AnsiString(s) + " 种"); //将输入法总数传给Timer1中执行次数 pass = s; //启动Timer1,取得所有输入法 //完成后,即关闭Timer1 Timer1->Enabled = true; } //--------------------------------------------------------------------------- //运用Timer的定时功能,限次检测输入法名称 //您可用switch列举出 void __fastcall TForm1::Timer1Timer(TObject *Sender) { if(pass > 0) { //切换到下一个输入法<Ctrl + Shift> //单击 Ctrl 键 ::keybd_event(VK_CONTROL, (BYTE)::MapVirtualKey(VK_CONTROL,0),0,0); //再单击 Shift 键 ::keybd_event(VK_SHIFT, (BYTE)::MapVirtualKey(VK_SHIFT,0),0,0); //切换输入法后,反序释放按键 ::keybd_event(VK_SHIFT, (BYTE)::MapVirtualKey(VK_SHIFT,0),KEYEVENTF_KEYUP,0); ::keybd_event(VK_CONTROL, (BYTE)::MapVirtualKey(VK_CONTROL,0),KEYEVENTF_KEYUP,0); //取得现在输入法的名称代码 char keyb[KL_NAMELENGTH]; ::GetKeyboardLayoutName(keyb); //将输入法名称加入RadioGroup1切换子项及临时清单中 RadioGroup1->Items->Add(AnsiString(keyb)); list->Add(AnsiString(keyb)); //输入法名称显示在Memo1中 Memo1->Lines->Add(keyb); Button1->Enabled = false; } else Timer1->Enabled = false; pass--; } //--------------------------------------------------------------------------- //当点取其中子项目,即切换输入法 void __fastcall TForm1::RadioGroup1Click(TObject *Sender) { //取得StringList的指定字符串 AnsiString skey = list->Strings[RadioGroup1->ItemIndex]; //加载指定名称的输入法 ::LoadKeyboardLayout( skey.c_str(), KLF_ACTIVATE); //将焦点交给Memo,以便进行输入 Memo1->SetFocus(); } //--------------------------------------------------------------------------- //释放StringList占住的内存 void __fastcall TForm1::FormDestroy(TObject *Sender) { delete list; } //---------------------------------------------------------------------------
评论
    相关推荐
    • 3DES加密算法源代码.rar
      DES加密源代码,用3DES加密算法。 加密强度高,到目前为止,还无人能够破解!
    • crc.zip
      CRC校验程序,使用了CRC-16和CRC-CCITT方法
    • rsa1.03.zip
      rsa算法实现,包含文档
    • fast-des3.0.tar.z
      des算法实现源码
    • des3_win32_vc.zip
      一个3des算法的库文件和使用库文件的例子
    • dcpcrypt.zip
      Delphi加密控件源码,包括对称钥匙加密控件和散列函数控件
    • rc.zip
      含有rc2、rc4、rc5、rc6算法的rc算法集合
    • oicqpass.zip
      读取OICQ用户保存在本地机器上的密码
    • elgamal.zip
      另一种公开密钥加密算法的Pascal实现和例子。实现了签名和确认
    • linuxscanners.zip
      linux下的端口扫描器