3264位系统怎么改32位刷64位的

&热门教程推荐
12345678910
&热门系统专题
&Win7系统推荐
&|&&|&本站发布的系统与软件仅为个人学习测试使用,请在下载后24小时内删除,不得用于任何商业用途,否则后果自负,请支持购买微软正版软件!
如侵犯到您的权益,请及时通知我们,我们会及时处理。
Copyright @ 2011 系统城小马浏览器 V55.4.0.0版已经上线,请各位多多吐槽!!!
64位版本可以处理的物理内存(RAM)在4 GB以上,高达128GB,而32位版本最多可以处理4 GB的内存。因此,如果你在计算机上安装32位版本的Windows,那么安装4 GB以上的RAM是没意义的。
由于处理内存的能力大,64位版本的系统可以更有效地使用处理器处理数据。因此,这增加了电脑的整体性能。概括地说64位是功能更强大的。现在来看看一些有关这两种技术的东西。
  如何检查Vista和Windows 7的Windows版本
  要检查当前的版本,按下”开始“按钮。用鼠标右击“电脑”并选择“属性”。
  在“系统”项的“系统类型”可以看到。下面给出的截图显示,我的计算机是32位操作系统。
如何检查你的计算机是否可以运行64位的Windows
  要检查计算机是否有64位的处理器,请执行以下步骤。
  点击“开始”按钮。在搜索框输入“性能信息和工具”(Performance information and tool)。点击列出的结果。
点击“查看或打印”
  这时会看到你的计算机的所有资料。在“系统”栏,你可以看到当前正在运行的版本,是否可以运行64位(图片显示的是可以)。
  注意: 如果你现在使用的是32位版本的Windows,你想安装64位版本操作系统,那么安装64位之前请务必备份你的Windows文件。
  64位计算机的优点
  64位版本Windows的主要优点是,它可以更好的访问和管理内存。
  加强安全性能,如内核补丁保护,支持硬件数据执行保护,强制驱动程序签名,取消了32位驱动程序和16位子系统的支持。
  对那些专门为64位操作系统编写的程序的性能十分优越。
  使用64位计算机的缺点
  使用此版本不会有什么缺点,但是也有一些事情你必须考虑在你决定使用之前。
  应该检查的设备驱动程序的可用性,因为32位设备驱动程序64位版本下不能使用。
  大多数的硬件设备兼容64位计算机。
  设备驱动程序必须有开发商的数字签名。
  某些程序的32位与64位不兼容。
  怎么选择正确版本的Windows
  64位版本
  选择正确的Windows版本取决于你的考虑和需要。如果你想使用大内存(超过4 GB),那么你可以去64位版本。但在你转向64位之前,请检查你日常使用的各种软件和工具,是否有64位版本的。
  大多数新软件和硬件都支持64位版本。点击这里,检查你的软件和设备的兼容性。
  32位版本
  32位版本的价格低于64位版本。
  如果你喜欢使用的是旧的软件和硬件,那么你你尽可以使用32位版本,因为它可以支持所有的程序和设备。
  注意:没有软件设计得可以同时支持32位和64位(除了一些杀毒程序)。不过,如果一个程序有64位版本,一般也都有32位版本的。
