43 #include <reactos/buildno.h> 47 #define LIGHT_BLUE RGB(214, 239, 247) 48 #define DARK_BLUE RGB(107, 123, 140) 50 #define TITLE_WIDTH 480 51 #define TITLE_HEIGHT 93 68 #define BUFFER_SIZE 1024 70 #define TOPIC_TITLE_LENGTH 80 71 #define TOPIC_DESC_LENGTH 1024 99 #define TOPIC_BTN_ID_BASE 100 144 lpLCData += (cchRet - 1);
145 cchData -= (cchRet - 1);
164 while (lpString && *lpString)
172 lpString = pEscape + 1;
183 case _T(
'n'):
case _T(
'r'):
187 if (*lpString ==
_T(
'n'))
189 else if (*lpString ==
_T(
'r'))
224 SIZE_T cchInstallerNameLen;
228 cchInstallerNameLen =
_tcslen(lpInstallerName);
229 if (PathSize < cchInstallerNameLen)
232 *lpInstallerPath = 0;
243 *lpInstallerPath = 0;
249 *lpInstallerPath = 0;
299 StringCchCat(lpInstallerPath, PathSize, lpInstallerName);
313 *lpInstallerPath = 0;
316 StringCchCat(lpInstallerPath, PathSize, lpInstallerName);
327 *lpInstallerPath = 0;
339 PTOPIC pTopic, *pTopicsTmp;
383 if (szDesc && *szDesc)
393 if (szCommand && *szCommand)
421 if (szArgs && *szArgs)
449 if (!*pTopic->
szCommand && szAction && *szAction)
466 #define MAX_NUMBER_INTERNAL_TOPICS 3 469 LPTSTR lpszCommand, lpszAction;
470 TOPIC newTopic, *pTopic;
474 lpszCommand =
NULL, lpszAction =
NULL;
523 LPTSTR lpszCommand, lpszAction;
524 TOPIC newTopic, *pTopic;
536 TEXT(
"%s\\%s.ini"), lpResPath, szBuffer);
546 TEXT(
"%s\\%s.ini"), lpResPath, szBuffer);
585 lpszSection = lpszSections;
586 for (; lpszSection && *lpszSection; lpszSection += (
_tcslen(lpszSection) + 1))
592 lpszCommand =
NULL, lpszAction =
NULL;
640 BOOL bLoadDefaultResources;
689 if (bLoadDefaultResources)
693 szResPath,
ARRAYSIZE(szResPath), szIniPath);
703 if (!bLoadDefaultResources)
812 wndclass.
cbSize =
sizeof(wndclass);
818 wndclass.
hIcon = hMainIcon;
832 ulInnerWidth = BitmapInfo.bmWidth;
833 ulInnerHeight = (ulInnerWidth * 3) / 4;
834 ulTitleHeight = BitmapInfo.bmHeight + 3;
840 rcWindow.
bottom = ulInnerHeight - 1;
842 rcWindow.
right = ulInnerWidth - 1;
846 yHeight = rcWindow.
bottom - rcWindow.
top;
930 static WPARAM wParamOld = 0;
931 static LPARAM lParamOld = 0;
1041 return (
rect.bottom-
rect.top + 14);
1269 RECT rcTitle, rcDescription;
1355 TEXT(
"ReactOS ")
TEXT(KERNEL_VERSION_STR));
1472 static WPARAM wParamOld = 0;
1473 static LPARAM lParamOld = 0;
HGDIOBJ WINAPI GetStockObject(_In_ int)
HBITMAP hDefaultTopicBitmap
LANGID WINAPI GetUserDefaultUILanguage(void)
#define memmove(s1, s2, n)
BOOL WINAPI TranslateMessage(_In_ const MSG *)
BOOL WINAPI InflateRect(_Inout_ LPRECT, _In_ int, _In_ int)
HPEN WINAPI CreatePen(_In_ int, _In_ int, _In_ COLORREF)
#define PROCESSOR_ARCHITECTURE_SHX
#define PROCESSOR_ARCHITECTURE_ARM
#define LOCALE_SISO639LANGNAME
BOOL WINAPI OffsetRect(_Inout_ LPRECT, _In_ int, _In_ int)
struct tagDRAWITEMSTRUCT * LPDRAWITEMSTRUCT
#define PROCESSOR_ARCHITECTURE_UNKNOWN
static LRESULT OnCommand(HWND hWnd, WPARAM wParam, LPARAM lParam)
#define UNREFERENCED_PARAMETER(P)
#define LOCALE_USER_DEFAULT
#define WM_CTLCOLORSTATIC
TW_UINT32 TW_UINT16 TW_UINT16 MSG
#define MAX_NUMBER_INTERNAL_TOPICS
TCHAR szTitle[TOPIC_TITLE_LENGTH]
BOOL WINAPI UpdateWindow(_In_ HWND)
HGDIOBJ WINAPI SelectObject(_In_ HDC, _In_ HGDIOBJ)
DWORD WINAPI GetLastError(VOID)
BOOL WINAPI DeleteObject(_In_ HGDIOBJ)
BOOL WINAPI LineTo(_In_ HDC, _In_ int, _In_ int)
static VOID FreeResources(VOID)
HWND WINAPI SetFocus(_In_opt_ HWND)
HDC WINAPI CreateCompatibleDC(_In_opt_ HDC hdc)
BOOL WINAPI DrawFrameControl(_In_ HDC, _Inout_ LPRECT, _In_ UINT, _In_ UINT)
#define IDS_DEFAULT_TOPIC_TITLE
BOOL WINAPI ShowWindow(_In_ HWND, _In_ int)
BOOL WINAPI EndPaint(_In_ HWND, _In_ const PAINTSTRUCT *)
#define PROCESSOR_ARCHITECTURE_MIPS
TCHAR szDesc[TOPIC_DESC_LENGTH]
BOOL WINAPI DestroyWindow(_In_ HWND)
INT_PTR CALLBACK ButtonSubclassWndProc(HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam)
#define PROCESSOR_ARCHITECTURE_ALPHA64
DWORD WINAPI GetSysColor(_In_ int)
TCHAR szDefaultDesc[TOPIC_DESC_LENGTH]
PTOPIC AddNewTopicEx(IN LPTSTR szText OPTIONAL, IN LPTSTR szTitle OPTIONAL, IN LPTSTR szDesc OPTIONAL, IN LPTSTR szCommand OPTIONAL, IN LPTSTR szArgs OPTIONAL, IN LPTSTR szAction OPTIONAL)
#define PROCESSOR_ARCHITECTURE_IA64
BOOL WINAPI PatBlt(_In_ HDC, _In_ int, _In_ int, _In_ int, _In_ int, _In_ DWORD)
int WINAPI GetDlgCtrlID(_In_ HWND)
BOOL WINAPI MoveToEx(_In_ HDC, _In_ int, _In_ int, _Out_opt_ LPPOINT)
void ShowLastWin32Error(HWND hwndParent)
#define LOCALE_NAME_MAX_LENGTH
BOOL WINAPI AdjustWindowRect(_Inout_ LPRECT, _In_ DWORD, _In_ BOOL)
int WINAPI SetBkMode(_In_ HDC, _In_ int)
#define IDS_TOPIC_CMD_ARGS0
#define PROCESSOR_ARCHITECTURE_ALPHA
#define IDS_TOPIC_COMMAND0
static const WCHAR szText[]
static VOID PaintBanner(HDC hdc, LPRECT rcPanel)
static VOID LoadLocalizedResourcesInternal(VOID)
HDC WINAPI BeginPaint(_In_ HWND, _Out_ LPPAINTSTRUCT)
#define CLIP_DEFAULT_PRECIS
int WINAPI ReleaseDC(_In_opt_ HWND, _In_ HDC)
#define FORMAT_MESSAGE_ALLOCATE_BUFFER
#define GetCurrentDirectory
static LRESULT OnActivate(HWND hWnd, WPARAM wParam, LPARAM lParam)
#define TOPIC_TITLE_LENGTH
size_t __cdecl _tcslen(const _TCHAR *str)
HMENU WINAPI GetSystemMenu(_In_ HWND, _In_ BOOL)
#define IDS_TOPIC_ACTION0
INT_PTR CALLBACK MainWndProc(HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam)
BOOL WINAPI IsWindowEnabled(_In_ HWND)
static LRESULT OnDrawItem(HWND hWnd, WPARAM wParam, LPARAM lParam)
BOOL ExpandInstallerPath(IN LPCTSTR lpInstallerName, OUT LPTSTR lpInstallerPath, IN SIZE_T PathSize)
#define FORMAT_MESSAGE_FROM_SYSTEM
_TCHAR * _tcschr(const _TCHAR *s, _XINT c)
static const WCHAR dwHeight[]
static VOID LoadConfiguration(VOID)
static LRESULT OnPaint(HWND hWnd, WPARAM wParam, LPARAM lParam)
#define GetPrivateProfileSectionNames
#define FILE_ATTRIBUTE_DIRECTORY
BOOL WINAPI SetProcessDefaultLayout(DWORD dwDefaultLayout)
int WINAPI _tWinMain(HINSTANCE hInst, HINSTANCE hPrevInstance, LPTSTR lpszCmdLine, int nCmdShow)
PVOID WINAPI HeapAlloc(HANDLE, DWORD, SIZE_T)
VOID TranslateEscapes(IN OUT LPTSTR lpString)
static LRESULT OnCtlColorStatic(HWND hWnd, WPARAM wParam, LPARAM lParam)
BOOL WINAPI InvalidateRect(_In_opt_ HWND, _In_opt_ LPCRECT, _In_ BOOL)
#define OUT_DEFAULT_PRECIS
int WINAPI GetSystemMetrics(_In_ int)
#define GetModuleFileName
#define INVALID_FILE_ATTRIBUTES
VOID InitializeTopicList(VOID)
TCHAR szTitle[MAX_LOADSTRING]
#define PROCESSOR_ARCHITECTURE_AMD64
static LRESULT OnMouseMove(HWND hWnd, WPARAM wParam, LPARAM lParam)
#define IDB_DEFAULT_TOPIC_BITMAP
static BOOL LoadLocalizedResourcesFromINI(LCID Locale, LPTSTR lpResPath)
#define GetFileAttributes
static LRESULT OnCreate(HWND hWnd, WPARAM wParam, LPARAM lParam)
#define PROCESSOR_ARCHITECTURE_INTEL
LRESULT(CALLBACK * WNDPROC)(HWND, UINT, WPARAM, LPARAM)
COLORREF WINAPI SetTextColor(_In_ HDC, _In_ COLORREF)
#define FORMAT_MESSAGE_IGNORE_INSERTS
HFONT hFontTopicDescription
HWND WINAPI GetParent(_In_ HWND)
#define TOPIC_BTN_ID_BASE
#define TOPIC_DESC_LENGTH
TCHAR szDefaultTitle[TOPIC_TITLE_LENGTH]
GLsizei GLenum const GLvoid GLsizei GLenum GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLint GLint GLint GLshort GLshort GLshort GLubyte GLubyte GLubyte GLuint GLuint GLuint GLushort GLushort GLushort GLbyte GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLfloat GLint GLint GLint GLint GLshort GLshort GLshort GLshort GLubyte GLubyte GLubyte GLubyte GLuint GLuint GLuint GLuint GLushort GLushort GLushort GLushort GLboolean const GLdouble const GLfloat const GLint const GLshort const GLbyte const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLdouble const GLfloat const GLfloat const GLint const GLint const GLshort const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort GLenum GLenum GLenum GLfloat GLenum GLint GLenum GLenum GLenum GLfloat GLenum GLenum GLint GLenum GLfloat GLenum GLint GLint GLushort GLenum GLenum GLfloat GLenum GLenum GLint GLfloat const GLubyte GLenum GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLint GLint GLsizei GLsizei GLint GLenum GLenum const GLvoid GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLenum const GLdouble GLenum GLenum const GLfloat GLenum GLenum const GLint GLsizei GLuint GLfloat GLuint GLbitfield GLfloat GLint GLuint GLboolean GLenum GLfloat GLenum GLbitfield GLenum GLfloat GLfloat GLint GLint const GLfloat GLenum GLfloat GLfloat GLint GLint GLfloat GLfloat GLint GLint const GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat const GLdouble const GLfloat const GLdouble const GLfloat GLint i
#define PROCESSOR_ARCHITECTURE_PPC
static DWORD GetButtonHeight(HDC hDC, HFONT hFont, LPCTSTR szText, DWORD dwWidth)
BOOL WINAPI DeleteDC(_In_ HDC)
#define LOCALE_SISO3166CTRYNAME
#define GetPrivateProfileString
HLOCAL NTAPI LocalFree(HLOCAL hMem)
BOOL WINAPI RemoveMenu(_In_ HMENU, _In_ UINT, _In_ UINT)
VOID WINAPI GetSystemInfo(IN LPSYSTEM_INFO lpSystemInfo)
HDC WINAPI GetWindowDC(_In_opt_ HWND)
#define CreateFontIndirect
HBRUSH WINAPI CreateSolidBrush(_In_ COLORREF)
HWND WINAPI GetForegroundWindow(void)
DWORD WINAPI ExpandEnvironmentStringsW(IN LPCWSTR lpSrc, IN LPWSTR lpDst, IN DWORD nSize)
#define IDS_TOPIC_BUTTON0
static BOOL RunAction(INT nTopic)
WORD wProcessorArchitecture
static DWORD *static HFONT(WINAPI *pCreateFontIndirectExA)(const ENUMLOGFONTEXDVA *)
HWND WINAPI GetFocus(void)
_TCHAR * _tcsrchr(const _TCHAR *s, _XINT c)
INT GetLocaleName(IN LCID Locale, OUT LPTSTR lpLCData, IN SIZE_T cchData)
static LRESULT OnDestroy(HWND hWnd, WPARAM wParam, LPARAM lParam)
CHAR lfFaceName[LF_FACESIZE]
BOOL WINAPI SetForegroundWindow(_In_ HWND)
#define ERROR_ALREADY_EXISTS
#define GetWindowsDirectory
#define IDS_DEFAULT_TOPIC_DESC
static const CLSID *static CLSID *static const GUID VARIANT VARIANT *static IServiceProvider DWORD *static HMENU
#define HeapFree(x, y, z)
#define ERROR_INVALID_FLAGS
__analysis_noreturn void WINAPI PostQuitMessage(_In_ int)
PSDBQUERYRESULT_VISTA PVOID DWORD * dwSize
static const WCHAR dwWidth[]
#define SetCurrentDirectory
static VOID NTAPI BitBlt(_In_ ULONG Left, _In_ ULONG Top, _In_ ULONG Width, _In_ ULONG Height, _In_reads_bytes_(Delta *Height) PUCHAR Buffer, _In_ ULONG BitsPerPixel, _In_ ULONG Delta)
#define LANG_USER_DEFAULT
#define GetPrivateProfileInt
PULONG MinorVersion OPTIONAL