如何获得当前活动窗口的标题,这个窗口不是本程序的主窗口?用SDK 如何获得当前活动窗口的标题,这个窗口不是本程序的主窗口?还有就是如何在一个程序中结束另一个程序的窗口。而我的传入参数为窗口对应的可执行程序的绝对路径。怎么实现?谢了! 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 GetForegroundWindow() 得到当前活动窗体。SendMessage( hwnd,WM_CLOSE ..) 关闭一个窗体。 1.获取标题:char buf[MAX_PATH];HWND hwnd = GetForegroundWindow();GetWindowText(hwnd, buf, MAX_PATH);2.不懂 2. 用FindWindow();找到你要关闭的窗口 然后SendMessage(hwnd //findwindow返回的窗口句柄, WM_CLOSE, NULL, NULL); 1. EnumProcesses 获得所有进程的 ID.2. OpenProcess 通过 ID 获得进程的 HANDLE3. GetModuleFileName 通过 HANDLE 获得绝对路径名.4. 与你的绝对路径参数相比较.5. 如果相同, TERMINATEPROCESS(), CLOSEHANDLE(), 结束6. 如果不同, CLOSEHANDLE(), 比较下一个________只是猜测, 不保证可行. 另外, 取得所有进程HANDLE的方式也有许多种. bcpl(林平之) :你的方法很好,顺便问一下: int giCountWin = 0; EnumWindows( (WNDENUMPROC)EnumWindowsProc,0); for ( int j = 0; j<giCountWin; j++) { if ( strcmp(gWinList[j].cWinBuf,"警告") == 0 ) { ::PostMessage( gWinList[j].hWnd,WM_CLOSE,0,0); break; } }其中 “警告”是一个消息框的标题名称,代码如下:MessageBox(hwnd,s,"警告",MB_ICONWARNING+MB_YESNO+MB_DEFBUTTON2);为何关闭不了呢? 得到当前活动窗体。char buf[MAX_PATH];HWND hwnd = GetForegroundWindow();GetWindowText(hwnd, buf, MAX_PATH);SendMessage( hwnd,WM_CLOSE ..) 关闭一个窗体。 如果要关闭一个本程序的消息框用什么方法?弹出消息框后立即成为最前台的窗口,又应用什么方法?Thanks! 不明白内存修改器是个什么原理,求解释,谢谢 苦恼!!! 怎么用CSocket发送图片? 请教多线程中对GDI操作的问题,在多线程中调用SetWindowText出错 很难? 如何通过应用程序代码,使得程序在管理员登陆之前就能自动运行 关于同步和异步的问题! 如何处理没有鼠标键盘的消息? 请问如何解决Updata(false)的局部刷新问题,急~~~~~~~~ 请问在VC6.0(ODBC)+SQLSERVER7.0的程序中怎样执行带返回值的sql语句??? 程序调试问题 那里能找到matcom
SendMessage( hwnd,WM_CLOSE ..) 关闭一个窗体。
char buf[MAX_PATH];
HWND hwnd = GetForegroundWindow();
GetWindowText(hwnd, buf, MAX_PATH);2.不懂
2. OpenProcess 通过 ID 获得进程的 HANDLE
3. GetModuleFileName 通过 HANDLE 获得绝对路径名.
4. 与你的绝对路径参数相比较.
5. 如果相同, TERMINATEPROCESS(), CLOSEHANDLE(), 结束
6. 如果不同, CLOSEHANDLE(), 比较下一个
________
只是猜测, 不保证可行. 另外, 取得所有进程HANDLE的方式也有许多种.
你的方法很好,顺便问一下:
int giCountWin = 0;
EnumWindows( (WNDENUMPROC)EnumWindowsProc,0);
for ( int j = 0; j<giCountWin; j++)
{
if ( strcmp(gWinList[j].cWinBuf,"警告") == 0 )
{
::PostMessage( gWinList[j].hWnd,WM_CLOSE,0,0);
break;
}
}
其中 “警告”是一个消息框的标题名称,代码如下:
MessageBox(hwnd,s,"警告",MB_ICONWARNING+MB_YESNO+MB_DEFBUTTON2);
为何关闭不了呢?
char buf[MAX_PATH];
HWND hwnd = GetForegroundWindow();
GetWindowText(hwnd, buf, MAX_PATH);SendMessage( hwnd,WM_CLOSE ..) 关闭一个窗体。
弹出消息框后立即成为最前台的窗口,又应用什么方法?
Thanks!