简单问题,回答ok马上给分

yangsky971 2005-06-08 02:35:22
我现在建了一个控制台支持mfc的程序,有两个问题:
1:我希望我这个控制台程序程序界面要隐藏起来,也就是运行的时候不能有界面。
2:我的程序是要检测另一个程序是否已经在运行,如另一个程序名为:A.exe(这个程序也是个控制台程序),我想通过能不能找到它的HWND来判断(这个HWND)我还有用,因为我要postMessage,我也知道用FindWindow很简单,可是它的标题是很长的,而且不同的版本标题不一样,所以不能用这个方法,我现在用枚举进程的办法是能找到它的Handle,我不会把Handle转成HWND,所以用不了PostMessage,而且我认为那样枚举的方法有点复杂,有没有更好的方法?
上面的问点希望给予完整的程序代码,只要试了可行,马上给分。
...全文
108 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
bobob 2005-06-08
  • 打赏
  • 举报
回复
#include <windows.h>
#include <STDIO.H>
BOOL myEnumWindow(HWND hwnd);
int main()
{
myEnumWindow(NULL);//枚举所有顶层窗口
return 0;
}

BOOL myEnumWindow(HWND inHwnd)
{
char szText[256];

HWND hwndAfter = NULL;
while(hwndAfter = ::FindWindowEx(inHwnd,hwndAfter,"ConsoleWindowClass",NULL))
{
memset(szText,0,256);
::SendMessage(hwndAfter,WM_GETTEXT,(WPARAM)256,(LPARAM)szText);
printf("%s\t",szText);//打印所有类名为ConsoleWindowClass的窗口的标题
}
return 1;
}
qscj 2005-06-08
  • 打赏
  • 举报
回复
ok
yangsky971 2005-06-08
  • 打赏
  • 举报
回复
PostMessage 强制转换不行,没反应

HWND h_CumHand=FindWindow("ConsoleWindowClass",NULL);这不是得到一个么?
怎么会是所有?
请给详细的全部代码?谢谢
bobob 2005-06-08
  • 打赏
  • 举报
回复
可是PostMessage直接用hadle是不行的啊。
===>
怎么不行?强制转换试试


HWND h_CumHand=FindWindow("ConsoleWindowClass",NULL);怎么找到所有控制台的?
怎么得到标题?谢谢
=======>
使用FindWindowEx
yangsky971 2005-06-08
  • 打赏
  • 举报
回复
可是PostMessage直接用hadle是不行的啊。
HWND h_CumHand=FindWindow("ConsoleWindowClass",NULL);怎么找到所有控制台的?
怎么得到标题?谢谢
yangsky971 2005-06-08
  • 打赏
  • 举报
回复
隐藏界面问解决
还有一个
GetSafeHwnd太笼统了,而且顺便说下我发现我程序里用这个会提示说我没定义
bobob 2005-06-08
  • 打赏
  • 举报
回复
我也知道用FindWindow很简单,可是它的标题是很长的,而且不同的版本标题不一样,
========>
FindWindow可以使用类来查找,控制台程序的类名都是ConsoleWindowClass,找到所有的控制台句柄,再去判断标题里面的关键字

我不会把Handle转成HWND
========>
HWND就是Handle of window,本身就是handle
younggle 2005-06-08
  • 打赏
  • 举报
回复
去看看这个

1 http://blog.csdn.net/vcforever/archive/2004/12/14/215936.aspx
Kudeet 2005-06-08
  • 打赏
  • 举报
回复
1 http://blog.csdn.net/vcforever/archive/2004/12/14/215936.aspx
2 GetSafeHwnd()

16,471

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC相关问题讨论
社区管理员
  • 基础类社区
  • Web++
  • encoderlee
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

        VC/MFC社区版块或许是CSDN最“古老”的版块了,记忆之中,与CSDN的年龄几乎差不多。随着时间的推移,MFC技术渐渐的偏离了开发主流,若干年之后的今天,当我们面对着微软的这个经典之笔,内心充满着敬意,那些曾经的记忆,可以说代表着二十年前曾经的辉煌……
        向经典致敬,或许是老一代程序员内心里面难以释怀的感受。互联网大行其道的今天,我们期待着MFC技术能够恢复其曾经的辉煌,或许这个期待会永远成为一种“梦想”,或许一切皆有可能……
        我们希望这个版块可以很好的适配Web时代,期待更好的互联网技术能够使得MFC技术框架得以重现活力,……

试试用AI创作助手写篇文章吧