找回密码
 加入我们

QQ登录

只需一步,快速开始

搜索
查看: 4674|回复: 1

[开源] 把当前 focus 所在窗口的输入法状态设为中文

[复制链接]

1214

主题

352

回帖

11

精华

管理员

菜鸟

积分
93755

贡献奖关注奖人气王精英奖乐于助人勋章

发表于 2011-3-19 00:20:08 | 显示全部楼层 |阅读模式
  1. HWND hWnd = GetForegroundWindow();
  2. ASSERT(IsWindow(hWnd))

  3. // Get Target Thread ID and Attach Thread Input
  4. DWORD ProcID;
  5. DWORD ThreadID = GetWindowThreadProcessId(hWnd, &ProcID);
  6. AttachThreadInput(GetCurrentThreadId(), ThreadID, TRUE);

  7. // Get Target Window
  8. HWND hWndFocus = GetFocus();

  9. // Post Input Messages
  10. ASSERT(IsWindow(hWndFocus));

  11. // Change Input Language
  12. PostMessage(hWndFocus, WM_INPUTLANGCHANGEREQUEST, (WPARAM)TRUE, (LPARAM)g_hklRPC);   // Use Language ID 0x0804(Chinese PRC)

  13. // Detach Thread Input
  14. AttachThreadInput(GetCurrentThreadId(), ThreadID, FALSE);
复制代码
【VB】QQ群:1422505加的请打上VB好友
【易语言】QQ群:9531809  或 177048
【FOXPRO】QQ群:6580324  或 33659603
【C/C++/VC】QQ群:3777552
【NiceBasic】QQ群:3703755

0

主题

3

回帖

0

精华

初来乍到

积分
27
发表于 2011-3-19 10:52:28 | 显示全部楼层
还是C++? 希望楼主该成易语言
您需要登录后才可以回帖 登录 | 加入我们

本版积分规则

快速回复 返回顶部 返回列表