H hnsqwfm Unregistered / Unconfirmed GUEST, unregistred user! 2009-03-04 #1 我做了个小程序,作用是:按某个键(如+号)就自动生成一个文本文件.现在的问题是:按过+号了,也自动生成文件了,但这个+号键本身没有起做用,如我在记事本里输了个+,它只调用了程序,并不出+号.而且当前窗口的焦点也没有了.我想让它生成文件后,本身也起作用.即再出个+多谢..........
我做了个小程序,作用是:按某个键(如+号)就自动生成一个文本文件.现在的问题是:按过+号了,也自动生成文件了,但这个+号键本身没有起做用,如我在记事本里输了个+,它只调用了程序,并不出+号.而且当前窗口的焦点也没有了.我想让它生成文件后,本身也起作用.即再出个+多谢..........
H hnsqwfm Unregistered / Unconfirmed GUEST, unregistred user! 2009-03-04 #3 我没有用到hookproc这个过程呀.我是在TForm1.HotKeyDown里用的判断按键.
草 草原骏马 Unregistered / Unconfirmed GUEST, unregistred user! 2009-03-04 #4 不知你是否使用了热键,如果是确实存在你说的“它只调用了程序,并不出+号”。但不会失去焦点。是不是你的热键注册不正确。
H hnsqwfm Unregistered / Unconfirmed GUEST, unregistred user! 2009-03-04 #5 我用了热键,是单个热键,应该注册正常,因为程序执行了,证明注册没问题.就是程序执行时取得了焦点,造成当前windows窗口失去了焦点.热键对于windows窗口没有起作用.
草 草原骏马 Unregistered / Unconfirmed GUEST, unregistred user! 2009-03-04 #6 GetCurrentThreadId(); GetForegroundWindow();AttachThreadInput()GetWindowThreadProcessId();GetFocus();这几个函数对你是有用的。在你的程序里调用这几个函数,获取当前焦点窗口的句柄和进程号,处理好你要做的事。
GetCurrentThreadId(); GetForegroundWindow();AttachThreadInput()GetWindowThreadProcessId();GetFocus();这几个函数对你是有用的。在你的程序里调用这几个函数,获取当前焦点窗口的句柄和进程号,处理好你要做的事。