16,472
社区成员
发帖
与我相关
我的任务
分享
/////////////////////////////////////////////////////////////////////////////
// *.RC2 Add manually edited resources here...
//#define MFC_ICON
#ifdef MFC_ICON
IDR_MAINFRAME ICON "res\\DlgGL.ico" //'mfc'
#else
IDR_MAINFRAME ICON "res\\Icon1.ico"
#endif
/////////////////////////////////////////////////////////////////////////////
#ifdef _A_VERSION
m_hIcon = AfxGetApp()->LoadIcon(IDI_ICON1);
#else
m_hIcon = AfxGetApp()->LoadIcon(IDI_ICON2);
#endif
但是窗口和桌面任务栏的图标没有按预期那样正常显示,请问该怎么处理。
Question2:你的方法是将配置文件里的信息直接写在Resource.h文件里,能不能将#define _A_VERSION单独写在一个头文件里的?因为每次运行时要根据版本来修改这个头文件然后再打开exe运行的
谢谢!
#include "Init.h"
#ifdef _A_VERSION
#include "a.rc"
#else
#include "b.rc"
#endif
你的这些代码移到 工程的rc2文件里去 // First find the main window of program that houses the desktop.
progman_wnd = FindWindow(NULL, _T("Program Manager"));
if(progman_wnd == NULL) throw(GetLastError());
// Then get the desktop window
desktopview_wnd = FindWindowEx(progman_wnd, NULL, _T("SHELLDLL_DefView"), NULL);
if(desktopview_wnd == NULL) throw(GetLastError());
PostMessage(desktopview_wnd, WM_KEYDOWN, VK_F5, 0);
SHChangeNotify(SHCNE_ASSOCCHANGED, SHCNF_FLUSH, NULL, NULL);
#define ICON1
CDlgGLDlg::CDlgGLDlg(CWnd* pParent /*=NULL*/)
: CDialog(CDlgGLDlg::IDD, pParent)
{
//{{AFX_DATA_INIT(CDlgGLDlg)
// NOTE: the ClassWizard will add member initialization here
//}}AFX_DATA_INIT
// Note that LoadIcon does not require a subsequent DestroyIcon in Win32
#ifdef ICON1
m_hIcon = AfxGetApp()->LoadIcon(IDI_ICON1);
#else
m_hIcon = AfxGetApp()->LoadIcon(IDR_MAINFRAME);
#endif
}