首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > VC/MFC >

获取其他窗口句柄 结束其他进程等有关问题

2014-07-09 
获取其他窗口句柄 结束其他进程等问题?我这有一个程序,是JAVA写的,窗口上有一个按钮,我现在需要向这个按钮

获取其他窗口句柄 结束其他进程等问题?
我这有一个程序,是JAVA写的,窗口上有一个按钮,我现在需要向这个按钮发送点击的消息,获取不到句柄,结果用SPY++查看,居然只有父窗口,我就以为它是画上去的,所以向其父窗口发送鼠标的各种消息,坐标试了好多,可是它全都没有响应,这是怎么回事,除了画上去的还有没有其他可能?

还是这个程序,我需要强制结束他,所以就采取结束进程的方法,可是进程成功结束掉了,窗口居然还在,而且还能正常的操作,这是什么情况?是隐藏进程吗?它正常情况下是隐藏的,我如果获取到隐藏窗口的句柄向其发送WM_CLOSE消息呢?

这两个问题困扰了多天,因为天天很忙,而且这也不是工作,所以一直放着没解决,但天天一想到这就头痛,所以特地上来请教各位。

[解决办法]
它有守护进程?
[解决办法]
结束了进程,窗口还在...

确定结束对了?
[解决办法]
1.你是不是结束的是子进程啊?父进程还在所以窗体还在呀

我上一段老代码,扫描进程,从进程获得句柄从而关闭。

这个是我以前写的监测程序,pe32保存着进程信息,从中获得句柄发送WM_CLOSE看看

C/C++ code
int MyWatch(char * thread_name){    PROCESSENTRY32 pe32;    char * mychar;    BOOL bstart=TRUE;    HANDLE hProcessSnap;    while(1)    {        pe32.dwSize=sizeof(pe32);        hProcessSnap=::CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS,0);        if(hProcessSnap==INVALID_HANDLE_VALUE)        {            printf("CreateToolhelp32Snapshot调用失败!\n");            return -1;        }        //遍历进程快照。轮流显示每个进程的信息            bstart = TRUE;        BOOL bMore=::Process32First(hProcessSnap,&pe32);        while(bMore)        {            USES_CONVERSION; //启用宏命令标记                mychar = W2A(pe32.szExeFile);            if(0==strcmp(thread_name,mychar)) //比较你的进程名字是否相同,判断是否进程在启动            {                printf("你的程序在运行!");                bstart = FALSE;                break;            }//                     printf("进程名称:%s\n",W2A(pe32.szExeFile));//                     printf("进程ID号:%u\n\n",pe32.th32ProcessID);                    bMore=::Process32Next(hProcessSnap,&pe32);        }        if(bstart)        {            ShellExecute(0, _T("open"), _T("D:\\result.txt"),NULL,NULL,SW_SHOWNORMAL); //启动你要的exe文件,D:\\result.txt是我自己的测试        }                Sleep(5000);//5秒监测一次    }    //清除snapshot对象    ::CloseHandle(hProcessSnap);    return 0;}
[解决办法]
估计有多个进程,你没有结束干净.
[解决办法]
TerminateProcess也结束不了?
[解决办法]
如果窗口还在,说明你没结束对。可以在任务管理器里选中那个窗口,右键菜单里选“转到进程”,看看是不是进程没有结束。或者用GetWindowThreadProcessId获取到窗口的进程ID,进一步结束

热点排行