如何在程序中得到操作系统中另外一个进程的句柄???
我现在做的是WinHelp帮助文档,因为调用WinHelp时系统自动创建一个进程,即自动调用另外的应用程序(就象打开Word去打开Word文档一样),我的工作是对调用WinHelp后系统自动创建的窗口进行控制,所以我必须先在操作系统中得到该进程的句柄,在得到相应的主窗口的句柄才能完成上头交代下来的任务,请高手们指点。
绝对加分!很急啊!
问题点数:100、回复次数:9Top
1 楼pzone(见分眼红)回复于 2002-02-18 09:50:16 得分 10
这样的问题早有回答,你搜一下Top
2 楼joshua0137(joshua)回复于 2002-02-18 11:34:20 得分 10
does FindWindowEx() work?Top
3 楼cc8410(如果哪一天我被CSDN封了ID,兄弟们一定要给我伸冤)回复于 2002-02-18 11:43:50 得分 20
先用FindWindow获得窗口句柄,再将句柄传入GetWindowThreadProcessId获取进程ID,再用OpenProcess获得进程句柄.Top
4 楼Fnoopy(编得程序,抱得美女。)回复于 2002-02-18 11:45:49 得分 15
如果你是用createprocess等函数调用winhelp的话返回的就是进程的句柄。Top
5 楼cc8410(如果哪一天我被CSDN封了ID,兄弟们一定要给我伸冤)回复于 2002-02-18 11:46:11 得分 15
建议你看一下,机工的《现代操作系统》,里面的PROCESS和THREAD很精彩Top
6 楼strip(阿飞 - Mozilla●CSDN●痛)回复于 2002-02-18 20:40:15 得分 15
对阿,用CreateProcess来启动winhelp, 然后CreateProcess就会返回进程句柄Top
7 楼heweixing_77(何足道)回复于 2002-02-20 19:54:32 得分 0
真是遗憾,普通的方法根本就不行,我试过很多方法,我想问一下高手们如何用EnumProcesses和EnumWindows以及相应的回调函数.Top
8 楼werther()回复于 2002-02-20 20:40:29 得分 15
最好不要用EnumWindows and EnumProcesses, 因为你并不能判断是不是你的程序的帮助窗口, 或者用户到底开了几个帮助. 一般是用CreateProcess的.Top
9 楼heweixing_77(何足道)回复于 2002-02-21 19:44:26 得分 0
楼上的同志说的有道理,我现在得到了该进程的句柄,但如何在程序中获得对应的窗口的句柄呢?请高手指点。Top




