33#define FTA_MODIFYMASK (FTA_OpenIsSafe)
34#define NOASSOCRESID IDI_SHELL_DOCUMENT
35#define SUPPORT_EXTENSIONWITHOUTPROGID 1
37#define ASSOC_CCHMAX (32 + 1)
38#define TYPENAME_CCHMAX max(100, RTL_FIELD_SIZE(SHFILEINFOA, szTypeName))
39#define ICONLOCATION_CCHMAX (MAX_PATH + 1 + 11)
107 Value &= (0xffffffffUL >> (32 -
cb * 8));
111 Value = DefaultValue;
127#if SUPPORT_EXTENSIONWITHOUTPROGID
142 if (
path.Find(
' ') >= 0 &&
path.Find(
'\"') < 0)
245 if (!
Entry->ProgramPath[1] && !
Entry->ProgramPath[0])
255 return Entry->ProgramPath;
283 return Entry->AppName;
289 if (!
Entry->FileDescription[1] && !
Entry->FileDescription[0])
292 if (
Entry->IsExtension())
311 !*
Entry->FileDescription;
320 return Entry->FileDescription;
344 if (!
Entry->IconPath[0])
355#define LISTBOX_MARGIN 2
520 rc1.
top += pNewExt->
dy;
523 rc2.top += pNewExt->
dy;
524 rc2.bottom += pNewExt->
dy;
536 rc1.
top -= pNewExt->
dy;
539 rc2.top -= pNewExt->
dy;
540 rc2.bottom -= pNewExt->
dy;
615 if (pNewExt->
szExt[0] == 0)
625 if (pNewExt->
szExt[0] ==
L'.')
644 item.pszText = szFileType;
739 if (Assoc[0] ==
L'.')
754#if SUPPORT_EXTENSIONWITHOUTPROGID
761 if (!
Entry->ClassKey[0])
780 if (!defaultIcon &&
Entry->hIconSmall)
786 lvItem.
iItem = iItem;
789 lvItem.
iImage = iSmallImage;
794 lvItem.
iItem = iItem;
824 }
while (dwValue != 0);
960 if (pNewAct->
szApp[0] == 0 ||
1033 if (pEditAct->
szApp[0] == 0)
1128 pEntry->hIconSmall = hIco;
1143 Item.iImage = iSmallImage;
1174 if (
pEntry->IsExtension())
1200 pEntry->InvalidateTypeName();
1205 HKEY hDefaultIconKey;
1262 for (
INT i = 0;
i < nCount; ++
i)
1285 if ((
exp =
cmd.Find(
'%', 0)) >= 0 &&
cmd.Find(
'%',
exp + 1) >= 0)
1356 dwSize =
sizeof(szValue);
1373 dwSize =
sizeof(TypeName);
1409 pEntry->InvalidateDefaultApp();
1486 strCommandLine +=
L" \"%1\"";
1655 if (!
x && !(
x = entry1->
IsExtension() - entry2->IsExtension()))
1680 INT column0Size = (clientRect.
right - clientRect.
left) / 4;
1682 columnName =
L"Extensions";
1687 col.
cx = column0Size;
1690 columnName =
L"File Types";
1697 ERR(
"Failed to load localized string!\n");
1832 if (
pEntry->IsExtension())
1925 pEntry->InvalidateDefaultApp();
1967 switch (pKeyDown->wVKey)
#define shell32_hInstance
xD9 x84 xD8 xAD xD9 x80 xF0 x90 xAC x9A xE0 xA7 xA6 xE0 xA7 xAA xF0 x91 x84 xA4 xF0 x91 x84 x89 xF0 x91 x84 x9B xF0 x90 x8A xAB xF0 x90 x8B x89 xE2 xB2 x9E xE2 xB2 x9F xD0 xBE xD0 x9E xF0 x90 x90 x84 xF0 x90 x90 xAC xE1 x83 x98 xE1 x83 x94 xE1 x83 x90 xE2 xB0 x95 xE2 xB1 x85 xCE xBF xCE x9F xE0 xA8 xA0 xE0 xA8 xB0 xE0 xA9 xA6 Kayah xEA xA4 x8D xEA xA4 x80 Khmer xE1 xA7 xA1 xE1 xA7 xAA xE0 xBB x90 Latin Subscript Fallback
#define WINE_DEFAULT_DEBUG_CHANNEL(t)
#define RegCloseKey(hKey)
EXTERN_C void WINAPI SHChangeNotify(LONG wEventId, UINT uFlags, LPCVOID dwItem1, LPCVOID dwItem2)
POSITION AddHead(INARGTYPE element)
POSITION Find(INARGTYPE element, _In_opt_ POSITION posStartAfter=NULL) const
TVal & GetValueAt(int nIndex)
TKey & GetKeyAt(int nIndex)
BOOL SetAt(const TKey &key, const TVal &val)
int FindKey(const TKey &key) const
BOOL Remove(const TKey &key)
BOOL LoadString(_In_ UINT nID)
void __cdecl Format(UINT nFormatID,...)
#define OPENFILENAME_SIZE_VERSION_400W
#define OFN_FILEMUSTEXIST
#define OFN_PATHMUSTEXIST
LONG WINAPI RegCreateKeyExW(_In_ HKEY hKey, _In_ LPCWSTR lpSubKey, _In_ DWORD Reserved, _In_opt_ LPWSTR lpClass, _In_ DWORD dwOptions, _In_ REGSAM samDesired, _In_opt_ LPSECURITY_ATTRIBUTES lpSecurityAttributes, _Out_ PHKEY phkResult, _Out_opt_ LPDWORD lpdwDisposition)
LONG WINAPI RegOpenKeyExW(HKEY hKey, LPCWSTR lpSubKey, DWORD ulOptions, REGSAM samDesired, PHKEY phkResult)
LONG WINAPI RegEnumKeyExW(_In_ HKEY hKey, _In_ DWORD dwIndex, _Out_ LPWSTR lpName, _Inout_ LPDWORD lpcbName, _Reserved_ LPDWORD lpReserved, _Out_opt_ LPWSTR lpClass, _Inout_opt_ LPDWORD lpcbClass, _Out_opt_ PFILETIME lpftLastWriteTime)
LONG WINAPI RegSetValueExW(_In_ HKEY hKey, _In_ LPCWSTR lpValueName, _In_ DWORD Reserved, _In_ DWORD dwType, _In_ CONST BYTE *lpData, _In_ DWORD cbData)
LONG WINAPI RegDeleteValueW(HKEY hKey, LPCWSTR lpValueName)
LONG WINAPI RegQueryValueExW(_In_ HKEY hkeyorg, _In_ LPCWSTR name, _In_ LPDWORD reserved, _In_ LPDWORD type, _In_ LPBYTE data, _In_ LPDWORD count)
LONG WINAPI RegEnumKeyW(HKEY hKey, DWORD dwIndex, LPWSTR lpName, DWORD cbName)
INT WINAPI ImageList_GetImageCount(HIMAGELIST himl)
HIMAGELIST WINAPI ImageList_Create(INT cx, INT cy, UINT flags, INT cInitial, INT cGrow)
LPWSTR WINAPI StrChrW(LPCWSTR lpszStr, WCHAR ch)
LPWSTR WINAPI StrStrIW(LPCWSTR lpszStr, LPCWSTR lpszSearch)
short WINAPI GetFileTitleW(LPCWSTR lpFile, LPWSTR lpTitle, WORD cbBuf)
BOOL WINAPI GetOpenFileNameW(OPENFILENAMEW *ofn)
#define HeapFree(x, y, z)
static const WCHAR *const ext[]
DWORD WINAPI ExpandEnvironmentStringsW(IN LPCWSTR lpSrc, IN LPWSTR lpDst, IN DWORD nSize)
DWORD WINAPI GetFileAttributesW(LPCWSTR lpFileName)
UINT WINAPI GetWindowsDirectoryW(OUT LPWSTR lpBuffer, IN UINT uSize)
DWORD WINAPI GetTickCount(VOID)
int WINAPI lstrcmpW(LPCWSTR str1, LPCWSTR str2)
int WINAPI lstrcmpiW(LPCWSTR str1, LPCWSTR str2)
static const WCHAR IconIndex[]
static const WCHAR IconPath[]
BOOL WINAPI PickIconDlg(HWND hWndOwner, LPWSTR lpstrFile, UINT nMaxFile, INT *lpdwIconIndex)
HICON SHELL32_SHExtractIcon(LPCWSTR File, int Index, int cx, int cy)
BOOL RegKeyExists(HKEY hKey, LPCWSTR Path)
static BOOL RegValueExists(HKEY hKey, LPCWSTR Name)
static DWORD RegSetString(HKEY hKey, LPCWSTR Name, LPCWSTR Str, DWORD Type=REG_SZ)
DWORD RegSetOrDelete(HKEY hKey, LPCWSTR Name, DWORD Type, LPCVOID Data, DWORD Size)
void WINAPI SHFree(LPVOID pv)
LPVOID WINAPI SHAlloc(SIZE_T len)
HRESULT WINAPI AssocQueryStringW(ASSOCF cfFlags, ASSOCSTR str, LPCWSTR pszAssoc, LPCWSTR pszExtra, LPWSTR pszOut, DWORD *pcchOut)
int WINAPI PathParseIconLocationW(LPWSTR lpszPath)
DWORD WINAPI SHDeleteKeyW(HKEY hKey, LPCWSTR lpszSubKey)
BOOL WINAPI StrTrimW(LPWSTR lpszStr, LPCWSTR lpszTrim)
static BOOL DeleteExt(HWND hwndDlg, LPCWSTR pszExt)
struct _FILE_TYPE_ENTRY FILE_TYPE_ENTRY
static BOOL QueryFileDescription(LPCWSTR ProgramPath, LPWSTR pszName, INT cchName)
static VOID FileTypesDlg_InitListView(HWND hwndDlg, HWND hListView)
static BOOL FileTypesDlg_RemoveExt(HWND hwndDlg)
static BOOL EditTypeDlg_UpdateEntryIcon(HWND hwndDlg, PEDITTYPE_DIALOG pEditType)
struct EDITTYPE_DIALOG * PEDITTYPE_DIALOG
static BOOL GetFileTypeIconsEx(PFILE_TYPE_ENTRY Entry, LPCWSTR IconLocation, UINT IconSize)
static INT CALLBACK FileTypesDlg_CompareItems(LPARAM lParam1, LPARAM lParam2, LPARAM lParamSort)
static BOOL NewExtDlg_OnInitDialog(HWND hwndDlg, PNEWEXT_DIALOG pNewExt)
static INT_PTR CALLBACK NewActionDlgProc(HWND hwndDlg, UINT uMsg, WPARAM wParam, LPARAM lParam)
static LPWSTR GetTypeName(PFILE_TYPE_ENTRY Entry, PFILE_TYPE_GLOBALS pG)
static VOID NewExtDlg_OnAdvanced(HWND hwndDlg, PNEWEXT_DIALOG pNewExt)
static HRESULT GetClassKey(const FILE_TYPE_ENTRY &FTE, LPCWSTR &SubKey)
static BOOL EditTypeDlg_OnDrawItem(HWND hwndDlg, LPDRAWITEMSTRUCT pDraw, PEDITTYPE_DIALOG pEditType)
static BOOL Normalize(PFILE_TYPE_ENTRY Entry)
static BOOL EditTypeDlg_OnRemove(HWND hwndDlg, PEDITTYPE_DIALOG pEditType)
static void FileTypesDlg_Sort(PFILE_TYPE_GLOBALS pG, HWND hListView, INT Column=-1)
static BOOL EditTypeDlg_WriteClass(HWND hwndDlg, PEDITTYPE_DIALOG pEditType, LPCWSTR TypeName, EDITTYPEFLAGS Etf)
static void FileTypesDlg_OnDelete(HWND hwndDlg)
struct _FILE_TYPE_GLOBALS FILE_TYPE_GLOBALS
static INT_PTR CALLBACK NewExtDlgProc(HWND hwndDlg, UINT uMsg, WPARAM wParam, LPARAM lParam)
static BOOL EditTypeDlg_OnMeasureItem(HWND hwndDlg, LPMEASUREITEMSTRUCT pMeasure, PEDITTYPE_DIALOG pEditType)
static void EditActionDlg_OnOK(HWND hwndDlg, PACTION_DIALOG pEditAct)
static void EditTypeDlg_OnChangeIcon(HWND hwndDlg, PEDITTYPE_DIALOG pEditType)
static void EditTypeDlg_Restrict(HWND hwndDlg, PEDITTYPE_DIALOG pEditType)
static BOOL NewExtDlg_OnOK(HWND hwndDlg, PNEWEXT_DIALOG pNewExt)
static INT_PTR CALLBACK EditTypeDlgProc(HWND hwndDlg, UINT uMsg, WPARAM wParam, LPARAM lParam)
static void QuoteAppPathForCommand(CStringW &path)
static PFILE_TYPE_ENTRY FileTypesDlg_GetEntry(HWND hListView, INT iItem=-1)
EXTERN_C BOOL PathIsExeW(LPCWSTR lpszPath)
#define ICONLOCATION_CCHMAX
struct ACTION_DIALOG * PACTION_DIALOG
static void FileTypesDlg_Refresh(HWND hwndDlg, HWND hListView, PFILE_TYPE_GLOBALS pG)
static void InitializeDefaultIcons(PFILE_TYPE_GLOBALS pG)
static LPCWSTR GetAppName(PFILE_TYPE_ENTRY Entry)
static INT_PTR CALLBACK EditActionDlgProc(HWND hwndDlg, UINT uMsg, WPARAM wParam, LPARAM lParam)
static HICON DoExtractIcon(LPCWSTR IconPath, INT iIndex, UINT cx, UINT cy)
struct NEWEXT_DIALOG * PNEWEXT_DIALOG
struct _FILE_TYPE_GLOBALS * PFILE_TYPE_GLOBALS
INT_PTR CALLBACK FolderOptionsFileTypesDlg(HWND hwndDlg, UINT uMsg, WPARAM wParam, LPARAM lParam)
static PFILE_TYPE_ENTRY FileTypesDlg_InsertToLV(HWND hListView, LPCWSTR Assoc, INT iItem, PFILE_TYPE_GLOBALS pG)
static void NewActionDlg_OnOK(HWND hwndDlg, PACTION_DIALOG pNewAct)
static DWORD GetRegDWORD(HKEY hKey, LPCWSTR Name, DWORD &Value, DWORD DefaultValue=0, BOOL Strict=FALSE)
static void FileTypesDlg_OnItemChanging(HWND hwndDlg, PFILE_TYPE_ENTRY pEntry, PFILE_TYPE_GLOBALS pG)
static BOOL EditTypeDlg_OnInitDialog(HWND hwndDlg, PEDITTYPE_DIALOG pEditType)
static void FileTypesDlg_SetGroupboxText(HWND hwndDlg, LPCWSTR Assoc)
static BOOL GetFileTypeIconsByKey(HKEY hKey, PFILE_TYPE_ENTRY Entry, UINT IconSize)
static BOOL FileTypesDlg_AddExt(HWND hwndDlg, LPCWSTR pszExt, LPCWSTR pszProgId, PFILE_TYPE_GLOBALS pG)
static void EditTypeDlg_OnOK(HWND hwndDlg, PEDITTYPE_DIALOG pEditType)
static BOOL EditTypeDlg_ReadClass(HWND hwndDlg, PEDITTYPE_DIALOG pEditType, EDITTYPEFLAGS &Etf)
static LPCWSTR GetProgramPath(PFILE_TYPE_ENTRY Entry)
static PFILE_TYPE_GLOBALS FileTypesDlg_Initialize(HWND hwndDlg)
static void ActionDlg_OnBrowse(HWND hwndDlg, PACTION_DIALOG pNewAct, BOOL bEdit=FALSE)
static void EditTypeDlg_OnCommand(HWND hwndDlg, UINT id, UINT code, PEDITTYPE_DIALOG pEditType)
struct _FILE_TYPE_ENTRY * PFILE_TYPE_ENTRY
PFX_DRIVER_GLOBALS pGlobals
GLint GLint GLint GLint GLint x
GLuint GLuint GLsizei GLenum type
GLenum GLuint GLenum GLsizei const GLchar * buf
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
UINT WINAPI ExtractIconExW(LPCWSTR lpszFile, INT nIconIndex, HICON *phiconLarge, HICON *phiconSmall, UINT nIcons)
REFIID LPVOID DWORD_PTR dw
static HBITMAP BitmapFromIcon(HICON hIcon)
#define ERROR_FILE_NOT_FOUND
PSDBQUERYRESULT_VISTA PVOID DWORD * dwSize
static DWORD DWORD void LPSTR DWORD cch
static DWORD *static HFONT(WINAPI *pCreateFontIndirectExA)(const ENUMLOGFONTEXDVA *)
static HMODULE MODULEINFO DWORD cb
INT WINAPI DrawTextW(HDC hdc, LPCWSTR str, INT count, LPRECT rect, UINT flags)
static const WCHAR szName[]
_Out_opt_ int _Out_opt_ int * cy
#define ListView_SetItemState(hwndLV, i, data, mask)
#define ListView_SetExtendedListViewStyleEx(hwndLV, dwMask, dw)
#define ListView_SetImageList(hwnd, himl, iImageList)
#define ListView_GetItemText(hwndLV, i, iSubItem_, pszText_, cchTextMax_)
#define LVN_DELETEALLITEMS
#define ListView_GetNextItem(hwnd, i, flags)
#define LVS_EX_FULLROWSELECT
#define ImageList_RemoveAll(himl)
#define LPSTR_TEXTCALLBACK
#define ListView_GetItemCount(hwnd)
#define ListView_SortItems(hwndLV, _pfnCompare, _lPrm)
struct tagNMLISTVIEW * LPNMLISTVIEW
#define ListView_DeleteAllItems(hwnd)
struct tagLVDISPINFOW * LPNMLVDISPINFOW
#define LVM_INSERTCOLUMNW
#define ListView_SetItem(hwnd, pitem)
#define ImageList_AddIcon(himl, hicon)
#define ListView_DeleteItem(hwnd, i)
#define ListView_GetItem(hwnd, pitem)
#define ListView_FindItem(hwnd, iStart, plvfi)
#define ListView_EnsureVisible(hwndLV, i, fPartialOK)
DWORD_PTR WINAPI SHGetFileInfoW(LPCWSTR path, DWORD dwFileAttributes, SHFILEINFOW *psfi, UINT sizeofpsfi, UINT flags)
#define SHGFI_DISPLAYNAME
#define SHGFI_USEFILEATTRIBUTES
@ OAIF_FORCE_REGISTRATION
#define SHCNE_ASSOCCHANGED
#define SHCNF_FLUSHNOWAIT
@ ASSOCF_INIT_IGNOREUNKNOWN
DWORD WINAPI SHRestricted(RESTRICTIONS rest)
#define IDS_COLUMN_EXTENSION
#define IDC_FILETYPES_DESCRIPTION
#define IDC_ACTION_BROWSE
#define IDC_EDITTYPE_SET_DEFAULT
#define IDS_NEWEXT_SPECIFY_EXT
#define IDC_EDITTYPE_ICON
#define IDC_EDITTYPE_EDIT_BUTTON
#define IDC_NEWEXT_ADVANCED
#define IDC_NEWEXT_COMBOBOX
#define IDC_FILETYPES_LISTVIEW
#define IDC_EDITTYPE_CONFIRM_OPEN
#define IDC_EDITTYPE_TEXT
#define IDC_ACTION_USE_DDE
#define IDC_FILETYPES_DETAILS_GROUPBOX
#define IDS_SPECIFY_ACTION
#define IDS_NEWEXT_EXT_IN_USE
#define IDS_NEWEXT_ADVANCED_RIGHT
#define IDS_NEWEXT_ALREADY_ASSOC
#define IDC_FILETYPES_ICON
#define IDS_INVALID_PROGRAM
#define IDS_NEWEXT_ADVANCED_LEFT
#define IDC_EDITTYPE_LISTBOX
#define IDC_EDITTYPE_SHOW_EXT
#define IDC_FILETYPES_APPNAME
#define IDS_REMOVE_ACTION
#define IDC_FILETYPES_ADVANCED
#define IDS_ACTION_EXISTS
#define IDC_FILETYPES_DELETE
#define IDC_EDITTYPE_SAME_WINDOW
#define IDC_FILETYPES_CHANGE
#define IDS_FILE_DETAILSADV
#define IDC_FILETYPES_NEW
#define IDC_EDITTYPE_CHANGE_ICON
#define IDS_EDITING_ACTION
#define IDC_ACTION_ACTION
#define IDC_EDITTYPE_REMOVE
STRSAFEAPI StringCbCopyW(STRSAFE_LPWSTR pszDest, size_t cbDest, STRSAFE_LPCWSTR pszSrc)
STRSAFEAPI StringCchCopyW(STRSAFE_LPWSTR pszDest, size_t cchDest, STRSAFE_LPCWSTR pszSrc)
STRSAFEAPI StringCbPrintfW(STRSAFE_LPWSTR pszDest, size_t cbDest, STRSAFE_LPCWSTR pszFormat,...)
WCHAR szAction[VERBKEY_CCHMAX]
CSimpleMap< CStringW, CStringW > CommandLineMap
CAtlList< CStringW > ModifiedVerbs
WCHAR szDefaultVerb[VERBKEY_CCHMAX]
WCHAR TypeName[TYPENAME_CCHMAX]
WCHAR szIconPath[MAX_PATH]
base of all file and directory entries
WCHAR FileExtension[ASSOC_CCHMAX]
void InvalidateDefaultApp()
WCHAR FileDescription[TYPENAME_CCHMAX]
void InvalidateTypeName()
WCHAR ProgramPath[MAX_PATH]
LPCWSTR GetAssocForDisplay() const
WCHAR szDisplayName[MAX_PATH]
#define INVALID_FILE_ATTRIBUTES
_In_ WDFCOLLECTION _In_ WDFOBJECT Item
_Must_inspect_result_ _In_ WDFKEY _In_ PCUNICODE_STRING _Out_opt_ PUSHORT _Inout_opt_ PUNICODE_STRING Value
UINT WINAPI GetDlgItemTextW(HWND hDlg, int nIDDlgItem, LPWSTR lpString, int nMaxCount)
_In_ PSID _Out_writes_to_opt_ cchName LPSTR _Inout_ LPDWORD cchName
BOOL WINAPI GetTextMetricsW(_In_ HDC, _Out_ LPTEXTMETRICW)
COLORREF WINAPI SetBkColor(_In_ HDC, _In_ COLORREF)
HGDIOBJ WINAPI SelectObject(_In_ HDC, _In_ HGDIOBJ)
int WINAPI FillRect(HDC, LPCRECT, HBRUSH)
HFONT WINAPI CreateFontIndirectW(_In_ const LOGFONTW *)
COLORREF WINAPI SetTextColor(_In_ HDC, _In_ COLORREF)
#define HKEY_LOCAL_MACHINE
#define HKEY_CLASSES_ROOT
struct tagDRAWITEMSTRUCT * LPDRAWITEMSTRUCT
int WINAPI ReleaseDC(_In_opt_ HWND, _In_ HDC)
DWORD WINAPI GetSysColor(_In_ int)
BOOL WINAPI RedrawWindow(_In_opt_ HWND, _In_opt_ LPCRECT, _In_opt_ HRGN, _In_ UINT)
#define GetWindowLongPtrW
BOOL WINAPI ShowWindow(_In_ HWND, _In_ int)
struct tagMEASUREITEMSTRUCT * LPMEASUREITEMSTRUCT
BOOL WINAPI GetWindowRect(_In_ HWND, _Out_ LPRECT)
int WINAPI LoadStringW(_In_opt_ HINSTANCE hInstance, _In_ UINT uID, _Out_writes_to_(cchBufferMax, return+1) LPWSTR lpBuffer, _In_ int cchBufferMax)
HANDLE WINAPI LoadImageW(_In_opt_ HINSTANCE hInst, _In_ LPCWSTR name, _In_ UINT type, _In_ int cx, _In_ int cy, _In_ UINT fuLoad)
BOOL WINAPI SetDlgItemTextW(_In_ HWND, _In_ int, _In_ LPCWSTR)
#define SW_SHOWNOACTIVATE
BOOL WINAPI EndDeferWindowPos(_In_ HDWP)
int WINAPI MapWindowPoints(_In_opt_ HWND hWndFrom, _In_opt_ HWND hWndTo, _Inout_updates_(cPoints) LPPOINT lpPoints, _In_ UINT cPoints)
int WINAPI MessageBoxW(_In_opt_ HWND hWnd, _In_opt_ LPCWSTR lpText, _In_opt_ LPCWSTR lpCaption, _In_ UINT uType)
HWND WINAPI GetDlgItem(_In_opt_ HWND, _In_ int)
LRESULT WINAPI SendDlgItemMessageW(_In_ HWND, _In_ int, _In_ UINT, _In_ WPARAM, _In_ LPARAM)
BOOL WINAPI SetWindowTextW(_In_ HWND, _In_opt_ LPCWSTR)
BOOL WINAPI GetClientRect(_In_ HWND, _Out_ LPRECT)
HWND WINAPI SetFocus(_In_opt_ HWND)
BOOL WINAPI EnableWindow(_In_ HWND, _In_ BOOL)
#define COLOR_HIGHLIGHTTEXT
HDC WINAPI GetDC(_In_opt_ HWND)
#define MB_ICONINFORMATION
HDWP WINAPI DeferWindowPos(_In_ HDWP, _In_ HWND, _In_opt_ HWND, _In_ int, _In_ int, _In_ int, _In_ int, _In_ UINT)
BOOL WINAPI DrawFocusRect(_In_ HDC, _In_ LPCRECT)
BOOL WINAPI InvalidateRect(_In_opt_ HWND, _In_opt_ LPCRECT, _In_ BOOL)
#define MAKEINTRESOURCEW(i)
#define SetWindowLongPtrW
BOOL WINAPI InflateRect(_Inout_ LPRECT, _In_ int, _In_ int)
int WINAPI GetSystemMetrics(_In_ int)
LRESULT WINAPI SendMessageW(_In_ HWND, _In_ UINT, _In_ WPARAM, _In_ LPARAM)
INT_PTR WINAPI DialogBoxParamW(_In_opt_ HINSTANCE, _In_ LPCWSTR, _In_opt_ HWND, _In_opt_ DLGPROC, _In_ LPARAM)
HDWP WINAPI BeginDeferWindowPos(_In_ int)
BOOL WINAPI EndDialog(_In_ HWND, _In_ INT_PTR)
BOOL WINAPI DestroyIcon(_In_ HICON)