读书人

怎么让程序启动的时候不得到焦点

发布时间: 2012-02-22 19:36:55 作者: rapoo

如何让程序启动的时候不得到焦点
我想让我的程序启动后就最小化到托盘

现在做成了后 当前窗口就失去了焦点

如何让我的程序启动后之前活动的窗口 仍然是活动的?

[解决办法]
GetActiveWindow得到程序启动前的活动窗口的句柄
程序启动后,在SetFocus给得到的句柄
[解决办法]
GetActiveWindow后
然后setFocus
[解决办法]
SetActiveWindow可以的 在app 的InitInstance() GetActiveWindow()
然后在m_pMainWnd-> ShowWindow(SW_SHOWMINIMIZED);后加
SetActiveWindow(hWnd);
[解决办法]
BOOL CtestssDlg::OnInitDialog()
{
CDialog::OnInitDialog();

// 将\“关于...\”菜单项添加到系统菜单中。

// IDM_ABOUTBOX 必须在系统命令范围内。
ASSERT((IDM_ABOUTBOX & 0xFFF0) == IDM_ABOUTBOX);
ASSERT(IDM_ABOUTBOX < 0xF000);

CMenu* pSysMenu = GetSystemMenu(FALSE);
if (pSysMenu != NULL)
{
CString strAboutMenu;
strAboutMenu.LoadString(IDS_ABOUTBOX);
if (!strAboutMenu.IsEmpty())
{
pSysMenu-> AppendMenu(MF_SEPARATOR);
pSysMenu-> AppendMenu(MF_STRING, IDM_ABOUTBOX, strAboutMenu);
}
}

// 设置此对话框的图标。当应用程序主窗口不是对话框时,框架将自动
// 执行此操作
SetIcon(m_hIcon, TRUE);// 设置大图标
SetIcon(m_hIcon, FALSE);// 设置小图标

// TODO: 在此添加额外的初始化代码
ShowWindow(SW_MINIMIZE);
return TRUE; // 除非设置了控件的焦点,否则返回 TRUE
}

这是对话框程序 的最小化创建方法

读书人网 >VC/MFC

热点推荐