有不少硬件配置比较高的朋友考虑的就已经不是选择哪个版本的 Windows 7 了,而是选择 32 位还是 64 位的 Windows 系统。众所周知,64位操作系统的执行效率和硬件利用率都要比32位系统要高,64位系统对32位软件和游戏的兼容性也越来越好,越来越多的软件厂商也愿意推出64位版本,所以有不少用户都愿意选择64位操作系统。
#1、哪些计算机支持64位Windows 7呢?
  一般来讲,除了那些不支持AMD或英特尔扩展的低端CPU之外,在过去3年中出产的大多数电脑都是能够运行64位Windows 7的。例如,英特尔Atom低功率CPU和早期的英特尔英特尔Core CPUs(如Core Duo而不是Core 2 Duo)等都不支持64位的Windows 7。如果您不能肯定您的电脑配置的是哪种CPU、CPU是否支持64位的话,那么您可以使用免费的英特尔处理器识别工具去鉴别。
  #2、如何鉴别外部设备是否与64位Windows 7兼容?
  大多数可以与Vista兼容的外围设备都能够与64位的Windows 7,然而,64位的面世对于传统的硬件支持来讲确实是一个打击。最好的解决方法就是使用网络搜索查看64位设备驱动程序,去支持64位的外围设备。
  #3、用户能够在64位版本的Windows 7环境下使用32位的设备驱动程序?
  不可以,设备驱动程序的代码仅仅能够运行在与Windows内核相同的地址空间中。因此,设备驱动程序必须配合内核本身的构架。有些制造商将32位和64 位的驱动程序捆绑在一个独立的安装包中,这就导致有些用户认为32位的驱动程序能够运行在64位的Windows操作系统中,其实不然。
  然而,尽管32位的驱动程序不能够支持64位的Windows 7,但是64位Windows 7的用户能够在“Windows XP模式”中安装32位的驱动程序,并在Windows XP虚拟机中使用支持32位的USB打印机和其他外围设备。
  #4、“Windows XP模式”可以在64位的Windows 7中运行吗?
  是的,64位的Windows 7能够充分地支持Windows XP模式,实际上,使用虚拟机监测器(VMM),类似于Windows虚拟机产品去支持“Windows XP模式”是在64位Windows操作系统下使用32位设备驱动程序的唯一方法。不过,用户要注意的是,外围设备必须是以USB接口与计算机连接的,使用专有扩展卡或加密狗的传统硬件可能无法与“Windows XP模式”配合工作。
  #5、Windows XP模式具体是什么?如何获得“XP模式”?
  答案很简单,“Windows XP模式”实际上就是运行在Windows 7系统环境下的包含“Windows XP SP3”的虚拟机。Windows 7专业版、旗舰版和企业版的用户能够通过微软下载中心免费下载使用。
  更准确的说,Windows XP模式就是一个可以创建独立、本地的64位进程模拟32位PC环境的64位应用程序(实际上,是一系列的64位服务和设备驱动程序)。
  #6、用户可以在64位Windows 7环境下运行32位的Windows应用程序吗?
  可以,几乎所有的32位Windows应用程序都可以无缝地运行在64位的Windows中。
  #7、当在64位Windows 7中安装32位应用程序的时候,为什么会看不到它的注册表项?
  64位的Vista和Windows 7具有64位至32位转换层,64位的Windows可以独立注册32位应用程序,并将它们导入到适当的注册表配置单元中。
  #8、使用64位的Windows 7会获得性能的优势吗?
  这要看具体情况决定了,如果您正在使用较大体积的文件和应用程序,需要消耗大量的内存,那么使用64位的Windows 7将会具有明显的优势。这是由于64位的Windows 7可以支持的物理RAM远远超过了32位的Windows 7,并且还支持应用程序的扩展模式。
  #9、为什么64位的Windows使用的RAM较32位的Windows多呢?
  任何64位的操作系统消耗的内存都远远超越32位的Windows,这完全取决64位代码。64位的操作系统使用更大的内部结构,必将会占据更多的空间(无论是内存还是硬盘),这是一点都不足为奇的。
  #10、使用64位的Windows 7是否比32位Windows 7具有安全优势?
  是的,许多的核心安全功能都需要64位的支持,例如数据执行防护和补丁保护等,此外,64位的Vista或Windows 7还将会为用户提供设备驱动程序的数字签名保护。
  #11、用户是否可以执行32位Windows至64位Windows的升级?
  不可以,目前,微软Windows的升级过程并不支持处理器架构之间的迁移。如果用户想要从32位的Windows升级至64位的Windows,那么就必须执行64位Windows的“净安装”。
  此外,笔者要提醒大家的是,虽然64位Windows 7的某些版本可以提供“Windows XP模式”去解决向后兼容性问题,但是“XP模式”并不是万能药。
