(高分)怎么让我的程序一开始运行就隐藏(什么都不显示)

iamfancy 2001-11-13 10:26:14
我用 VC6 编写一个基于对话框的应用程序,需要设置其一开始运行就隐藏和一开始运行不隐藏两种状态。根据保存的设置值来决定。一开始运行就不隐藏是好办,可是一开始运行就什么都不显示就真麻烦了。我该怎么办?
...全文
225 24 打赏 收藏 转发到动态 举报
写回复
用AI写文章
24 条回复
切换为时间正序
请发表友善的回复…
发表回复
TalentSprite 2001-11-13
  • 打赏
  • 举报
回复
挂一个钩子或用热键定义api.
iamfancy 2001-11-13
  • 打赏
  • 举报
回复
kingzai(),我用的是 Dialog 啊,没有 MainFrame 的。
iamfancy 2001-11-13
  • 打赏
  • 举报
回复
哈哈,问题已经解决了,谢谢各位,不过程序我有一点改动,如果照kingzai()那样的代码,显示出来的窗口大小和位置都是固定的 (0, 0, 486, 325),不管怎么样,反正问题是解决了,我现在正在处理下一个问题,散分咯。
kingzai 2001-11-13
  • 打赏
  • 举报
回复
启动时隐藏:
在Initstance里:
将pMainFrame->ShowWindow(m_nCmdShow);注释掉
iamfancy 2001-11-13
  • 打赏
  • 举报
回复
kingzai(),我早就已经注册过热键了,只差启动时隐藏这一个功能的了。
kingzai 2001-11-13
  • 打赏
  • 举报
回复
.....
隐藏的代码:
如上:
//显示隐藏
显示的代码:
//在TaskBar显示
ModifyStyleEx(WS_EX_APPWINDOW,WS_EX_TOOLWINDOW);
WINDOWPLACEMENT wp;
wp.length=sizeof(WINDOWPLACEMENT);
wp.flags=WPF_RESTORETOMAXIMIZED;
wp.showCmd=SW_SHOW;
wp.ptMaxPosition.x = -1;
wp.ptMaxPosition.y = -1;
wp.ptMinPosition.x = -1;
wp.ptMinPosition.y = -1;
wp.rcNormalPosition.left = 0;
wp.rcNormalPosition.top = 0;
wp.rcNormalPosition.right = 486;
wp.rcNormalPosition.bottom = 325;
SetWindowPlacement(&wp);
注册热键:RegisterHotKey;
chenzhou35 2001-11-13
  • 打赏
  • 举报
回复
BOOL CMainFrame::PreCreateWindow(CREATESTRUCT& cs)
{
cs.style |=WS_POPUP;//使主窗口不可见
cs.dwExStyle |=WS_EX_TOOLWINDOW;//不显示任务按钮
return CFrameWnd::PreCreateWindow(cs);
}
对于其他窗口,可以在窗口被Create出来之后ShowWindow之前使用ModifyStyle()和ModifyStyleEx()来修改它的风格。

iamfancy 2001-11-13
  • 打赏
  • 举报
回复
smallfool(smallfool),我试过你的办法了,不行的。
smallfool 2001-11-13
  • 打赏
  • 举报
回复
我昨天发过一个帖子.在CXXDlg::OnInitDialog()中直接添加ShowWindow(SW_HIDE)似乎不行,但如果添加一个函数,OnHide()在该函数中调用ShowWindow(SW_HIDE),然后在OnInitDialog()中调用OnHide()是可以的.
iamfancy 2001-11-13
  • 打赏
  • 举报
回复
这是 jason802(小糊涂仙) 给我的代码,请哪位解释一下各句是什么意思

ModifyStyleEx(WS_EX_APPWINDOW,WS_EX_TOOLWINDOW);
//显示隐藏
WINDOWPLACEMENT wp;
wp.length=sizeof(WINDOWPLACEMENT);
wp.flags=WPF_RESTORETOMAXIMIZED;
wp.showCmd=SW_HIDE;
SetWindowPlacement(&wp);
kingzai 2001-11-13
  • 打赏
  • 举报
回复
你仔细看一下这个贴子,热键只需注册就行,RegisterHotkey,你难道要显示热键?
Colorstone0823 2001-11-13
  • 打赏
  • 举报
回复
g z
iamfancy 2001-11-13
  • 打赏
  • 举报
回复
一定要显示,因为我需要显示某个图片。
kingzai 2001-11-13
  • 打赏
  • 举报
回复
一定要显示吗,只要能激活就行了
iamfancy 2001-11-13
  • 打赏
  • 举报
回复
的确是可以了,不过我的热键显示不起作用了。
我还需要使用热键显示/隐藏该对话框的。
zj_ok 2001-11-13
  • 打赏
  • 举报
回复
最好的方法是作成dll注入到其他应用程序中,这样无论怎样也发现不了
kingzai 2001-11-13
  • 打赏
  • 举报
回复

见http://www.csdn.net/expert/TopicView.asp?id=240307 肯定可以搞定。
iamfancy 2001-11-13
  • 打赏
  • 举报
回复
如果是老问题,大家帮我找几个贴子出来,我找不到啊
kingzai 2001-11-13
  • 打赏
  • 举报
回复
呵呵,老问题。
jason802 2001-11-13
  • 打赏
  • 举报
回复
或者用SetWindowPos();

加载更多回复(4)

16,472

社区成员

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

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

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