From 01fc2baa583fc2f954ce910477b717792bd58974 Mon Sep 17 00:00:00 2001 From: Juergen Schmied Date: Mon, 14 Dec 1998 17:33:00 +0000 Subject: [PATCH] New HCR_GetDefaultIcon (internal). --- dlls/shell32/classes.c | 40 ++++++++++++++++++++++++++++++++++++++-- 1 file changed, 38 insertions(+), 2 deletions(-) diff --git a/dlls/shell32/classes.c b/dlls/shell32/classes.c index c2602962df0..2acab33a1db 100644 --- a/dlls/shell32/classes.c +++ b/dlls/shell32/classes.c @@ -14,7 +14,7 @@ #include "shell32_main.h" -BOOL32 WINAPI HCR_MapTypeToValue ( LPSTR szExtension, LPSTR szFileType, DWORD len) +BOOL32 HCR_MapTypeToValue ( LPSTR szExtension, LPSTR szFileType, DWORD len) { HKEY hkey; TRACE(shell, "%s %p\n",szExtension, szFileType ); @@ -34,7 +34,7 @@ BOOL32 WINAPI HCR_MapTypeToValue ( LPSTR szExtension, LPSTR szFileType, DWORD le return TRUE; } -BOOL32 WINAPI HCR_GetExecuteCommand ( LPCSTR szClass, LPCSTR szVerb, LPSTR szDest, DWORD len ) +BOOL32 HCR_GetExecuteCommand ( LPCSTR szClass, LPCSTR szVerb, LPSTR szDest, DWORD len ) { HKEY hkey; char sTemp[256]; @@ -57,4 +57,40 @@ BOOL32 WINAPI HCR_GetExecuteCommand ( LPCSTR szClass, LPCSTR szVerb, LPSTR szDes return TRUE; } +/*************************************************************************************** +* HCR_GetDefaultIcon [internal] +* +* Gets the icon for a filetype +*/ +BOOL32 HCR_GetDefaultIcon (LPCSTR szClass, LPSTR szDest, DWORD len, LPDWORD dwNr) +{ HKEY hkey; + char sTemp[256]; + char sNum[5]; + + TRACE(shell, "%s\n",szClass ); + + sprintf(sTemp, "%s\\DefaultIcon",szClass); + + if (RegOpenKeyEx32A(HKEY_CLASSES_ROOT,sTemp,0,0x02000000,&hkey)) + { return FALSE; + } + + if (RegQueryValue32A(hkey,NULL,szDest,&len)) + { RegCloseKey(hkey); + return FALSE; + } + + RegCloseKey(hkey); + + if (ParseField32A (szDest, 2, sNum, 5)) + { *dwNr=atoi(sNum); + } + + ParseField32A (szDest, 1, szDest, len); + + TRACE(shell, "-- %s %li\n", szDest, *dwNr ); + + return TRUE; + +}