如何在程序中调用其它程序(如Windows扫雷游戏)时,隐藏它的标题、菜单、工具按钮部分?

CPO 2008-06-12 10:28:15
如题,各位请指教。
...全文
141 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
CPO 2008-06-16
  • 打赏
  • 举报
回复
............

GetWindowText(hWnd,szText,64);
sTmpstr = szText;
if ( sTmpstr == "Calculator" )
{
szText[0] = 0;

............


为什么GetWindowText后,szText没有东西呢?
谁懂啊,帮忙看看,谢谢。
jacknes009 2008-06-15
  • 打赏
  • 举报
回复
BOOL __stdcall EnumWindowProc(HWND hWnd,LPARAM lParam)
改这个回掉函数就可以了
CPO 2008-06-15
  • 打赏
  • 举报
回复
还是显示标题的,关闭和最小化按钮是点不了的,可Cal的左上角图标还可以点出菜单来,菜单"查看"也能看见,怎么弄啊,谢谢,谁知道?
CPO 2008-06-14
  • 打赏
  • 举报
回复
可这样还是显示标题啊,就是点不到标题了,

请问,是不是刷新的问题?
EagleFew 2008-06-14
  • 打赏
  • 举报
回复
这样就是去掉了窗口的标题栏,这个程序就没有边框和标题栏了啊
EagleFew 2008-06-13
  • 打赏
  • 举报
回复
自己再修改一下:

BOOL __stdcall EnumWindowProc(HWND hWnd,LPARAM lParam)
{
String sTmpstr = "";
char szText[64] = "";
DWORD dwStyle = 0;
HMENU hMenu = NULL;

GetWindowText(hWnd,szText,64);
sTmpstr = szText;
if ( sTmpstr == "Calculator" )
{
szText[0] = 0;
sTmpstr = "";
dwStyle = GetWindowLong(hWnd,GWL_STYLE);
dwStyle ^= WS_CAPTION;
SetWindowLong(hWnd,GWL_STYLE,dwStyle);
hMenu = GetMenu(hWnd);
dwStyle = GetMenuItemCount(hMenu);
for ( DWORD i = 0; i < dwStyle; i++ )
{
RemoveMenu(hMenu,i,MF_BYPOSITION);
}
}

return true;
}
//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
: TForm(Owner)
{
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Button1Click(TObject *Sender)
{
STARTUPINFO si = {0};
PROCESS_INFORMATION pi = {0};
HANDLE hProcess = NULL;

CreateProcess("C:\\Calc.exe",NULL,NULL,0,false,CREATE_DEFAULT_ERROR_MODE,NULL,NULL,&si,&pi);
Sleep(2000);

EnumWindows((WNDENUMPROC)EnumWindowProc,10086);
}
//---------------------------------------------------------------------------

13,824

社区成员

发帖
与我相关
我的任务
社区描述
C++ Builder相关内容讨论区
社区管理员
  • 基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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