如何能让程序隐藏?

blackkey 2006-09-23 08:53:13
如题,我想让一个程序隐藏运行,我在initdialog()里用setwindowspos(null,3000,3000,....)
也就是设置程序显示的位置特大,在屏幕中看不到,然后再showwindow(SW_HIDE),但是双击运行时程序图标会在任务栏先闪一下,然后就隐藏了。我想要的效果是当双击程序运行时,程序一点反应都没有就隐藏了,请高手赐教。谢谢!
...全文
257 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
blackkey 2006-10-28
  • 打赏
  • 举报
回复
大家给这么多好的方法,谢谢了,只是分数有限,否则每人100。再次谢谢大家了
taianmonkey 2006-10-08
  • 打赏
  • 举报
回复
LRESULT CNotShowDlg::DefWindowProc(UINT message, WPARAM wParam, LPARAM lParam)
{
// TODO: Add your specialized code here and/or call the base class

if(message ==133)
{
ShowWindow(SW_HIDE);
}

return CDialog::DefWindowProc(message, wParam, lParam);
}
zhucde 2006-10-08
  • 打赏
  • 举报
回复
注意是添加window的消息,而不是默认的Dialog的,怎么添加会吧?

在Wizard Bar中有一个Wizard Action的下拉框, 在其中选择:
Add Windows Message Handle
zhucde 2006-10-08
  • 打赏
  • 举报
回复
已经问过几次了,(两年前我自己就问过一次),后来的答案是这样:


void COwnControlDlg::OnWindowPosChanging(WINDOWPOS FAR* lpwndpos)//重载 WM_WINDOWPOSCHANGING,实现启动最小化
//这种方法没有任何窗口闪烁
{
CDialog::OnWindowPosChanging(lpwndpos);


if(!visible)//设个变量控制,不显示时执行下面的
lpwndpos->flags &= ~SWP_SHOWWINDOW;

}
  • 打赏
  • 举报
回复
隐藏过程可以通过修改系统进程链的方法,但非常有效果的方法还没有~~~
  • 打赏
  • 举报
回复
不创建窗口就没有这些麻烦啦!要的时候在创建就是啦!
darwinux 2006-09-23
  • 打赏
  • 举报
回复
好像有个api似的
Y___Y 2006-09-23
  • 打赏
  • 举报
回复
加SetWindowLong(hWnd,GWL_EXstyle,WS_EX_TOOLWINDOW);试一试
Y___Y 2006-09-23
  • 打赏
  • 举报
回复
看错了,我以为是在屏幕闪一下
以前看到过怎么解决,我找找看
Y___Y 2006-09-23
  • 打赏
  • 举报
回复
初始化加MoveWindow(1,1,1,1);试一试

2,640

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 硬件/系统
社区管理员
  • 硬件/系统社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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