Code/Resource
Windows Develop
Linux-Unix program
Internet-Socket-Network
Web Server
Browser Client
Ftp Server
Ftp Client
Browser Plugins
Proxy Server
Email Server
Email Client
WEB Mail
Firewall-Security
Telnet Server
Telnet Client
ICQ-IM-Chat
Search Engine
Sniffer Package capture
Remote Control
xml-soap-webservice
P2P
WEB(ASP,PHP,...)
TCP/IP Stack
SNMP
Grid Computing
SilverLight
DNS
Cluster Service
Network Security
Communication-Mobile
Game Program
Editor
Multimedia program
Graph program
Compiler program
Compress-Decompress algrithms
Crypt_Decrypt algrithms
Mathimatics-Numerical algorithms
MultiLanguage
Disk/Storage
Java Develop
assembly language
Applications
Other systems
Database system
Embeded-SCM Develop
FlashMX/Flex
source in ebook
Delphi VCL
OS Develop
MiddleWare
MPI
MacOS develop
LabView
ELanguage
Software/Tools
E-Books
Artical/Document
urlshell.h
Package: shell.rar [view]
Upload User: xhy777
Upload Date: 2007-02-14
Package Size: 24088k
Code Size: 7k
Category:
Windows Kernel
Development Platform:
Visual C++
- #ifndef _URLSHELL_H_
- #define _URLSHELL_H_
- // This header is an extraction of private macros and prototypes that
- // originally came from shellp.h and shellprv.h.
- #define DATASEG_READONLY DATA_SEG_READ_ONLY
- #ifndef DebugMsg /* ;Internal */
- #define DM_TRACE 0x0001 // Trace messages /* ;Internal */
- #define DM_WARNING 0x0002 // Warning /* ;Internal */
- #define DM_ERROR 0x0004 // Error /* ;Internal */
- #define DM_ASSERT 0x0008 // Assertions /* ;Internal */
- #define Assert(f) /* ;Internal */
- #define AssertE(f) (f) /* ;Internal */
- #define AssertMsg 1 ? (void)0 : (void) /* ;Internal */
- #define DebugMsg 1 ? (void)0 : (void) /* ;Internal */
- #endif /* ;Internal */
- #define ARRAYSIZE(a) (sizeof(a)/sizeof(a[0]))
- #define ENTERCRITICAL Shell_EnterCriticalSection();
- #define LEAVECRITICAL Shell_LeaveCriticalSection();
- void Shell_EnterCriticalSection(void);
- void Shell_LeaveCriticalSection(void);
- #define CCH_KEYMAX 64 // DOC: max size of a reg key (under shellex)
- #define FillExecInfo(_info, _hwnd, _verb, _file, _params, _dir, _show)
- (_info).hwnd = _hwnd;
- (_info).lpVerb = _verb;
- (_info).lpFile = _file;
- (_info).lpParameters = _params;
- (_info).lpDirectory = _dir;
- (_info).nShow = _show;
- (_info).fMask = 0;
- (_info).cbSize = SIZEOF(SHELLEXECUTEINFO);
- // Define some registry caching apis. This will allow us to minimize the
- // changes needed in the shell code and still try to reduce the number of
- // calls that we make to the registry.
- LONG SHRegQueryValueA(HKEY hKey,LPCSTR lpSubKey,LPSTR lpValue,PLONG lpcbValue);
- LONG SHRegQueryValueExA(HKEY hKey,LPCSTR lpValueName,LPDWORD lpReserved,LPDWORD lpType,LPBYTE lpData,LPDWORD lpcbData);
- LONG SHRegQueryValueW(HKEY hKey,LPCWSTR lpSubKey,LPWSTR lpValue,PLONG lpcbValue);
- LONG SHRegQueryValueExW(HKEY hKey,LPCWSTR lpValueName,LPDWORD lpReserved,LPDWORD lpType,LPBYTE lpData,LPDWORD lpcbData);
- #define GCD_MUSTHAVEOPENCMD 0x0001
- #define GCD_ADDEXETODISPNAME 0x0002 // must be used with GCD_MUSTHAVEOPENCMD
- #define GCD_ALLOWPSUDEOCLASSES 0x0004 // .ext type extensions
- // Only valid when used with FillListWithClasses
- #define GCD_MUSTHAVEEXTASSOC 0x0008 // There must be at least one extension assoc
- #define DECLAREWAITCURSOR HCURSOR hcursor_wait_cursor_save
- #define SetWaitCursor() hcursor_wait_cursor_save = SetCursor(LoadCursor(NULL, IDC_WAIT))
- #define ResetWaitCursor() SetCursor(hcursor_wait_cursor_save)
- // indexes into the shell image lists (Shell_GetImageList) for default images
- // If you add to this list, you also need to update II_LASTSYSICON!
- #define II_DOCNOASSOC 0 // document (blank page) (not associated)
- #define II_APPLICATION 2 // application (exe, com, bat)
- WINSHELLAPI BOOL WINAPI Shell_GetImageLists(HIMAGELIST *phiml, HIMAGELIST *phimlSmall);
- WINSHELLAPI int WINAPI Shell_GetCachedImageIndex(LPCTSTR pszIconPath, int iIconIndex, UINT uIconFlags);
- WINSHELLAPI int WINAPI PickIconDlg(HWND hwnd, LPSTR pszIconPath, UINT cbIconPath, int *piIconIndex);
- WINSHELLAPI BOOL WINAPI GetFileNameFromBrowse(HWND hwnd, LPSTR szFilePath, UINT cbFilePath, LPCSTR szWorkingDir, LPCSTR szDefExt, LPCSTR szFilters, LPCSTR szTitle);
- WINSHELLAPI void WINAPI PathGetShortPath(LPTSTR pszLongPath);
- WINSHELLAPI BOOL WINAPI PathYetAnotherMakeUniqueName(LPTSTR pszUniqueName, LPCTSTR pszPath, LPCTSTR pszShort, LPCTSTR pszFileSpec);
- extern DWORD WINAPI GetExeType(LPCTSTR pszFile);
- WINSHELLAPI LPITEMIDLIST WINAPI SHSimpleIDListFromPath(LPCTSTR pszPath);
- WINSHELLAPI void WINAPI ILFree(LPITEMIDLIST pidl);
- //
- // Path processing function
- //
- #define PPCF_ADDQUOTES 0x00000001 // return a quoted name if required
- #define PPCF_ADDARGUMENTS 0x00000003 // appends arguments (and wraps in quotes if required)
- #define PPCF_NODIRECTORIES 0x00000010 // don't match to directories
- #define PPCF_NORELATIVEOBJECTQUALIFY 0x00000020 // don't return fully qualified relative objects
- #define PPCF_FORCEQUALIFY 0x00000040 // qualify even non-relative names
- WINSHELLAPI LONG WINAPI PathProcessCommand( LPCTSTR lpSrc, LPTSTR lpDest, int iMax, DWORD dwFlags );
- // PathResolve flags
- #define PRF_VERIFYEXISTS 0x0001
- #define PRF_TRYPROGRAMEXTENSIONS (0x0002 | PRF_VERIFYEXISTS)
- #define PRF_FIRSTDIRDEF 0x0004
- #define PRF_DONTFINDLNK 0x0008 // if PRF_TRYPROGRAMEXTENSIONS is specified
- WINSHELLAPI int WINAPI PathResolve(LPTSTR lpszPath, LPCTSTR FAR dirs[], UINT fFlags);
- //======Hash Item=============================================================
- typedef struct _HashTable * PHASHTABLE;
- #define PHASHITEM LPCTSTR
- typedef void (CALLBACK *HASHITEMCALLBACK)(PHASHTABLE pht, LPCTSTR sz, UINT wUsage, DWORD param);
- LPCTSTR WINAPI FindHashItem (PHASHTABLE pht, LPCTSTR lpszStr);
- LPCTSTR WINAPI AddHashItem (PHASHTABLE pht, LPCTSTR lpszStr);
- LPCTSTR WINAPI DeleteHashItem(PHASHTABLE pht, LPCTSTR lpszStr);
- LPCTSTR WINAPI PurgeHashItem (PHASHTABLE pht, LPCTSTR lpszStr);
- #define GetHashItemName(pht, sz, lpsz, cch) lstrcpyn(lpsz, sz, cch)
- PHASHTABLE WINAPI CreateHashItemTable(UINT wBuckets, UINT wExtra, BOOL fCaseSensitive);
- void WINAPI DestroyHashItemTable(PHASHTABLE pht);
- void WINAPI SetHashItemData(PHASHTABLE pht, LPCTSTR lpszStr, int n, DWORD dwData);
- DWORD WINAPI GetHashItemData(PHASHTABLE pht, LPCTSTR lpszStr, int n);
- void * WINAPI GetHashItemDataPtr(PHASHTABLE pht, LPCTSTR lpszStr);
- void WINAPI EnumHashItems(PHASHTABLE pht, HASHITEMCALLBACK callback, DWORD dwParam);
- #ifdef DEBUG
- void WINAPI DumpHashItemTable(PHASHTABLE pht);
- #endif
- #ifndef SIZEOF
- #define SIZEOF(a) sizeof(a)
- #endif
- #ifndef ARRAYSIZE
- #define ARRAYSIZE(a) (sizeof(a)/sizeof(a[0]))
- #endif
- #define PATH_CCH_EXT 64
- #endif // _URLSHELL_H_