敬请持续关注小马资讯进行IT界行情分析,并教你玩转电脑!
转载请注明: &
小马浏览器 V55.0.2883.87版已经发布!欢迎大家加入测试群!群号:如何让32位的软件支持64位操作系统
我玩的潜行者晴空不能用32位的键盘设置软件
09-05-30 &匿名提问
中 文Windows 下 的IME 应 用 程 序 都 有 一 个 标 准 的PC 软 键 盘, 通 过 它 可 以 利 用 鼠 标 实 现 标 准 键 盘 按 键 输 入, 解 决 了 在 键 盘 按 键 损 坏 或 不 灵 活 情 况 下 的 键 盘 数 据 输 入 问 题, 同 时 增 加 了 系 统 操 作 的 灵 活 性。   Windows 系 统 内 部IME 输 入 法 中 的 标 准 软 键 盘, 是 由 系 统 中 汉 字 内 核 双 字 节(DBCS) 支 持 核 心 动 态 链 接 库 程 序WINNLS.DLL 定 义 的。 首 先 在 资 源 文 件.RC 中 将 其 定 义 软 键 盘 显 示 所 需 的 符 号 表wSKLayout[SK_KEY_MAX],SK_KEY_MAX 为 符 号 表 的 长 度。IME.H 中 定 义 为 常 数46, 符 号 表 只 能 作 为 软 键 盘 中 按 键 的 提 示 内 容, 每 个 符 号 为2 个 字 节, 格 式 如 下:   // 1 2 3 4 5 6 7 8 9 0 - = \    & 1 2 3 4 5 6 7 8 9 0 &,&- = \&,   // Q W E R T Y U I O P [ ]    & Q W E R T Y U I O P [ ]&,   // A S D F G H J K L ; *    & A S D F G H J K L ; *&,   // Z X C V B N M , . /    & Z X C V B N M , . /&,    然 后 在IME 应 用 程 序 中 利 用WINNLS.DLL 中 的API 函 数 控 制 软 键 盘 的 打 开 与 关 闭。   API 控 制 函 数WINNLSDefIMEProc 的 格 式 定 义 如 下:   WINNLSDefIMEProc(HWND,HDC,WPARAM,WPARAM,LPARAM,LPARAM);    其 中,HWND 为IME 主 程 序 窗 口 句 柄;HDC 为 窗 口 的 设 备 描 述 符 表 句 柄, 可 以 利 用GetDC( ) 函 数 来 取 得, 为NULL 时 表 示 使 用 屏 幕 设 备 描 述 符 表 句 柄; 前 一 个WPARAM 为 软 键 盘 的 过 程 参 数, 中 文 软 键 盘 在IME. H 中 定 义 为IMEPROC_SK, 使 用 时 需 要 加 上 软 键 盘 的ID 值( 中 文 为1); 后 一 个WPARAM 为 软 键 盘 的 功 能 执 行 参 数:PROC_INFO 表 示 定 义 软 键 盘 的 提 示 内 容,PROC_SHOW 表 示 显 示 定 义 的 软 键 盘,PROC_HIDE 表 示 隐 藏 显 示 的 软 键 盘, 这 三 个 功 能 参 数 可 以 组 合 使 用, 如PROC_INFO|PROC_SHOW 表 示 定 义 并 显 示 相 应 的 软 键 盘; 前 一 个LPARAM 参 数 在 中 文 软 键 盘 暂 不 使 用; 后 一 个LPARAM 参 数 为 软 键 盘 显 示 内 容 的32 位 地 址 指 针。 下 面 介 绍 定 义、 打 开 和 关 闭 软 键 盘 的 用 法。   1、 定 义 并 显 示 软 键 盘    WINNLSDefIMEProc(hIMEWnd,NULL,IMEPROC_SK+SKid,PROC_   INFO|PROC_SHOW,NULL,(LONG)(LPSTR)wSKLayout);   2、 显 示 定 义 的 软 键 盘    WINNLSDefIMEProc(hIMEWnd,NULL,IMEPROC_SK+SKid,PROC_   SHOW,NULL,NULL);   3、 关 闭 显 示 的 软 键 盘    WINNLSDefIMEProc(hIMEWnd,NULL,IMEPROC_SK+SKid,PROC_   HIDE,NULL,NULL);    上 述 有 关 参 数 在IME.H 文 件 中 定 义 如 下:    #define IMEPROC_SK 0x0010    #define IMEPROC_SK1 0x0011    #define IMEPROC_SK2 0x0012    #define PROC_INFO 0x0001    #define PROC_SHOW 0x0002    #define PROC_HIDE 0x0004    不 管 软 键 盘 的 显 示 内 容 如 何 定 义, 使 用 鼠 标 点 击 软 键 盘 中 的 相 应 键 位, 产 生 的 按 键 结 果 都 是 在 资 源 文 件 中 定 义 符 号 表 中 的 上 述 注 释 字 符 消 息。 据 此, 可 以 通 过 在 资 源 文 件 中 定 义 不 同 的 软 键 盘 显 示 内 容、 相 应 的 中 文 字 符 串 表 和 软 键 盘ID 标 志, 然 后 在 鼠 标 点 击 产 生 的 消 息 到 达 应 用 程 序 前 根 据 当 前 的 软 键 盘ID 值 将 其 转 换 为 中 文 字 符 串 表 中 的 相 应 符 号, 通 过 不 同 按 钮 控 制 完 全 可 以 实 现 各 种 特 殊 符 号 的 软 键 盘。    实 际 应 用 中 我 们 不 难 发 现,WINNLS. DLL 中 定 义 的IME 软 键 盘 存 在 着 很 多 缺 陷:WINNLS.DLL 中 定 义 的 软 键 盘 只 有46 个 键 位, 而 实 际 键 盘 中 有 效 按 键 在60 个 以 上; 只 能 进 行 普 通 按 键 操 作, 不 能 处 理 换 档 键 和 大 写 锁 定 键 等 特 殊 键, 使 软 键 盘 的 有 效 按 键 降 低 一 倍; 特 殊 符 号 软 键 盘 不 能 实 现 鼠 标 和 实 际 物 理 键 盘 的 分 离 控 制; 软 键 盘 的 界 面 差。    笔 者 在 实 际 工 作 中 开 发 了IME 应 用 程 序 的 标 准PC 软 键 盘 和 各 种 特 殊 符 号 软 键 盘。 基 本 原 理 和 方 法 介 绍 如 下。    1、 在 建 立IME 主 窗 口 的 同 时 建 立 软 键 盘 子 窗 口。 首 先 根 据IME 主 窗 口 的 位 置 和 大 小 确 定 软 键 盘 的 初 始 位 置 和 大 小, 然 后 确 定 软 键 盘 中 键 的 数 量 和 排 列 方 法, 并 在 包 含 文 件 中 利 用RECT 定 义 相 应 矩 形 区 域, 利 用SetRect 命 令 根 据GetDC() 获 取 的 屏 幕 设 备 参 数 填 充 定 义 的 矩 形 区 域 四 个 坐 标 参 数, 最 后 通 过CreateWindowEx 函 数 建 立 软 键 盘 窗 口:    hIMEKeyWnd=CreateWindowEx( // 建 立 软 键 盘 窗 口    NULL, // 无 标 题 窗 口    (LPSTR)&IMESoftKeyWindows&,&SoftKey&,    WS_POPUP, // 弹 出 子 窗 口    rcKEY.left,rcKEY.top, // 窗 口 左 上 角    KeyWi,KeyHi, // 窗 口 宽 和 高    hIMEWnd, //IME 主 窗 口 句 柄    NULL,    hInstance, // 实 例 句 柄    NULL);   2、 定 义 软 键 盘 字 符 串 资 源。 在RC 资 源 文 件 中 定 义 软 键 盘 显 示 和 转 换 所 必 须 的 字 符 串 资 源, 每 个 键 位 对 应 的 字 符 为 2 个 字 节 宽, 应 包 括 普 通 按 键 状 态 和 换 档 键 状 态 两 个 字 符 串 资 源 表。 笔 者 定 义 的 标 准PC 软 键 盘 和 中 文 数 字 符 号 软 键 盘 的 字 符 串 资 源 如 下:   “` 1 2 3 4 5 6 7 8 9 0 - = q w e r t y u i o p [ ] ' z x c v b n m , . / ”,   “~ ! @ # $ % ^ & * ( ) _ + Q W E R T Y U I O P { } | A S D F G H J K L : Z X C V B N M && ? ”,   “ 1 2 3 4 5 6 7 8 9 0 - = ⒈ ⒉ ⒊ ⒋ ⒌ ⒍ ⒎ ⒏ ⒐ ⒑ ⒒ ⒓ ⒔ ⒕ ⒖ ⒗ ⒘ ⒙ ⒚ ⒛ ① ② ③ ④ ⑤ ⑥ ⑦ ⑧ ⑨ ⑩ 壹 贰 叁 肆 伍”,   “ Ⅰ Ⅱ Ⅲ Ⅳ Ⅴ Ⅵ Ⅶ Ⅷ Ⅸ Ⅹ Ⅺ Ⅻ ⑴ ⑵ ⑶ ⑷ ⑸ ⑹ ⑺ ⑻ ⑼ ⑽ ⑾ ⑿ ⒀ ⒁ ⒂ ⒃ ⒄ ⒅ ⒆ ⒇ ㈠ ㈡ ㈢ ㈣ ㈤ ㈥ ㈦ ㈧ ㈨ ㈩ 陆 柒 捌 玖 拾”,   3、 自 绘 软 键 盘 中 的 按 键。 根 据 上 述 定 义 的 软 键 盘 窗 口 和 其 中 的 按 键 矩 形 区 域, 利 用Windows 下 的 绘 图 函 数 可 以 自 绘IME 软 键 盘 窗 口 和 相 应 的 按 钮。 软 键 盘 按 钮 需 要 弹 出 和 按 下 两 种 状 态, 因 此 需 要 实 现 两 个 绘 制 函 数, 笔 者 实 现 的 弹 出 按 键 绘 制 函 数 如 下:   void DrawConvexRect(HDC hDC,int x1,int y1,int x2,int y2)   { // 绘 制 弹 出 按 钮,HDC 为 软 键 盘 窗 口 设 备 描 述 表   SelectObject(hDC,GetStockObject(BLACK_PEN));   SelectObject(hDC, GetStockObject(NULL_BRUSH));   Rectangle(hDC,x1,y1,x2,y2);   SelectObject(hDC,GetStockObject(WHITE_PEN));   MoveTo(hDC,x1+1,y1+1);   LineTo(hDC,x2-1,y1+1);   MoveTo(hDC,x1+1,y1+1);   LineTo(hDC,x1+1,y2-1);    SelectObject(hDC,hLtPen);// 灰 色 笔    MoveTo(hDC,x2-2,y2-2);    LineTo(hDC,x2-2,y1+1);    MoveTo(hDC,x2-2,y2-2);    LineTo(hDC,x1+1,y2-2);   }   4、 软 键 盘 中 按 键 内 容 的 显 示。 通 过 建 立 不 同 的 字 体 和 字 型, 利 用Windows 下 的 字 符 显 示 函 数TEXTOUT() 就 可 以 将 资 源 字 符 串 中 的 内 容 显 示 在 软 键 盘 中 按 键 的 合 适 位 置:   hfont=CreateFont(-12,0,0,0,0,0,0,0,0,0,0,0,0,“ 宋 体”);   TextOut(hDC,KeyId[53].left+6,KeyId[53].top+8,    &Esc&,3);   5、 定 义 软 键 盘 控 制 按 钮。 由 于 软 键 盘 具 有 打 开 和 关 闭 两 种 状 态, 因 此 需 要 利 用 位 图 编 辑 器 绘 制 按 下 和 弹 出 两 幅 位 图。 首 先 在RC 资 源 文 件 中 定 义 位 图 按 钮 的 位 置 矩 形 区 域 和 位 图 资 源 文 件:    key1 BITMAP key1.bmp    key2 BITMAP key2.bmp    然 后 在 主 窗 口 函 数 中 利 用LoadBitmap() 函 数 调 入 位 图 资 源, 并 利 用BitBlt() 函 数 显 示 位 图:    hBit = LoadBitmap(hInstance,“key1”);    hOldBitmap=SelectObject(hMemDC,hBit);    BitBlt(hDC,rcBit.left,rcBit.top,px,py,hMemDC,    0,0,SRCCOPY);    SelectObject(hMemDC,hOldBitmap);    最 后 通 过 捕 捉 鼠 标 操 作 来 控 制 不 同 位 图 状 态, 从 而 实 现 软 键 盘 控 制 按 钮。   6、 利 用 消 息 控 制 软 键 盘 的 打 开 与 关 闭。 在 上 述 软 键 盘 控 制 按 钮 处 捕 捉 鼠 标 操 作 后, 可 以 直 接 利 用Windows 中 的 消 息 控 制 软 键 盘 的 打 开 与 关 闭:    打 开 软 键 盘:   ShowWindow(hIMEKeyWnd, SW_SHOWNOACTIVATE);    关 闭 软 键 盘:   ShowWindow(hIMEKeyWnd,SW_HIDE);   7、 通 过 捕 捉 鼠 标 操 作 来 实 现 软 键 盘 按 键。 由 于 将 软 键 盘 中 所 有 按 键 均 设 置 成 相 应 的 矩 形 区 域, 所 以 在 软 键 盘 鼠 标 函 数 中 很 容 易 利 用WM_LBUTTONDOWN 消 息 捕 捉 鼠 标 点 击 在 哪 个 按 键 上, 鼠 标 点 击 位 置 确 定 后 再 利 用 按 键 绘 制 函 数 绘 制 相 应 状 态 的 按 键, 同 时 取 得 软 按 键 中 的 相 应 字 符 发 送 给 应 用 程 序 即 完 成 按 键 过 程。   WINNLS.DLL 中 的 字 符 串 发 送API 函 数 包 括 以 下 三 个:   WINNLSSendString(HWND,WORD,LPVOID);   WINNLSPostAppMessage(HWND,UINT,WPARAM,LPARAM);   WINNLSSendAppMessage(HWND,UINT,WPARAM,LPARAM);   8、 自 制 软 键 盘 的 拖 动 功 能。 在 上 述 捕 捉 鼠 标 操 作 过 程 中, 如 果 鼠 标 未 点 击 在 任 何 软 键 盘 中 的 按 键 上, 就 可 以 确 定 鼠 标 点 击 在 软 键 盘 窗 口 的 非 客 户 区 域 内, 这 时 在WM_MOUSEMOVE 消 息 中 利 用 跟 踪 鼠 标 的 移 动 过 程, 通 过 自 制 软 键 盘 窗 口 的 拖 动 框 跟 踪 鼠 标, 最 后 在WM_LBUTTONUP 消 息 中 利 用MoveWindow() 移 动 软 键 盘 窗 口, 完 全 可 以 实 现 鼠 标 拖 动 软 键 盘 的 功 能。 拖 动 框 的 绘 制 函 数 如 下:    void DrawMoveRect(int xx1,int yy1,int xx2,int yy2,int xy)    { HDC    int oldrop2,i,j,x1,x2,y1,y2;    hdc=GetDC(NULL);    oldrop2=GetROP2(hdc);    SetROP2(hdc,R2_XORPEN);    for (j=0;j    x1=xx1-j;    x2=xx2+j;    y1=yy1-j;    y2=yy2+j;    for (i=x1;i    SetPixel(hdc,i,y1,RGB(255,0,0));    for (i=y1;i    SetPixel(hdc,x2,i,RGB(255,0,0));    for (i=x2;i&x1;i-=2)    SetPixel(hdc,i,y2,RGB(255,0,0));    for (i=y2;i&y1;i-=2)    SetPixel(hdc,x1,i,RGB(255,0,0));}    SetROP2(hdc,oldrop2);    ReleaseDC(NULL,hdc);    }    在 软 键 盘 的 拖 动 过 程 中, 应 注 意 擦 除 上 次 显 示 的 软 键 盘 虚 框, 同 时 利 用SetCapture(hIMEKeyWnd) 函 数 不 断 获 取 鼠 标 输 入, 最 后 还 要 利 用ReleaseCapture() 函 数 释 放 鼠 标 输 入 焦 点。   9、 实 现 软 键 盘 中 的 特 殊 按 键 控 制。 鼠 标 点 击 软 键 盘 中 的 按 键 后, 普 通 按 键 只 需 直 接 取 得 相 应 字 符 后 发 送 给 应 用 程 序, 而 特 殊 的 按 键 如CapsLock 和Shift 等 则 不 能 使 用 这 种 方 法, 必 须 利 用SetKeyboardState() 函 数 来 控 制, 如SHIFT 控 制 的 方 法 如 下:   GetKeyboardState((LPBYTE)&lpKeyState);   // 取 得 键 盘 状 态   lpKeyState[VK_SHIFT]^=0x80;   // 改 变SHIFT 键 状 态   SetKeyboardState((LPBYTE)&lpKeyState);   // 设 置 键 盘 状 态   10、 利 用 键 盘 端 口 低 级 控 制 将 鼠 标 点 击 软 键 盘 的 消 息 转 换 为 特 殊 符 号。 以 上 实 现 的 软 键 盘 只 能 在 中 文Windows 3. X 下 使 用, 而 中 文Windows 95 中 由 于 增 加 了 动 态 链 接 库 主 模 块DLLMAIN, 在 汉 字 支 持 核 心 模 块WINNLS. DLL 中 将 键 盘 按 键 划 分 为 普 通 键、 系 统 键、 功 能 键 和 特 殊 键, 只 有 按 下 普 通 按 键 后DLLMAIN() 初 始 化 模 块 中dwReason 参 数 才 设 置 允 许 使 用 字 符 串 发 送API 函 数 标 志。 由 于 软 键 盘 中 只 进 行 了 鼠 标 操 作, 所 以 在Windows 95 下 使 用 上 述 的 软 键 盘 输 入 时 就 会 出 现“ 程 序 在 执 行 到.DLL 文 件 的 非 法 动 态 链 接 调 用” 错 误。 笔 者 通 过 利 用 直 接 控 制 键 盘 端 口64H 和60H 的 方 法, 在 鼠 标 点 击 软 键 盘 的 按 键 后 直 接 控 制 物 理 键 盘 产 生 普 通 按 键 消 息 来“ 欺 骗”Windows 95, 让 它 认 为 是 物 理 键 盘 按 键 操 作, 控 制 方 法 如 下:    if(sImeG.WinVer&=0x35f)    {// 中 文Windows95 下 端 口 操 作    while(inp(0x64)&02){;}    outp(0x64,0xab); // 或 者 用0xaa 命 令    } else {// 中 文Windows3.X 下 端 口 操 作    while(inp(0x64)&02){;}    outp(0x60,0xee); // 利 用0xee 命 令    }    同 时 设 置 软 键 盘 按 键 标 志 单 元, 主 窗 口 函 数 在 处 理 产 生 的 消 息 时 就 可 以 根 据 标 志 单 元 内 容 取 得 软 键 盘 按 键 字 符 或 特 殊 符 号, 并 利 用WINNLS.DLL 中 的 字 符 串 发 送API 函 数 发 送 给 活 动 的 应 用 程 序。    以 上 所 述 是 在 中 文Windows 95 下 开 发 自 己 的 标 准PC 软 键 盘 和 特 殊 符 号 软 键 盘 的 关 键 技 术。    1、 使 软 键 盘 始 终 处 于 最 顶 层。 在 软 键 盘 窗 口 鼠 标 函 数 中 合 理 使 用SetWindowPos() 函 数, 可 以 使 软 键 盘 始 终 处 于 最 顶 层。 笔 者 使 用 该 函 数 的 方 法 如 下:    SetWindowPos(hIMEKeyWnd,HWND_TOPMOST,0,0,0,0,SWP_    NOMOVE|SWP_NOSIZE|SWP_NOREDRAW|SWP_NOACTIVATE);    2、 实 现 软 键 盘 的 动 态 鼠 标 光 标 控 制 等 功 能。 在 资 源 文 件 中 定 义 鼠 标 光 标 资 源 文 件.CUR, 在 软 键 盘 窗 口 建 立 时 利 用LoadCursor() 函 数 装 入 鼠 标 光 标 资 源, 并 在 软 键 盘 窗 口 类 中 定 义 装 入 的 鼠 标 光 标, 这 就 可 以 直 接 控 制 鼠 标 在 软 键 盘 窗 口 中 的 光 标 形 状。 还 可 以 利 用SetCursor() 函 数 设 置 另 外 的 鼠 标 光 标 形 状, 如 非 客 户 区 域 中 的 移 动 光 标 形 状, 实 现 动 态 的 鼠 标 光 标 控 制 功 能。
上一篇:静态成员 下一篇:拷贝位图到剪切板  热门文章1.C 语言基础教程(我的C之旅开始了)[六] 2.在单文档程序中动态切换多个窗体 &a href=&&&&/a&编译的dos程序和vc编译的win32控制台程序...4.C 语言基础教程(我的C之旅开始了)[九] 5.C 语言基础教程(我的C之旅开始了)[三] 6.C 语言基础教程(我的C之旅开始了)[五] 7.C 语言基础教程(我的C之旅开始了)[十] 8.C 语言基础教程(我的C之旅开始了)[八] 9.C 语言基础教程(我的C之旅开始了)[二] 10.C语言WinSock学习笔记第1/2页 11.C 语言基础教程(我的C之旅开始了)[四] 12.C 语言基础教程(一)颜色加亮 13.转换日期 14.C 语言基础教程(我的C之旅开始了)[七] 15.对struct使用memcpy等函数 &a href=&&&&/a& Completion Port 17.Cell报表控件成功应用于汽车零配件销售企业...&a href=&&&&/a&++网络编程 &a href=&&&&/a& WinExec打开指定程序或者文件的方法 &a href=&&&&/a&数据库编程中的打印控制
推荐信息[商业源码]湖南某软件公司商业POS通系统(Delphi)[商业源码]某医院HIS管理系统(Delphi)[商业源码]惠特ERP管理系统(VB)[商业源码]某指纹考勤管理系统(Delphi)[商业源码]某市公路运输管理系统(.NET)[商业源码]某大型商业连锁系统(PB)[商业源码]某网络营销软件(VB)[商业源码]新中大财务管理系统(PB)[商业源码]SUNSHINE医院管理系统(PB)[商业源码]大型WEB进销存系统(ASP)[商业源码]某企业大型ERP系统(VB)[商业源码]大型企业内部管理系统(VB)[商业源码]伯乐人力资源管理系统2000(VB)[商业源码]邮件管理与群发系统(VB)[商业源码]报表设计系统2000(VB)
请登录后再发表评论!
 函数功能:该函数检索预定义的备用笔、刷子、字体或者调色板的句柄。  函数原型:HGDIOBJ GetStockObject(int fnObject);  参数:  fnObject:指定对象的类型,该参数可取如下值之一;  BLACK_BRUSH:黑色画笔;DKGRAY_BRUSH:暗灰色画笔;DC_BRUSH:在Windows98,Windows NT 5.0和以后版本中为纯颜色画笔,缺省色为白色,可以用SetDCBrushColor函数改变颜色,更多的信息参见以下的注释部分。 GRAY_BRUSH:灰色画笔;HOLLOW_BRUSH:空画笔(相当于HOLLOW_BRUSH);  LTGRAY_BRUSH:亮灰色画笔;NULL_BRUSH:空画笔(相当于HOLLOW_BRUSH);  WHITE_BRUSH:白色画笔;BLACK_PEN:黑色钢笔;  DC_PEN:在Windows98、Windows NT 5.0和以后版本中为纯色钢笔,缺省色为白色,使用SetDCPenColor函数可以改变色彩,更多的信息,参见下面的注释部分。  WHITE_PEN:白色钢笔;ANSI_FIXED_FONT:在Windows中为固定间距(等宽)系统字体;  ANSI_VAR_FONT:在Windows中为变间距(比例间距)系统字体;  DEVICE_DEFAUCT_FONT:在WindowsNT中为设备相关字体;  DEFAULT_GUI_FONT:用户界面对象缺省字体,如菜单和对话框;  OEM_FIXED_FONT:原始设备制造商(OEM)相关固定间距(等宽)字体;  SYSTEM_FONT:系统字体,在缺省情况下,系统使用系统字体绘制菜单,对话框控制和文本;  SYSTEM_FIXED_FONT:固定间距(等宽)系统字体,该对象仅提供给兼容16位Windows版本;  DEFAULT_PALETTE:缺省调色板,该调色板由系统调色板中的静态色彩组成。  返回值:如果成功,返回值标识申请的逻辑对象,如果失败,返回值为NULL。  WindowsNT:若想获得更多错误信息,请调用GetLastError函数。  注释:仅在CS_HREDRAW和CS_UREDRAW风格的窗口中使用DKGRAY_BRUSH、GRAY_BRUSH和LTGRAY_BRUSH对象。  如果在其他风格的窗口中使灰色画笔,可能导致在窗口移动或改变大小之后出现画笔模式错位现象,原始储存画笔不能被调整。  HOLLOW_BRUSH和NULL_BRUSH储存对象相等。  由DEFAULT_GUI_FONT储存对象使用的字体将改变。当想使用菜单、对话框和其他用户界面对象使用的字体时请使用此储存对象。  不必要通过调用DeleteObject函数来删除储存对象。  Windows 98、Windows NT 5.0和以后版本:DC_BRUSH和DC_PEN都能与其他储存对象如BLACK_BRUSH和BLACK_PEN相互交换关于检索当前钢笔和画笔颜色的信息,请参见GetDCBrushColor和GetDCPencolor,带DC BRUSH或DC PEN参数的Getstockobject函数可以与SetDCPenColor和SetDCBrushColor函数相互交换使用。  Windows CE:Windows CE不支持fnObject参数的如下值:  ANSI_FIXED_FONT、ANSI_VAR_FONT、OEM_FIXED_FONT、SYSTEM_FIXED_FONT  Windows CE1.0版本不支持fnObject的DEFAULT_PALETTE值。  速查:Windows NT:3.1及以上版本;Windows:95及以上版本;Windows CE:1.0及以上版本;头文件:wingdi.h;头文件:gdi32.lib。
请登录后再发表评论!}

我要回帖

更多关于 xp系统32位怎么换64位 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信