模糊查找进程,获得Excel进程句柄.获得标题不定进程的句柄?
通常我们建立一个Excel进程用的是:
Ex=Variant::CreateObject("Excel.Application");
但是想使用已有的Excel进程,那就用:
try
{
HWND hPrevApp = ::FindWindow(NULL,"Microsoft Excel");//问题是旧进程的标题不一定是"Microsoft Excel",有可能是:"Microsoft Excel - Book1.xls",如何获得不定标题的Excel进程句柄?
if(!hPrevApp)
{
Ex=Variant::CreateObject("Excel.Application");
}
else
{
Ex=Variant::GetActiveObject("Excel.Application");
}
}
问题是旧进程的标题不一定是"Microsoft Excel",有可能是:"Microsoft Excel - Book1.xls",如何获得不定标题的Excel进程句柄?
问题点数:120、回复次数:6Top
1 楼lurel(城市陌生人)回复于 2006-03-16 11:22:59 得分 100
“XLMAIN”是Excel主窗口的Class Name,用Spy++看
HWND hPrevApp = ::FindWindow("XLMAIN",0);Top
2 楼kwokwinglau(每天前进1%)回复于 2006-03-16 11:24:33 得分 0
自己占头坑Top
3 楼kwokwinglau(每天前进1%)回复于 2006-03-16 11:26:02 得分 0
lurel是有史以来CSDN上最活跃的份子.Top
4 楼lurel(城市陌生人)回复于 2006-03-16 11:28:11 得分 0
嘿嘿,无聊的时候这是打发时间的一种方式Top
5 楼kwokwinglau(每天前进1%)回复于 2006-03-16 11:33:53 得分 0
俺试过,还行.再看一下其他人的意见,集思广益.Top
6 楼caizhen2000_82(猛将兄!!!)回复于 2006-03-16 11:43:17 得分 20
获得句柄可以通过类名或标题获得
用老妖网站上的SP++看看,很好用,好像VC也有
还有楼主可以看看FindWindow的帮助
Top




