得到最前端AP的名称

   PC上和WCE上对于获取最前端AP的名称方法不同。

   PC上的做法:
TCHAR szApName[MAX_PATH];
TCHAR szExeName[MAX_PATH]
={0};
HWND hWnd 
= ::GetForegroundWindow();
HMODULE hModule 
= (HMODULE)GetClassLong(hWnd, GCL_HMODULE);
if(hModule!=NULL)
{
    
if(GetModuleFileName(hModule, szApName, MAX_PATH))
    
{
        
// here got the ap name: szApName
    }

}



   WCE上的做法:
TCHAR szApName[MAX_PATH];
TCHAR szExeName[MAX_PATH]
={0};
HWND hWnd 
= ::GetForegroundWindow();
DWORD dwProcessID
=0;
::GetWindowThreadProcessId(hWnd,
&dwProcessID);
HANDLE hProcess 
= OpenProcess(00, dwProcessID);
if(hProcess!=NULL)
{
    
if(GetModuleFileName((HMODULE)hProcess, szApName, MAX_PATH))
    
{
        
// here got the ap name: szApName
    }


    CloseHandle(hProcess);
}


   这里可以看出,差别在于获得Process的句柄上,由于PPC上不支持GetClassLong函数对于GCL_HMODULE参数的定义,所以才有这样的差别。

posted on 2008-05-26 11:29 迷宫の未来 阅读(521) 评论(0)  编辑 收藏 引用


只有注册用户登录后才能发表评论。
网站导航: 博客园   IT新闻   BlogJava   博问   Chat2DB   管理


<2014年5月>
27282930123
45678910
11121314151617
18192021222324
25262728293031
1234567

导航

统计

常用链接

留言簿(10)

随笔档案

文章档案

最新随笔

搜索

积分与排名

最新随笔

最新评论

阅读排行榜

评论排行榜