主题:  急!关于调用ScreenCam的问题,请高手帮忙! 谢谢!

deming

职务:普通成员
等级:1
金币:0.0
发贴:7
#12002/1/8 17:06:00
我在程序中调用了Screencam的可执行演示文件,如何在他执行时隐藏ScreenCam窗口,并在他执行完毕后关闭Screencam窗口。要不然,Screencam执行完毕后窗口依然显示着。就没有办法运行别的Screencam演示了,急死我了。 请高手指教,多谢多谢!



syzy

职务:普通成员
等级:1
金币:4.0
发贴:131
#22002/1/11 8:34:19
这里要用到几个winapi函数,先从winapi.u32中加载FindWindow、ShowWindowAsync和PostMessage三个外部函数。
先用handle=FindWindow( LPCSTR lpClassName , LPCSTR lpWindowName)获得Screencam的句柄,其中第一个参数是窗口类名,第二个参数是应用程序的标题,即窗口显示的标题。两个参数也可以设置为0,表示接收任何类和任何标题。关于类名,老张有个《类观察器》,可以获得类名,但要收费的哦!如果第一次使用可以在安装前先把日期改到2000年10月1日以前,可以试用,但如果在第一次使用之后再改日期可就不行了。
用ShowWindowAsync( Handle, 0)隐藏窗口,其中Handle即前面获得的句柄,后面的参数你可以自己改一下,1、2、3……,看看哪种情况适合你需要。
演示完后在AW中用PostMessage(handle,274,61536,0)关闭指定的窗口,其中handle是该窗口的句柄。



syzy

职务:普通成员
等级:1
金币:4.0
发贴:131
#32002/1/11 11:03:06
如果ShowWindowAsync不好用,用PostMessage(Handle,274, 61472,0)可以将指定窗口最小化。



deming

职务:普通成员
等级:1
金币:0.0
发贴:7
#42002/1/11 16:30:35
非常管用,万分感谢! 还有一问题请教。我的演示运行开始时Windows 的任务栏不能隐藏。请问如何隐藏任务栏?



syzy

职务:普通成员
等级:1
金币:4.0
发贴:131
#52002/1/11 16:32:41
SetWindowPos( wnd, 0, 0, 0, 0, 0, 128)--隐藏任务栏
SetWindowPos( wnd, 0, 0, 0, 0, 0, 64)--恢复任务栏



deming

职务:普通成员
等级:1
金币:0.0
发贴:7
#62002/1/11 16:54:19
呵呵,可是我怎么获得任务栏呢? 就是那个参数wnd