如何运行程序时做某件事(VB)答得好,再加50分

来源:百度知道 编辑:UC知道 时间:2024/05/09 10:52:05
因为打现word是输入法自动变为拼音的,我用VB做一个程序,让程序在活动的时候,如果在这时我打开word让输入法自动转变五笔,应该用sendkeys方法吧,关键是怎么写一个程序运行时触发的事件,高手请答之.
谢谢!
sendkeys{"shift"+"ctrl"}不就行了吗
那个动态检测要怎么写?

sendkeys{"shift"+"ctrl"}?发送几次呢?不好控制阿。

动态监测:
Public Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long

private sub Timer1_timer()
Dim Handle As Integer
Handle = FindWindow("Microsoft Word",vbNullString)
if handle then
sendkeys(你的方法)
end if
end sub

VB可不能响应外部程序加载的事件啊,呵呵,只能自己写程序动态检测了,使用timer控件定时执行检测,检测方法可以是进程枚举CreateToolhelp32Snapshot,也可以是窗体搜索FindWindowEx,当然窗体搜索要容易一些

我倒觉得切换输入法是关键,你说用sendkeys实现?怎么实现呢?直接sendkeys "^{BREAK}"?这样只能打开中文输入法,你怎么把输入法确定成五笔的呢?我感觉这个有难度

运行时触发的事件?这个是关键??
load事件就是在 加载时(一运行时) 就触发的啊~~~

HOOK