Win32 Ime】的更多相关文章

Win32 Ime API: ImmGetContext: 获取指定窗口的当前的输入上下文,然后再尝试访问上下文中的信息.应用程序应该定期使用这个功能获取窗口的当前的输入上下文.若hWnd参数为零,将返回桌面当前的输入上下文. HIMC ImmGetContext( HWND hWnd ); GetKeyboardLayout:该函数可以获得指定线程的活动键盘布局句柄.若idThread参数为零,将返回活动线程的键盘布局句柄. HKL GetKeyboardLayout( DWORD idThr…
1.病毒会在system32目录生成一个以tmp结尾的随机数命名的文件. 2.然后挂钩HOOK本进程空间的imm32.dll导出的ImmLoadLayout函数和ntdll.dll导出的ZwQueryValueKey. 3.被挂钩的ZwQueryValueKey的处理流程是:若查询的键值是“Ime File”,则把之前生成的tmp文件名拷贝到输入缓冲区中返回给调用者,其它情况恢复原来流程执行. 4.显式调用user32的函数LoadKeyboardLayoutA来加载新的键盘布局,该函数经过wi…
以下内容摘自http://msdn.microsoft.com/zh-cn/goglobal/bb688135.aspx 在 Win32 中处理输入语言的方法 Microsoft Developer Network (MSDN) 文档(位于 http://msdn.microsoft.com)和编程 API 用一种名为“输入法区域设置标识符”的变量类型代表输入语言,它在先前的文档中被称为“键盘布局处理”(HKL) 并且现在仍被用作类型标识符.HKL 是一种古老的名称,当时只能从键盘进行输入.输入…
原文:IME输入法编程心得 posted @ 2012-11-30 00:42 from [FreedomShe] 自然语言处理的输入法作业成品没有做出来,但不想再在蛋疼的Win32上面耗费时间了,整理文档,记录一下心得,新手再来研究也不会迷路太远. 1. IME简介2. IME结构3. IME调试环境配置及安装3.1. 配置步骤3.2. 配置说明及注意事项3.3. IME安装及卸载4. IME编程心得4.1. 准备工作4.2. IME数据结构介绍4.3. IME接口调用顺序4.4. 感想 1 …
本文告诉大家在 WPF 写一个自定义的文本框,如何实现让输入法跟随光标 本文非小白向,本文适合想开发自定义的文本框,从底层开始开发的文本库的伙伴.在开始之前,期望了解了文本库开发的基础知识 本文实现的效果如下 实现 本文的方法参考了 WPF 官方仓库的逻辑,可以在 WPF 仓库的 wpf\src\Microsoft.DotNet.Wpf\src\PresentationFramework\System\Windows\Documents\ImmComposition.cs 文件看到官方是如何让…
前言 在开发应用程序时,通常只让程序运行一个实例.所以,就要判断程序是否已经运行. 下面是我自己在项目中使用到,封装好的帮助类.有 普通的 C# 应用程序 和 Windows CE 和 Windows Mobile 应用程序使用的方法. 主要是通过 System.Threading.Mutex 类 和 Win32 API 来实现,下面就是各自的代码,调用示例在最后面. 普通 C# 应用程序 主要是 Windows 窗体应用程序和控制台程序. 1. 使用 System.Threading.Mute…
JNA 调用 dll 库时,保错: ///////////////// 通过 JNA 引入 DLL 库 //////////// /** * ID_FprCap.dll 负责指纹的采集, 指纹仪的初始化,设置等等 */ public interface ID_FprCap extends StdCallLibrary { ID_Fpr fpr = ID_Fpr.INSTANCE ; ID_FprCap fprCap = (ID_FprCap)Native.loadLibrary("ID_FprC…
第一次接触win32api,刚开始的时候有点迷迷糊糊的. Windows API 就是windows应用程序接口. win api向上就是windows应用程序,向下就是windows操作系统核心. 刚开始的时候都是自己一步一步摸索,但是网上的东西都是一些 [DllImport("user32.dll")] public static extern IntPtr FindWindow(string lpClassName, string lpWindowName); 诸如此类的,不知道…
一.window占用了ctrl+空格的快捷键,影响开发工具的只能提示的使用. 二.解决方式: Go to Start > Type in regedit and start it (打开运行输入regedit) Navigate to HKEY_CURRENT_USER/Control Panel/Input Method/Hot Keys(定位到这个位置) Select the key named:(选择以下俩个语言) 00000070 for the Chinese (Traditional…
09 年翻译的东西. 原文见:  http://www.nobugs.org/developer/win32/debug_crt_heap.html 在DeviceStudio的Debug编译模式下, crt中的堆内存分配操作----包括malloc()和free()----使用一个特殊的, 便于调试的版本, 我们称之为crt debug堆(译注: 下面简称CDH). 相比于电光火石(译注: 原文blazingly, 我想不出更确切的说法)的运行效率, 调试版本更关注对于堆错误的定位, 它通过以…
0x00 样本说明 分析样本是被0b500d25f645c0b25532c1e3c9741667的样本感染得到.感染前的文件是Tcpview.exe,一款windows网络连接查看工具. 感染前后文件对比图示如下: 感染前 感染后 文件大小 106496 字节 818688 字节 文件md5 4B6B70F4A199CF3EAC1554B08804BC4F 041D85ECABF5F2E8366C5E0FDCB705F3 文件图标     分析样本的报毒情况如下: 杀软类型 病毒名 nod32…
引言:我们使用cocos2d-x引擎制作了一款飞行射击游戏,其中创新性地融入了手势识别功能.但是我们在移植过程中遇到了很多的问题,同时也发现网上的资料少而不全.所以在项目行将结束的时候,我们特地写了这篇文章来完整记录我们整个移植的过程,纪念我们项目的成功完成,更以此来表达对帮助过我们的人的感谢.移植过程中我们在网上得到了很多帮助,更要感谢黄杨学长在最后时刻帮助我们突破难关! 0.开发平台 系统:win8 profession 64bit IDE:vs2012 rtm, eclipse cocos…
今天使用Git在命令行下更新代码遇到了问题,起初觉得是自己安装某软件导致冲突,从网上搜索了一下找到类似问题,成功解决问题. 错误信息如下: E:\storm-sql>git pull origin joeywen 0 [main] us 0 init_cheap: VirtualAlloc pointer is null, Win32 error 487 AllocationBase 0x0, BaseAddress 0x68570000, RegionSize 0x2F0000, State…
开发大型GUI界面程序MFC当仁不让,但如果是开发图形应用程序,并不需要大规模界面控件,没有必要链接庞大的MFC库,直接使用platform sdk会很麻烦,这时ATL中的关于Windows的封装就是最好的选择 ATL的窗口架构是这样的—— [两个底层封装类] CWindow 窗口句柄和API封装类 只封装了hWnd窗口句柄和与之有关的WinAPI,CWindow和hWnd可以方便地进行转换. CMessageMap 消息映射接口 该基类有一个待实现的函数ProcessWindowMessage…
Win32 OpenProcess打开进程失败,返回5无权限操作,相信你会碰到这样的事,在IDE中可以,单独却不可以了,其实这时就需要提权了,否则是无法打开的,OpenProcess提权至Debug即可,不说多的,直接分享代码 //提升权限为DEBUG,处理GetLastError返回5 无权限操作错误 BOOL EnableDebugPrivilege(){ HANDLE hToken; BOOL fOk=FALSE; if(OpenProcessToken(GetCurrentProcess…
1. #include <Psapi.h> #pragma comment(lib, "Psapi.lib") DWORD GetProcIDFromName(LPCTSTR lpName) { DWORD aProcId[], dwProcCnt, dwModCnt; HMODULE hMod; TCHAR szPath[MAX_PATH]; //枚举出所有进程ID if (!EnumProcesses(aProcId, sizeof(aProcId), &dwP…
    虽然duilib自带在MFC中使用duilib的Demo,但只是MFC窗口和duilib窗口不重叠的情况.如果要在MFC窗口中嵌入duilib控件,或者在duilib控件中嵌入MFC的控件的话,就没有Demo可以看了,其实Alberl开始也不知道怎么办,看了下ActiveXUI控件,这个就是结合HWND的,但是由于接触duilib不久,所以一时无法看懂ActiveXUI到底是怎么将win32的HWND画上去的,只好在群里问啦,多谢铅笔群的Troy大神指导:     当时解决完之后上传了代…
        这是 WIN32 自动创建多级子目录的 C++ 封装类,用法简单.         封装没有采用类的静态函数方式,而是在构造函数里面直接完成工作.没什么具体的原因,只是当时做成这样了,这么多年就一直这样用了.   #ifndef __HSS_AUTO_CREATE_FOLDER_HSS__ #define __HSS_AUTO_CREATE_FOLDER_HSS__ #include <shlwapi.h> #pragma comment(lib, "shlwapi.…
In this tutorial we will learn How to communicate with an external device like a microcontroller board or modem using the Serial port of a windows PC(Windows XP,7). The software is written using C language and communicates with the Serial Port using …
上面大家都说Win32是一个子系统,这个当然是对的,不过我们有时候我们所说Win32通俗的就是指32位的Windows系统,从 windows95/98到NT/2000/XP都是32位Windows.子系统却是仅对NT架构的系统而言的.我想楼主所问的Win32并不是子系 统. API就是应用程序接口,是由系统提供的一些函数,比如你想创建一个文件,就要调用CreateFile,这个CreateFile就是一个API.任何一个操作系统都会提供API的,比如DOS也提供API,不过它是通过Int 21…
双击运行php-cgi.exe弹出对话框提示不是有效的win32应用程序.此为版本问题,PHP5.5版本 最低要运行于操作系统版本号最低要6.0 ,而WINDOWS 2003 系统为5.2 因此无法运行,故而提示此错误.WIN2003 下最高只能安装PHP5.4X的版本了.…
.NET 框架程序可以通过静态 DLL 入口点的方式来访问本机代码库.DllImport 属性用于指定包含外部方法的实现的dll 位置.       DllImport 属性定义如下:      namespace System.Runtime.InteropServices   {    [AttributeUsage(AttributeTargets.Method)]    public class DllImportAttribute: System.Attribute    {    p…
win32 Dll 中添加afx.h 出现如下错误 nafxcwd.lib(dllmodul.obj) : error LNK2005: _DllMain@12 already defined in ssmFunc.objnafxcwd.lib(dllmodul.obj) : warning LNK4006: _DllMain@12 already defined in ssmFunc.obj; second definition ignored   Creating library Debug…
MSDN文章<Microsoft Win32 to Microsoft .NET Framework API Map> 介绍了.net 类库对win32的封装 从.NET平台调用Win32 API http://liutiemeng.blog.51cto.com/120361/18764/ Win32调试API原理 http://blog.csdn.net/steven6977/article/details/12205331…
Win32的API函数可以直接在C#中直接调用,在做WinForm时还是很有帮助的.有时候直接调用Win32的API,可以很高效的实现想要的效果. using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Runtime.InteropServices; namespace WindowsAPI { class CSharp_Win32Api { #regi…
我不会取标题,大体上我想用win32,模仿windows的记事本,写个记事本程序,最后让我的程序和微软的程序在外观和功能上都差不多.这样一来我可以学到一些新知识,巩固旧的知识. 一.首先做个菜单栏吧.建个menu.rc文件,参照微软的记事本,里面写上这些: //menu.rc #define IDM_MAIN 0x2000 #define IDM_NEW 0x4101 #define IDM_OPEN 0x4102 #define IDM_SAVE 0x4103 #define IDM_SAVE…
第一次写随笔,我本来想将win32窗口的标题栏设置成渐变色,像这样的效果 但发现找不到设置标题栏属性的api,SetWindowLong也只是增减窗口的固定的样式而已.所以想到一个思路,把标题栏去掉,自己绘制一个标题栏,包括标题栏上的按钮都自己来绘制创建.这里用到了gdi+,对于这个库也是刚接触到的. 最后程序实现的效果如下. 代码: #ifndef ULONG_PTR #define ULONG_PTR unsigned long* #endif #include <windows.h> /…
win32窗口程序中如果需要给窗口过程函数传递自定义参数,可以通过LPCREATESTRUCT结构体中的lpCreateParams进行传递. 创建窗口实例函数: m_hWnd = CreateWindowEx(WS_EX_APPWINDOW, "FxWinAPP", "FxWinAPP", WS_OVERLAPPEDWINDOW, nPosX, nPosY, wndRect.right - wndRect.left, wndRect.bottom - wndRec…
Microsoft Win32 to Microsoft .NET Framework API Map .NET Development (General) Technical Articles     Microsoft .NET Framework and Microsoft Visual Studio User Education TeamsMicrosoft Corporation January 2004 Applies to:    Microsoft® .NET Framework…
利用win32创建窗口函数,主要操作步骤为: 1.设计一个窗口类 2.注册窗口类 3.创建窗口 4.显示及窗口更新 5.消息循环 6.窗口过程函数   (1)设计一个窗口类 设计窗口类,这样的类型已经被windows定义好了,我们只需要像选择题一样填满定义好的结构体(WNDCLASS)即可. 首先有两个一般设为0的选项:cbClsExtra和cbWndExtra,这两个是类附加内存和窗口附加内存. hbrBackground指定窗口类的背景画刷句柄.可以用来指定一个画刷的句柄,也可以指定一个标准…