* patch by "Vasil" to fix various WinCE and Win32 API conversion issues

git-svn-id: trunk@15824 -
This commit is contained in:
florian 2010-08-15 19:39:31 +00:00
parent 1e0228d72b
commit 59702147ff
11 changed files with 1093 additions and 53 deletions

View File

@ -80,9 +80,6 @@
288 SHBorderRectangle 288 SHBorderRectangle
104 SHBox 104 SHBox
103 SHBoxEx 103 SHBoxEx
114 SHChangeNotifyDeregister
115 SHChangeNotifyFree
113 SHChangeNotifyRegister
48 SHCheckForContextMenu 48 SHCheckForContextMenu
86 SHClearStartedBit 86 SHClearStartedBit
55 SHColorDisplay 55 SHColorDisplay
@ -95,7 +92,6 @@
41 SHCreateContextMenu 41 SHCreateContextMenu
43 SHCreateMainWindow 43 SHCreateMainWindow
74 SHCreateMenuBarInternal 74 SHCreateMenuBarInternal
108 SHCreateNewItem
53 SHCreateSystemFont 53 SHCreateSystemFont
35 SHCreateWorkerWindow 35 SHCreateWorkerWindow
329 SHDeleteTodayWallpaper 329 SHDeleteTodayWallpaper
@ -127,7 +123,6 @@
72 SHFontMgrManageFonts 72 SHFontMgrManageFonts
33 SHForceBaseState 33 SHForceBaseState
99 SHForceBaseStateEx 99 SHForceBaseStateEx
102 SHFreeContextMenuExtensions
120 SHFreeScanners 120 SHFreeScanners
213 SHGetActiveDialog 213 SHGetActiveDialog
292 SHGetBitmapDimensions 292 SHGetBitmapDimensions
@ -136,9 +131,7 @@
224 SHGetCarrierBrandingFlag 224 SHGetCarrierBrandingFlag
96 SHGetDeviceFeatureLevel 96 SHGetDeviceFeatureLevel
299 SHGetDisplayRotation 299 SHGetDisplayRotation
128 SHGetEmergencyCallList
218 SHGetFontHeight 218 SHGetFontHeight
232 SHGetInputContext
133 SHGetKOBits 133 SHGetKOBits
305 SHGetLandscapeRotationSettings 305 SHGetLandscapeRotationSettings
345 SHGetLegacySupportWindow 345 SHGetLegacySupportWindow
@ -168,11 +161,9 @@
149 SHInitPresetMessages 149 SHInitPresetMessages
181 SHInsertPresetMessage 181 SHInsertPresetMessage
129 SHInvalidateScreen 129 SHInvalidateScreen
101 SHInvokeContextMenuCommand
123 SHIsLocked 123 SHIsLocked
295 SHIsPreOzoneUpdate 295 SHIsPreOzoneUpdate
94 SHIsPreRapierApp 94 SHIsPreRapierApp
100 SHLoadContextMenuExtensions
230 SHLoadFileContextMenuExtensions 230 SHLoadFileContextMenuExtensions
313 SHLoadFontFromResource 313 SHLoadFontFromResource
91 SHLoadMenuPopup 91 SHLoadMenuPopup
@ -182,10 +173,6 @@
235 SHMakeValidFilename 235 SHMakeValidFilename
32 SHMessageBox 32 SHMessageBox
80 SHNewProfileObj 80 SHNewProfileObj
155 SHNotificationAdd
173 SHNotificationGetData
157 SHNotificationRemove
156 SHNotificationUpdate
208 SHNotifyAppsOnCallConnect 208 SHNotifyAppsOnCallConnect
210 SHNotifyAppsOnCarkit 210 SHNotifyAppsOnCarkit
165 SHNotifyAppsOnDock 165 SHNotifyAppsOnDock
@ -220,11 +207,9 @@
119 SHScanFile 119 SHScanFile
97 SHSendBackToFocusWindow 97 SHSendBackToFocusWindow
169 SHSetAsWatermark 169 SHSetAsWatermark
184 SHSetBack
161 SHSetBubbleRegion 161 SHSetBubbleRegion
298 SHSetDisplayRotation 298 SHSetDisplayRotation
131 SHSetForegroundLastActivePopup 131 SHSetForegroundLastActivePopup
231 SHSetInputContext
134 SHSetKOBits 134 SHSetKOBits
154 SHSetPresetMessage 154 SHSetPresetMessage
170 SHSetSimToolkitMenu 170 SHSetSimToolkitMenu
@ -284,6 +269,8 @@ unit aygshell;
interface interface
{$MODE OBJFPC}
uses windows; uses windows;
{$calling cdecl} {$calling cdecl}
@ -481,6 +468,140 @@ type
PSHCAMERACAPTURE=^TSHCAMERACAPTURE; PSHCAMERACAPTURE=^TSHCAMERACAPTURE;
//====== File System Notification APIs ===============================
//
//
// File System Notification flags
//
const
SHCNE_RENAME = $00000001; // GOING AWAY
SHCNE_RENAMEITEM = $00000001;
SHCNE_CREATE = $00000002;
SHCNE_DELETE = $00000004;
SHCNE_MKDIR = $00000008;
SHCNE_RMDIR = $00000010;
SHCNE_MEDIAINSERTED = $00000020;
SHCNE_MEDIAREMOVED = $00000040;
SHCNE_DRIVEREMOVED = $00000080;
SHCNE_DRIVEADD = $00000100;
SHCNE_NETSHARE = $00000200;
SHCNE_NETUNSHARE = $00000400;
SHCNE_ATTRIBUTES = $00000800;
SHCNE_UPDATEDIR = $00001000;
SHCNE_UPDATEITEM = $00002000;
SHCNE_SERVERDISCONNECT = $00004000;
SHCNE_UPDATEIMAGE = $00008000;
SHCNE_DRIVEADDGUI = $00010000;
SHCNE_RENAMEFOLDER = $00020000;
SHCNE_ASSOCCHANGED = $08000000;
SHCNE_DISKEVENTS = $0002381F;
SHCNE_GLOBALEVENTS = $0C0181E0; // Events that dont match pidls first
SHCNE_ALLEVENTS = $7FFFFFFF;
SHCNE_INTERRUPT = $80000000; // The presence of this flag indicates
// that the event was generated by an
// interrupt. It is stripped out before
// the clients of SHCNNotify_ see it.
// Flags
// uFlags & SHCNF_TYPE is an ID which indicates what dwItem1 and dwItem2 mean
SHCNF_IDLIST = $0000; // LPITEMIDLIST
SHCNF_PATH = $0001; // path name
SHCNF_PRINTER = $0002; // printer friendly name
SHCNF_DWORD = $0003; // DWORD
SHCNF_TYPE = $00FF;
SHCNF_FLUSH = $1000;
SHCNF_FLUSHNOWAIT = $2000;
const
WM_FILECHANGEINFO = WM_APP + $0101;
type
_FILECHANGEINFO = record
cbSize:DWORD;
wEventId:LONG;
uFlags:ULONG;
dwItem1:DWORD;
dwItem2:DWORD;
dwAttributes:DWORD;
ftModified:FILETIME;
nFileSize:ULONG;
end;
FILECHANGEINFO = _FILECHANGEINFO;
LPFILECHANGEINFO = ^_FILECHANGEINFO;
LPCFILECHANGEINFO = ^FILECHANGEINFO;
tagFILECHANGENOTIFY = record
dwRefCount:DWORD;
fci:FILECHANGEINFO;
end;
FILECHANGENOTIFY = tagFILECHANGENOTIFY;
LPFILECHANGENOTIFY = ^tagFILECHANGENOTIFY;
tagSHCHANGENOTIFYENTRY = record
dwEventMask:DWORD; // Events to watch
pszWatchDir:LPTSTR; // Directory or root for the events we want. NULL means all.
fRecursive:BOOL; // Indicates whether look just for pszWatchDir or recursively.
end;
SHCHANGENOTIFYENTRY = tagSHCHANGENOTIFYENTRY;
LPSHCHANGENOTIFYENTRY = ^tagSHCHANGENOTIFYENTRY;
//////////////////////////////////////////////////////////////////////////////
//
// Input Context API
//
// These are definitions and APIs for the interacting with the input context
// properties of individual windows
//
{$PUSH}
{$PACKENUM 4}
// Word correct Options
type
SHIC_FEATURE = (SHIC_FEATURE_RESTOREDEFAULT := 0,
SHIC_FEATURE_AUTOCORRECT := $00000001,
SHIC_FEATURE_AUTOSUGGEST := $00000002,
SHIC_FEATURE_HAVETRAILER := $00000003,
SHIC_FEATURE_CLASS := $00000004);
{$POP}
const
// Predefined input context classes
SHIC_CLASS_DEFAULT = '';
SHIC_CLASS_EMAIL = 'email';
SHIC_CLASS_URL = 'url';
SHIC_CLASS_PHONE = 'phone';
SHIC_CLASS_NAME = 'name';
SHIC_CLASS_PHONE_AND_EMAIL = 'phoneAndEmail';
SHIC_CLASS_MAXLEN = MAX_PATH - 11;
//@topic Input Context Features |
// The input context API supports the following features and their corresponding values:
//
//@flag SHIC_FEATURE_RESTOREDEFAULT | Restore original input context state. (no corresponding value)
//@flag SHIC_FEATURE_AUTOCORRECT | Turn auto-corrections on and off. (TRUE, FALSE)
//@flag SHIC_FEATURE_AUTOCOMPLETE | Turn dictionary suggestions on and off. (TRUE, FALSE)
//@flag SHIC_FEATURE_HAVETRAILER | Specify whether to append trailer characters after replacing words.
// (TRUE, FALSE)
//@flag SHIC_FEATURE_CLASS | Make this control behave like a specific semantic type.
// (SHIC_CLASS_DEFAULT, SHIC_CLASS_EMAIL, SHIC_CLASS_URL,
// SHIC_CLASS_PHONE, SHIC_CLASS_NAME, SHIC_CLASS_PHONE_AND_EMAIL)
//
//@comm All SHIC_FEATUREs are inherited from parent if undefined. That is, if they are not defined in
// a window or the window's SHIC class, the API looks at the parent chain to find the setting
// that applies to the window.
//
//@xref <f SHSetInputContext> <f SHGetInputContext>
//
//
// end Input Context API
//
//////////////////////////////////////////////////////////////////////////////
//***************************************************************************** //*****************************************************************************
// functions // functions
//***************************************************************************** //*****************************************************************************
@ -489,17 +610,45 @@ function PathAddBackslash(lpszPath:LPTSTR):LPTSTR; external UserDLLAyg name 'Pat
function PathCombine(lpszDest:LPTSTR; lpszDir:LPCTSTR; lpszFile:LPCTSTR):LPTSTR; external UserDLLAyg name 'PathCombine'; // index 26 function PathCombine(lpszDest:LPTSTR; lpszDir:LPCTSTR; lpszFile:LPCTSTR):LPTSTR; external UserDLLAyg name 'PathCombine'; // index 26
function ExitWindowsEx(uFlags:UINT; dwReserved:DWORD):WINBOOL; external UserDLLAyg name 'ExitWindowsEx'; function ExitWindowsEx(uFlags:UINT; dwReserved:DWORD):WINBOOL; external UserDLLAyg name 'ExitWindowsEx';
function SHChangeNotifyDeregister(_hwnd:HWND):BOOL; external UserDLLAyg name 'SHChangeNotifyDeregister'; // index 114
procedure SHChangeNotifyFree(pfcn:LPFILECHANGENOTIFY); external UserDLLAyg name 'SHChangeNotifyFree'; // index 115
function SHChangeNotifyRegister(_hwnd:HWND; pshcne:LPSHCHANGENOTIFYENTRY):BOOL; external UserDLLAyg name 'SHChangeNotifyRegister'; // index 113
function SHCloseApps( dwMemSought : DWORD ): WINBOOL; external UserDLLAyg name 'SHCloseApps'; function SHCloseApps( dwMemSought : DWORD ): WINBOOL; external UserDLLAyg name 'SHCloseApps';
function SHCreateMenuBar(pmbi : PSHMENUBARINFO ): WINBOOL; external UserDLLAyg name 'SHCreateMenuBar'; function SHCreateMenuBar(pmbi : PSHMENUBARINFO ): WINBOOL; external UserDLLAyg name 'SHCreateMenuBar';
// SHCreateNewItem
// Creates a New item, as if an item were chosen from the
// global New menu dropdown.
function SHCreateNewItem(hwndOwner:HWND; clsid:PCLSID{REFCLSID}):HRESULT; external UserDLLAyg name 'SHCreateNewItem'; // index 108
function SHDoneButton(hwndRequester: HWND ; dwState : DWORD ): WINBOOL; external UserDLLAyg name 'SHDoneButton'; function SHDoneButton(hwndRequester: HWND ; dwState : DWORD ): WINBOOL; external UserDLLAyg name 'SHDoneButton';
function SHFindMenuBar(hwnd:HWND) : HWND; external UserDLLAyg name 'SHFindMenuBar'; function SHFindMenuBar(hwnd:HWND) : HWND; external UserDLLAyg name 'SHFindMenuBar';
function SHFreeContextMenuExtensions(hCMExtensions:HANDLE):BOOL; external UserDLLAyg name 'SHFreeContextMenuExtensions'; // index 102
function SHFullScreen(hwmdRequester: hWnd; dwState: DWord): WINBOOL; external UserDLLAyg name 'SHFullScreen'; {Pocket PC special controls} function SHFullScreen(hwmdRequester: hWnd; dwState: DWord): WINBOOL; external UserDLLAyg name 'SHFullScreen'; {Pocket PC special controls}
function SHGetAutoRunPath( pAutoRunPath : LPTSTR ): WINBOOL; external UserDLLAyg name 'SHGetAutoRunPath'; function SHGetAutoRunPath( pAutoRunPath : LPTSTR ): WINBOOL; external UserDLLAyg name 'SHGetAutoRunPath';
// SHGetEmergencyCallList
// Gets a list of emergency calls
function SHGetEmergencyCallList(pwszBuffer:PTCHAR; uLenBuf:UINT):HRESULT; external UserDLLAyg name 'SHGetEmergencyCallList'; // index 128
function SHHandleWMActivate(hwnd:HWND; wParam:WPARAM; lParam:LPARAM; psai: PSHACTIVATEINFO; dwFlags:DWORD ): WINBOOL; external UserDLLAyg index 84; function SHHandleWMActivate(hwnd:HWND; wParam:WPARAM; lParam:LPARAM; psai: PSHACTIVATEINFO; dwFlags:DWORD ): WINBOOL; external UserDLLAyg index 84;
function SHHandleWMSettingChange(hwnd:HWND; wParam:WPARAM; lParam:LPARAM; psai: PSHACTIVATEINFO): WINBOOL; external UserDLLAyg index 83; function SHHandleWMSettingChange(hwnd:HWND; wParam:WPARAM; lParam:LPARAM; psai: PSHACTIVATEINFO): WINBOOL; external UserDLLAyg index 83;
function SHInitDialog(pshidi: PSHINITDLGINFO): WINBOOL; external UserDLLAyg name 'SHInitDialog'; function SHInitDialog(pshidi: PSHINITDLGINFO): WINBOOL; external UserDLLAyg name 'SHInitDialog';
function SHInitExtraControls: WINBOOL; external UserDLLAyg name 'SHInitExtraControls'; function SHInitExtraControls: WINBOOL; external UserDLLAyg name 'SHInitExtraControls';
procedure SHInputDialog(hwnd : HWND; uMsg : UINT; wParam: WPARAM ); external UserDLLAyg name 'SHInputDialog'; procedure SHInputDialog(hwnd : HWND; uMsg : UINT; wParam: WPARAM ); external UserDLLAyg name 'SHInputDialog';
// Invokes a command from a context menu. Issues the command in the
// extension that added it to the menu.
function SHInvokeContextMenuCommand(hwndOwner:HWND; idCmd:UINT; hCMExtensions:HANDLE):BOOL; external UserDLLAyg name 'SHInvokeContextMenuCommand'; // index 101
function SHLoadContextMenuExtensions(punkOwner:IUnknown;
pszContext:LPCTSTR;
pszClass:LPCTSTR;
_hmenu:HMENU;
idCmdFirst:UINT;
idCmdLast:UINT;
phCMExtensions:LPHANDLE):BOOL; external UserDLLAyg name 'SHLoadContextMenuExtensions'; // index 100
function SHGetAppKeyAssoc( ptszApp: LPCTSTR ): Byte; external UserDLLAyg name 'SHGetAppKeyAssoc'; function SHGetAppKeyAssoc( ptszApp: LPCTSTR ): Byte; external UserDLLAyg name 'SHGetAppKeyAssoc';
function SHSetAppKeyWndAssoc( bVk: BYTE ; hwnd : HWND ): WINBOOL; external UserDLLAyg name 'SHSetAppKeyWndAssoc'; function SHSetAppKeyWndAssoc( bVk: BYTE ; hwnd : HWND ): WINBOOL; external UserDLLAyg name 'SHSetAppKeyWndAssoc';
function SHSetNavBarText(hwndRequester : HWND; pszText : LPCTSTR): WINBOOL; external UserDLLAyg name 'SHSetNavBarText'; function SHSetNavBarText(hwndRequester : HWND; pszText : LPCTSTR): WINBOOL; external UserDLLAyg name 'SHSetNavBarText';
@ -511,6 +660,382 @@ function SHSipPreference(hwnd: HWND ; st : SIPSTATE ) : WINBOOL; external UserDL
function SHRecognizeGesture(var shrg : SHRGINFO): DWORD; external UserDLLAyg name 'SHRecognizeGesture'; function SHRecognizeGesture(var shrg : SHRGINFO): DWORD; external UserDLLAyg name 'SHRecognizeGesture';
function SHCameraCapture(var shcc: TSHCAMERACAPTURE): HRESULT; external UserDLLAyg name 'SHCameraCapture'; function SHCameraCapture(var shcc: TSHCAMERACAPTURE): HRESULT; external UserDLLAyg name 'SHCameraCapture';
//////////////////////////////////////////////////////////////////////////////
//
// Input Context API
//
// These are definitions and APIs for the interacting with the input context
// properties of individual windows
//
//++++++
//
//@func HRESULT | SHSetInputContext | Changes the state of an input context feature
//
//@parm HWND | hwnd | IN - Window whose context will be set
//@parm DWORD | dwFeature | IN - Input context feature to change
//@parm const LPVOID | lpValue | IN - New value assigned to feature
//
//@rdesc Returns one of the following values:
//@flag S_OK | If everything went well
//@flag ERROR_INVALID_PARAMETER | if hwnd was NULL or lpValue was NULL for a feature
// that does not support it, such as SHIC_FEATURE_AUTOCORRECT,
// SHIC_FEATURE_AUTOCOMPLETE and SHIC_FEATURE_HAVETRAILER.
//@flag ERROR_NOT_SUPPORTED | If the feature specified was invalid
//@flag ERROR_INVALID_DATA | If the specified value is not a legal option
//
//@xref <l Input_Context_Features> <f SHGetInputContext>
//
function SHSetInputContext(_hwnd:HWND; dwFeature:DWORD; lpValue:LPVOID):HRESULT; external UserDLLAyg name 'SHSetInputContext'; // index 231
//++++++
//
//@func HRESULT | SHGetInputContext | Retrieves current state of an input context feature
//
//@parm HWND | hwnd | IN - Window whose context will be retrieved
//@parm DWORD | dwFeature | IN - Input context feature to retrieve
//@parm LPVOID | lpValue | OUT - Buffer to hold current value of feature
//@parm LPDWORD | pdwSize | IN/OUT - size of the buffer passed in to retrieve the value
//
//@rdesc Returns one of the following values:
//@flag S_OK | If everything went well
//@flag ERROR_INVALID_PARAMETER | If hwnd or lpdwSize passed were NULL
//@flag ERROR_NOT_SUPPORTED | If the feature specified was invalid
//@flag ERROR_INSUFFICIENT_BUFFER | If buffer passed is too small
//
//@comm Retrieves the current state/value of the specified
// input context feature. If the value is not explicitly set, it
// looks at the features set by the context class. If no class was
// set explicitly, or the class didn't set that value, it returns
// the default value for that feature, which would be the
// currently active one.
// If lpValue is NULL and lpdwSize is not NULL, it returns the
// size of the buffer needed in lpdwSize.
//
//@xref <l Input_Context_Features> <f SHSetInputContext>
//
function SHGetInputContext(_hwnd:HWND; dwFeature:DWORD; lpValue:LPVOID; lpdwSize:LPDWORD):HRESULT; external UserDLLAyg name 'SHGetInputContext'; // index 232
//
// end Input Context API
//
//////////////////////////////////////////////////////////////////////////////
//////////////////////////////////////////////////////////////////////////////
//
// SHNAPI - Shell Notification API
//
// These are definitions and APIs for the Shell Notifications system
//
// {
// notification priority
type
_SHNP = (SHNP_INFORM := $01B1, // bubble shown for duration, then goes away
SHNP_ICONIC // no bubble, icon shown for duration then goes away
);
SHNP = _SHNP;
const
// notification update mask
SHNUM_PRIORITY = $0001;
SHNUM_DURATION = $0002;
SHNUM_ICON = $0004;
SHNUM_HTML = $0008;
SHNUM_TITLE = $0010;
SHNUM_SOFTKEYS = $0020;
SHNUM_TODAYKEY = $0040;
SHNUM_TODAYEXEC = $0080;
SHNUM_SOFTKEYCMDS = $0100;
SHNUM_FLAGS = $0200;
// notification data
// Softkey Flags for use with SFTKEYNOTIFY structure
NOTIF_SOFTKEY_FLAGS_DISMISS = $0000; // Remove the notification when the softkey is pressed
NOTIF_SOFTKEY_FLAGS_HIDE = $0001; // Hide the notification when the softkey is pressed (but do not dismiss)
NOTIF_SOFTKEY_FLAGS_STAYOPEN = $0002; // Do not dismiss or hide the notification when the softkey is pressed
NOTIF_SOFTKEY_FLAGS_SUBMIT_FORM = $0004; // Submit the HTML form in the associated notification instead of sending WM_COMMAND to the sink
NOTIF_SOFTKEY_FLAGS_DISABLED = $0008; // This softkey is disabled
// Structure used to associate a command id from a notification's softkey bar
// with a particular behaviour.
type
SOFTKEYCMD = record
wpCmd:WPARAM; // command to send with WM_COMMAND when pressed.
grfFlags:DWORD; // define special behaviour for this softkey as
// per NOTIF_SOFTKEY_FLAGS
end;
LPSOFTKEYCMD = ^SOFTKEYCMD;
// structure to define a single softkey for use in SHNOTIFICATIONDATA
type
_SOFTKEYNOTIFY = record
pszTitle:LPCTSTR; // Title to use on the softkey
skc:SOFTKEYCMD; // Behaviour flags
end;
SOFTKEYNOTIFY = _SOFTKEYNOTIFY;
LPSOFTKEYNOTIFY = ^_SOFTKEYNOTIFY;
// structure to define a menu for use in SHNOTIFICATIONDATA
type
_SOFTKEYMENU = record
hMenu:HMENU;
prgskc:LPSOFTKEYCMD; // optional array of SOFTKEYCMD values
cskc:UINT; // number of members of pskCmd
end;
SOFTKEYMENU = _SOFTKEYMENU;
LPSOFTKEYMENU = ^_SOFTKEYMENU;
const
// number of soft keys on the notification soft key bar.
NOTIF_NUM_SOFTKEYS = 2;
type
_SHNOTIFICATIONDATA =record
cbStruct:DWORD; // for verification and versioning
dwID:DWORD; // identifier for this particular notification
npPriority:SHNP; // priority
csDuration:DWORD; // duration of the notification (usage depends on prio)
hicon:HICON; // the icon for the notification
grfFlags:DWORD; // flags - see SHNF_ flags below
clsid:CLSID; // unique identifier for the notification class
hwndSink:HWND; // window to receive command choices, dismiss, etc.
pszHTML:LPCTSTR; // HTML content for the bubble
pszTitle:LPCTSTR; // Optional title for bubble
lParam:LPARAM; // User-defined parameter
case longint of // Defines the softkey bar for the notification
0: (skm:SOFTKEYMENU; // Either pass an HMENU in skn (and set SHNF_HASMENU)
pszTodaySK:LPCTSTR; // Text to put on SK2 on the Today screen. If NULL, will default to "Notification"
pszTodayExec:LPCTSTR // What to execute when SK2 is pressed. If NULL, the toast will be displayed.
);
1: (rgskn:array[0..NOTIF_NUM_SOFTKEYS-1] of SOFTKEYNOTIFY; // or two softkeys in rgskn.
pszTodaySK1:LPCTSTR; // Text to put on SK2 on the Today screen. If NULL, will default to "Notification"
pszTodayExec1:LPCTSTR // What to execute when SK2 is pressed. If NULL, the toast will be displayed.
);
end;
SHNOTIFICATIONDATA = _SHNOTIFICATIONDATA;
LPSHNOTIFICATIONDATA = ^_SHNOTIFICATIONDATA;
// Flags
const
// For SHNP_INFORM priority and above, don't display the notification bubble
// when it's initially added; the icon will display for the duration then it
// will go straight into the tray. The user can view the icon / see the
// bubble by opening the tray.
SHNF_STRAIGHTTOTRAY = $00000001;
// Critical information - highlights the border and title of the bubble.
SHNF_CRITICAL = $00000002;
// Force the message (bubble) to display even if settings says not to.
SHNF_FORCEMESSAGE = $00000008;
// Force the display to turn on for notification.
SHNF_DISPLAYON = $00000010;
// Force the notification to be silent and not vibrate, regardless of Settings
SHNF_SILENT = $00000020;
// Softkey bar is created from an HMENU passed in skm structure
SHNF_HASMENU = $00000040;
// Draw the current time with the title
SHNF_TITLETIME = $00000080;
// A notification with "stack" support
SHNF_SPINNERS = $00000100;
// RE-play physical alerts on an update
SHNF_ALERTONUPDATE = $00000200;
//Capture the VK_TTALK button and forward it to the notification's sink window
SHNF_WANTVKTTALK = $00000400;
// notification message and codes for window-based notification
// the notification's dwID is in hdr.idFrom
type
_NMSHN = record
hdr:NMHDR;
lParam:LPARAM;
dwReturn:DWORD;
case longint of
0: (pszLink:LPCTSTR);
1: (fTimeout:BOOL);
2: (pt:POINT);
end;
NMSHN = _NMSHN;
LPNMSHN = ^_NMSHN;
//#define SHN_FIRST (0U-1000U) // Shell reserved
const
SHNN_FIRST = UINT(0)-UINT(1000); // Shell Notifications
SHNN_LAST = UINT(0)-UINT(1020); // Shell Notifications
//#define SHN_LAST (0U-11000U)
const
SHNN_LINKSEL = SHNN_FIRST - 0;
// nmshn.pszLink contains the link text of the choice that was selected
SHNN_DISMISS = SHNN_FIRST - 1;
// nmshn.fTimeout is TRUE if duration expired, FALSE if user tapped away
SHNN_SHOW = SHNN_FIRST - 2;
// nmshn.pt contains the point to which the bubble points
SHNN_NAVPREV = SHNN_FIRST - 3;
// Toast stack left spinner clicked / DPAD LEFT
SHNN_NAVNEXT = SHNN_FIRST - 4;
// Toast stack right spinner clicked / DPAD RIGHT
SHNN_ACTIVATE = SHNN_FIRST - 5;
// Toast DPAD Action
SHNN_ICONCLICKED = SHNN_FIRST - 6;
// nmshn.pt contains the point where the user clicked
SHNN_HOTKEY = SHNN_FIRST - 7;
// A hotkey has been pressed - modifiers are in the loword of the nmshn.lParam,
// the virtual key code is in the hiword.
// If the sink window returns 0 in response to this notification, then
// the notification toast will be hidden and VK_TTALK key default behavior
// will be performed.
//===========================================================================
//
// Interface: IShellNotificationCallback
//
// The IShellNotificationCallback interface is used by the Shell to advise
// the notification owner of actions taken on the notification.
//
// [Member functions]
//
// IShellNotificationCallback::OnShow
//
// Reserved. Return E_NOTIMPL.
//
// IShellNotificationCallback::OnCommandSelected
//
// This member function is called when the user selects a link of the form
// <A HREF="cmd:#">link</A>.
//
// Parameters:
// dwID -- the identifier of the notification
// wCmdID -- this is the # in the link
//
// IShellNotificationCallback::OnLinkSelected
//
// This member function is called when the user selects one of the action
// choice links in the notification bubble window.
//
// Parameters:
// dwID -- the identifier of the notification
// pszLink -- the link content that was selected
// lParam -- the lParam of the notification
//
// IShellNotificationCallback::OnDismiss
//
// This member function is called when the user taps away from the bubble
// window or if a SHNP_INFORM priority notification's duration expires.
//
// Parameters:
// dwID -- the identifier of the notification
// fTimeout -- the notification timed out (SHNP_INFORM only)
// lParam -- the lParam of the notification
//
//===========================================================================
const
IID_IShellNotificationCallback:TIID = '{000214C0-0000-0000-C000-000000000046}';
type
IShellNotificationCallback = interface(IUnknown)
['{000214C0-0000-0000-C000-000000000046}']
function OnShow(dwID:DWORD; pt:POINT; lParam:LPARAM):HRESULT; stdcall;
function OnCommandSelected(dwID:DWORD; wCmdID:word):HRESULT; stdcall;
function OnLinkSelected(dwID:DWORD; pszLink:LPCTSTR; lParam:LPARAM):HRESULT; stdcall;
function OnDismiss(dwID:DWORD; fTimeout:BOOL; lParam:LPARAM):HRESULT; stdcall;
end;
//++++++
//
// SHNotificationAdd
//
// Add a notification.
function SHNotificationAdd(pndAdd:LPSHNOTIFICATIONDATA):LRESULT; external UserDLLAyg name 'SHNotificationAdd'; // index 155
//
// End SHNotificationAdd
//
//------
//++++++
//
// SHNotificationUpdate
//
// Update aspects of a pending notification.
function SHNotificationUpdate(grnumUpdateMask:DWORD; pndNew:LPSHNOTIFICATIONDATA):LRESULT; external UserDLLAyg name 'SHNotificationUpdate'; // index 156
//
// End SHNotificationUpdate
//
//------
//++++++
//
// SHNotificationRemove
//
// Remove a notification. This is usually in reponse to some
// action taken on the data outside of the notification system - for example
// if a message is read or deleted.
function SHNotificationRemove(pclsid:LPCLSID; dwID:DWORD):LRESULT; external UserDLLAyg name 'SHNotificationRemove'; // index 157
//
// End SHNotificationRemove
//
//------
//++++++
//
// SHNotificationGetData
//
// Get the data for a notification. Used by a handler to get information
// stored in the notification by the poster.
function SHNotificationGetData(pclsid:LPCLSID; dwID:DWORD; pndBuffer:LPSHNOTIFICATIONDATA):LRESULT; external UserDLLAyg name 'SHNotificationGetData'; // index 173
//
// End SHNotificationGetData
//
//------
// }
//
// end SHNAPI
//
//////////////////////////////////////////////////////////////////////////////
// This function is not implemented.
// It is provided as a stub in the operating system (OS) for application compatibility.
procedure SHSetBack(eOp:longint; _hwnd:HWND); external UserDLLAyg name 'SHSetBack'; // index 184
implementation implementation
end. end.

View File

@ -799,7 +799,7 @@ function ChooseContact(lpcc:LPCHOOSECONTACT):HRESULT; cdecl; external PIMStoreDL
// Returns a Contact object of the first closest match // Returns a Contact object of the first closest match
function FindMatchingContact(pPOOM:IPOutlookApp; pszFind:LPCWSTR; dwFlags:DWORD; out ppContact:IItem; ppropid:CEPROPID):HRESULT; cdecl; external PIMStoreDLL name 'FindMatchingContact'; function FindMatchingContact(pPOOM:IPOutlookApp; pszFind:LPCWSTR; dwFlags:DWORD; out ppContact:IItem; ppropid:PCEPROPID):HRESULT; cdecl; external PIMStoreDLL name 'FindMatchingContact';
// Flags for FindMatchingContact // Flags for FindMatchingContact
const const

View File

@ -1681,9 +1681,12 @@
SIF_RANGE = 1; SIF_RANGE = 1;
SIF_DISABLENOSCROLL = 8; SIF_DISABLENOSCROLL = 8;
{ GetStdHandle } { GetStdHandle }
STD_INPUT_HANDLE = DWORD(-10); STD_INPUT_HANDLE = HANDLE(-10);
STD_OUTPUT_HANDLE = DWORD(-11); STD_OUTPUT_HANDLE = HANDLE(-11);
STD_ERROR_HANDLE = DWORD(-12); STD_ERROR_HANDLE = HANDLE(-12);
INVALID_HANDLE_VALUE = HANDLE(-1); INVALID_HANDLE_VALUE = HANDLE(-1);
@ -4005,6 +4008,7 @@ Type
ACS_AUTOPLAY = 4; ACS_AUTOPLAY = 4;
ACS_CENTER = 1; ACS_CENTER = 1;
ACS_TRANSPARENT = 2; ACS_TRANSPARENT = 2;
ACS_TIMER = 8; // don't use threads... use timers
{ MODEMDEVCAPS structure } { MODEMDEVCAPS structure }
DIALOPTION_BILLING = 64; DIALOPTION_BILLING = 64;
DIALOPTION_QUIET = 128; DIALOPTION_QUIET = 128;
@ -5713,6 +5717,36 @@ const
IMAGE_FILE_MACHINE_M32R = $9041; // M32R little-endian IMAGE_FILE_MACHINE_M32R = $9041; // M32R little-endian
IMAGE_FILE_MACHINE_CEE = $C0EE; IMAGE_FILE_MACHINE_CEE = $C0EE;
// #if(WINVER >= 0x0500)
{/*
* WM_MENUDRAG return values.
*/}
const
MND_CONTINUE = 0;
MND_ENDMENU = 1;
{/*
* MENUGETOBJECTINFO dwFlags values
*/}
const
MNGOF_TOPGAP = $00000001;
MNGOF_BOTTOMGAP = $00000002;
{/*
* WM_MENUGETOBJECT return values
*/}
const
MNGO_NOINTERFACE = $00000000;
MNGO_NOERROR = $00000001;
//#endif /* WINVER >= 0x0500 */
// Menubar information
const
// Constants for the tagMENUBARINFO.FocusedBits bit mask
MBIFB_BAR_FOCUSED = $00000001;
MBIFB_FOCUSED = $00000002;
{$endif read_interface} {$endif read_interface}
{$ifdef read_implementation} {$ifdef read_implementation}

View File

@ -1253,6 +1253,16 @@ function SignalObjectAndWait( hObjectToSignal:THANDLE; hObjectToWaitOn:THANDLE
function CancelWaitableTimer(hTimer:THandle):BOOL; external 'kernel32' name 'CancelWaitableTimer'; function CancelWaitableTimer(hTimer:THandle):BOOL; external 'kernel32' name 'CancelWaitableTimer';
function GetComboBoxInfo(hwndCombo:HWND;pcbi:PCOMBOBOXINFO):BOOL; external 'user32' name 'GetComboBoxInfo'; function GetComboBoxInfo(hwndCombo:HWND;pcbi:PCOMBOBOXINFO):BOOL; external 'user32' name 'GetComboBoxInfo';
function GetAncestor(HWnd: HWND; Flag: UINT): HWND; StdCall; External 'user32'; function GetAncestor(HWnd: HWND; Flag: UINT): HWND; StdCall; External 'user32';
// #if(WINVER >= 0x0500)
function GetMenuInfo(_hmenu:HMENU; lpcmi:LPMENUINFO):BOOL; external 'user32' name 'GetMenuInfo';
function SetMenuInfo(_hmenu:HMENU; lpcmi:LPCMENUINFO):BOOL; external 'user32' name 'SetMenuInfo';
function EndMenu:BOOL; external 'user32' name 'EndMenu';
//#endif /* WINVER >= 0x0500 */
function GetMenuBarInfo(_hwnd:HWND; idObject:longint; idItem:longint; pmbi:LPMENUBARINFO):BOOL; external 'user32' name 'GetMenuBarInfo';
{$endif read_interface} {$endif read_interface}

View File

@ -7514,6 +7514,37 @@ type
const const
SECURITY_DESCRIPTOR_MIN_LENGTH = SIZEOF(SECURITY_DESCRIPTOR); SECURITY_DESCRIPTOR_MIN_LENGTH = SIZEOF(SECURITY_DESCRIPTOR);
// #if(WINVER >= 0x0500)
type
tagMENUGETOBJECTINFO = packed record
dwFlags:DWORD;
uPos:UINT;
_hmenu:HMENU;
riid:PVOID;
pvObj:PVOID;
end;
MENUGETOBJECTINFO = tagMENUGETOBJECTINFO;
PMENUGETOBJECTINFO = ^tagMENUGETOBJECTINFO;
LPMENUGETOBJECTINFO = ^tagMENUGETOBJECTINFO;
//#endif /* WINVER >= 0x0500 */
// Menubar information
type
tagMENUBARINFO = packed record
cbSize:DWORD;
rcBar:Windows.RECT; // rect of bar, popup, item
_hmenu:HMENU; // real menu handle of bar, popup
hwndMenu:HWND; // hwnd of item submenu if one
// fBarFocused:1:BOOL; // bar, popup has the focus
// fFocused:1:BOOL; // item has the focus
FocusedBits:DWORD;
end;
MENUBARINFO = tagMENUBARINFO;
PMENUBARINFO = ^tagMENUBARINFO;
LPMENUBARINFO = ^tagMENUBARINFO;
{$endif read_interface} {$endif read_interface}

View File

@ -56,6 +56,7 @@
type type
MAKEINTRESOURCE = pwidechar; MAKEINTRESOURCE = pwidechar;
ATOM = word; //windef ATOM = word; //windef
TAtom = ATOM; TAtom = ATOM;
@ -472,9 +473,13 @@ type
{ argument types are unknown } { argument types are unknown }
function HIWORD(l : longint) : WORD; //windef function HIWORD(l : longint) : WORD; //windef
type
LOBYTE = byte;
(*
{ was #define dname(params) def_expr } { was #define dname(params) def_expr }
{ argument types are unknown } { argument types are unknown }
function LOBYTE(w : longint) : BYTE; //windef function LOBYTE(w : longint) : BYTE; //windef
*)
{ was #define dname(params) def_expr } { was #define dname(params) def_expr }
{ argument types are unknown } { argument types are unknown }
@ -521,7 +526,6 @@ type
{ argument types are unknown } { argument types are unknown }
function MAKEINTATOM(i : longint) : LPTSTR; function MAKEINTATOM(i : longint) : LPTSTR;
{ was #define dname(params) def_expr } { was #define dname(params) def_expr }
{ argument types are unknown } { argument types are unknown }
{ return type might be wrong } { return type might be wrong }
@ -838,16 +842,18 @@ type
HIWORD:=WORD(((DWORD(l)) shr 16) and $FFFF); HIWORD:=WORD(((DWORD(l)) shr 16) and $FFFF);
end; end;
(*
{ was #define dname(params) def_expr } { was #define dname(params) def_expr }
{ argument types are unknown } { argument types are unknown }
function LOBYTE(w : longint) : BYTE; function LOBYTE(w : longint) : BYTE;
begin begin
LOBYTE:=BYTE(w); LOBYTE:=BYTE(w);
end; end;
*)
{ was #define dname(params) def_expr } { was #define dname(params) def_expr }
{ argument types are unknown } { argument types are unknown }
function LOWORD(l : longint) : WORD; function LOWORD(l : longint) : WORD; inline;
begin begin
LOWORD:=WORD(l); LOWORD:=WORD(l);
end; end;
@ -911,12 +917,11 @@ type
{ was #define dname(params) def_expr } { was #define dname(params) def_expr }
{ argument types are unknown } { argument types are unknown }
function MAKEINTATOM(i : longint) : LPTSTR; function MAKEINTATOM(i : longint) : LPTSTR; inline;
begin begin
MAKEINTATOM:=LPTSTR(DWORD(WORD(i))); MAKEINTATOM:=LPTSTR(DWORD(WORD(i)));
end; end;
{ was #define dname(params) def_expr } { was #define dname(params) def_expr }
{ argument types are unknown } { argument types are unknown }
{ return type might be wrong } { return type might be wrong }

View File

@ -85,7 +85,6 @@
378 CacheSync 378 CacheSync
1EA CeChangeDatabaseLCID 1EA CeChangeDatabaseLCID
1EF CeClearReplChangeBitsEx 1EF CeClearReplChangeBitsEx
2DB CeClearUserNotification
1D1 CeCreateDatabase 1D1 CeCreateDatabase
1D2 CeCreateDatabaseEx 1D2 CeCreateDatabaseEx
1DC CeCreateDatabaseEx2 1DC CeCreateDatabaseEx2
@ -111,10 +110,6 @@
1F0 CeGetReplOtherBitsEx 1F0 CeGetReplOtherBitsEx
313 CeGetThreadPriority 313 CeGetThreadPriority
315 CeGetThreadQuantum 315 CeGetThreadQuantum
2E2 CeGetUserNotification
2E1 CeGetUserNotificationHandles
2DF CeGetUserNotificationPreferences
2DE CeHandleAppNotifications
96 CeLogData 96 CeLogData
98 CeLogGetZones 98 CeLogGetZones
99 CeLogReSync 99 CeLogReSync
@ -134,8 +129,6 @@
1F2 CeRegisterReplNotification 1F2 CeRegisterReplNotification
4E4 CeRemoveFontResource 4E4 CeRemoveFontResource
15D CeResyncFilesys 15D CeResyncFilesys
2DD CeRunAppAtEvent
2DC CeRunAppAtTime
1D9 CeSeekDatabase 1D9 CeSeekDatabase
1E0 CeSeekDatabaseEx 1E0 CeSeekDatabaseEx
1D3 CeSetDatabaseInfo 1D3 CeSetDatabaseInfo
@ -149,8 +142,6 @@
1F1 CeSetReplOtherBitsEx 1F1 CeSetReplOtherBitsEx
312 CeSetThreadPriority 312 CeSetThreadPriority
314 CeSetThreadQuantum 314 CeSetThreadQuantum
2DA CeSetUserNotification
2E0 CeSetUserNotificationEx
1E6 CeUnmountDBVol 1E6 CeUnmountDBVol
1E5 CeWriteRecordProps 1E5 CeWriteRecordProps
2F CeZeroPointer 2F CeZeroPointer
@ -206,7 +197,6 @@
C2 DDKReg_GetWindowInfo C2 DDKReg_GetWindowInfo
3BF DebugNotify 3BF DebugNotify
38B DecompressBinaryBlock 38B DecompressBinaryBlock
FF DeleteAndRenameFile
37B DeleteTrackedItem 37B DeleteTrackedItem
179 DeregisterAFS 179 DeregisterAFS
17B DeregisterAFSName 17B DeregisterAFSName
@ -215,8 +205,6 @@
30C DumpKCallProfile 30C DumpKCallProfile
3DB EnableCaretSystemWide 3DB EnableCaretSystemWide
553 EnableEUDC 553 EnableEUDC
50E EnumDisplayDevices
666 EnumDisplayMonitors
14D EnumUILanguagesW 14D EnumUILanguagesW
374 ExtractResource 374 ExtractResource
17F FileSystemPowerFunction 17F FileSystemPowerFunction
@ -247,7 +235,6 @@
405 GetKeyboardTarget 405 GetKeyboardTarget
4B7 GetMessageWNoWait 4B7 GetMessageWNoWait
30B GetModuleInformation 30B GetModuleInformation
665 GetMonitorInfo
397 GetOwnerProcess 397 GetOwnerProcess
110 GetPasswordStatus 110 GetPasswordStatus
1B6 GetPrivateCallbacks 1B6 GetPrivateCallbacks
@ -259,7 +246,6 @@
371 GetRealTime 371 GetRealTime
377 GetRomFileBytes 377 GetRomFileBytes
376 GetRomFileInfo 376 GetRomFileInfo
102 GetStoreInformation
2D0 GetUserDirectory 2D0 GetUserDirectory
1B7 GetWindowTextWDirect 1B7 GetWindowTextWDirect
37E GiveKPhys 37E GiveKPhys
@ -277,7 +263,6 @@
4D Int_HeapFree 4D Int_HeapFree
49 Int_HeapReAlloc 49 Int_HeapReAlloc
4B Int_HeapSize 4B Int_HeapSize
15 InterlockedCompareExchange
3B1 InterruptDisable 3B1 InterruptDisable
3B0 InterruptDone 3B0 InterruptDone
3AE InterruptInitialize 3AE InterruptInitialize
@ -298,8 +283,6 @@
396 KillAllOtherThreads 396 KillAllOtherThreads
38E LeaveCritSec 38E LeaveCritSec
3AA LoadDriver 3AA LoadDriver
151 LoadFSD
152 LoadFSDEx
3AB LoadIntChainHandler 3AB LoadIntChainHandler
3AD LoadKernelLibrary 3AD LoadKernelLibrary
3E LocalAllocInProcess 3E LocalAllocInProcess
@ -350,7 +333,6 @@
484 QASetWindowsJournalHook 484 QASetWindowsJournalHook
485 QAUnhookWindowsJournalHook 485 QAUnhookWindowsJournalHook
2F2 QueryAPISetID 2F2 QueryAPISetID
91 Random
181 ReadFileWithSeek 181 ReadFileWithSeek
3C0 ReadRegistryFromOEM 3C0 ReadRegistryFromOEM
1BE RectangleAnimation 1BE RectangleAnimation
@ -362,7 +344,6 @@
17A RegisterAFSName 17A RegisterAFSName
3B8 RegisterAPISet 3B8 RegisterAPISet
33D RegisterDbgZones 33D RegisterDbgZones
4DB RegisterDesktop
1BD RegisterSIPanel 1BD RegisterSIPanel
380 RegisterTrackedItem 380 RegisterTrackedItem
E ReinitLocale E ReinitLocale
@ -374,14 +355,10 @@
3D RemoteLocalFree 3D RemoteLocalFree
3B RemoteLocalReAlloc 3B RemoteLocalReAlloc
3C RemoteLocalSize 3C RemoteLocalSize
15A ResourceCreateList
15C ResourceRelease
15B ResourceRequest
2E6 SHCreateExplorerInstance 2E6 SHCreateExplorerInstance
2E8 SHCreateShortcut 2E8 SHCreateShortcut
2EA SHCreateShortcutEx 2EA SHCreateShortcutEx
2E9 SHGetShortcutTarget 2E9 SHGetShortcutTarget
2EC SHLoadDIBitmap
2EB SHShowOutOfMemory 2EB SHShowOutOfMemory
11B SetACP 11B SetACP
1C0 SetAssociatedMenu 1C0 SetAssociatedMenu
@ -413,7 +390,6 @@
3B5 SetWDevicePowerHandler 3B5 SetWDevicePowerHandler
406 ShellModalEnd 406 ShellModalEnd
1C4 ShowStartupWindow 1C4 ShowStartupWindow
176 SignalStarted
361 SleepTillTick 361 SleepTillTick
648 StringCbCatA 648 StringCbCatA
64A StringCbCatExA 64A StringCbCatExA
@ -2010,6 +1986,7 @@ function DefDlgProcW(hDlg:HWND; Msg:UINT; wParam:WPARAM; lParam:LPARAM):LRESULT;
function DeferWindowPos(hWinPosInfo:HDWP; hWnd:HWND; hWndInsertAfter:HWND; x:longint; y:longint;cx:longint; cy:longint; uFlags:UINT):HDWP; external KernelDLL name 'DeferWindowPos'; function DeferWindowPos(hWinPosInfo:HDWP; hWnd:HWND; hWndInsertAfter:HWND; x:longint; y:longint;cx:longint; cy:longint; uFlags:UINT):HDWP; external KernelDLL name 'DeferWindowPos';
function DefWindowProc(hWnd:HWND; Msg:UINT; wParam:WPARAM; lParam:LPARAM):LRESULT; external KernelDLL name 'DefWindowProcW'; function DefWindowProc(hWnd:HWND; Msg:UINT; wParam:WPARAM; lParam:LPARAM):LRESULT; external KernelDLL name 'DefWindowProcW';
function DefWindowProcW(hWnd:HWND; Msg:UINT; wParam:WPARAM; lParam:LPARAM):LRESULT; external KernelDLL name 'DefWindowProcW'; function DefWindowProcW(hWnd:HWND; Msg:UINT; wParam:WPARAM; lParam:LPARAM):LRESULT; external KernelDLL name 'DefWindowProcW';
function DeleteAndRenameFile(lpszDestFile:LPCWSTR; lpszSourceFile:LPCWSTR):BOOL; external KernelDLL name 'DeleteAndRenameFile'; // index FF
procedure DeleteCriticalSection(lpCriticalSection:LPCRITICAL_SECTION); external KernelDLL name 'DeleteCriticalSection'; procedure DeleteCriticalSection(lpCriticalSection:LPCRITICAL_SECTION); external KernelDLL name 'DeleteCriticalSection';
function DeleteDC(_para1:HDC):WINBOOL; external KernelDLL name 'DeleteDC'; function DeleteDC(_para1:HDC):WINBOOL; external KernelDLL name 'DeleteDC';
function DeleteEnhMetaFile(_para1:HENHMETAFILE):WINBOOL; external KernelDLL name 'DeleteEnhMetaFile'; function DeleteEnhMetaFile(_para1:HENHMETAFILE):WINBOOL; external KernelDLL name 'DeleteEnhMetaFile';
@ -2052,6 +2029,8 @@ function EnumCalendarInfo(lpCalInfoEnumProc:CALINFO_ENUMPROC; Locale:LCID; Calen
function EnumCalendarInfoW(lpCalInfoEnumProc:CALINFO_ENUMPROC; Locale:LCID; Calendar:CALID; CalType:CALTYPE):WINBOOL; external KernelDLL name 'EnumCalendarInfoW'; function EnumCalendarInfoW(lpCalInfoEnumProc:CALINFO_ENUMPROC; Locale:LCID; Calendar:CALID; CalType:CALTYPE):WINBOOL; external KernelDLL name 'EnumCalendarInfoW';
function EnumDateFormats(lpDateFmtEnumProc:DATEFMT_ENUMPROC; Locale:LCID; dwFlags:DWORD):WINBOOL; external KernelDLL name 'EnumDateFormatsW'; function EnumDateFormats(lpDateFmtEnumProc:DATEFMT_ENUMPROC; Locale:LCID; dwFlags:DWORD):WINBOOL; external KernelDLL name 'EnumDateFormatsW';
function EnumDateFormatsW(lpDateFmtEnumProc:DATEFMT_ENUMPROC; Locale:LCID; dwFlags:DWORD):WINBOOL; external KernelDLL name 'EnumDateFormatsW'; function EnumDateFormatsW(lpDateFmtEnumProc:DATEFMT_ENUMPROC; Locale:LCID; dwFlags:DWORD):WINBOOL; external KernelDLL name 'EnumDateFormatsW';
function EnumDisplayDevices(lpDevice:LPCTSTR; iDevNum:DWORD; lpDisplayDevice:PDISPLAY_DEVICE; dwFlags:DWORD):BOOL; external KernelDLL name 'EnumDisplayDevices'; // index 50E
function EnumDisplayMonitors(_hdc:HDC; lprcClip:LPRECT; lpfnEnum:MONITORENUMPROC; dwData:LPARAM):BOOL; external KernelDLL name 'EnumDisplayMonitors'; // index 666
function EnumDisplaySettings(lpszDeviceName:LPCWSTR; iModeNum:DWORD; lpDevMode:LPDEVMODEW):WINBOOL; external KernelDLL name 'EnumDisplaySettings'; function EnumDisplaySettings(lpszDeviceName:LPCWSTR; iModeNum:DWORD; lpDevMode:LPDEVMODEW):WINBOOL; external KernelDLL name 'EnumDisplaySettings';
function EnumFonts(_para1:HDC; _para2:LPCWSTR; _para3:ENUMFONTSPROC; _para4:LPARAM):longint; external KernelDLL name 'EnumFontsW'; function EnumFonts(_para1:HDC; _para2:LPCWSTR; _para3:ENUMFONTSPROC; _para4:LPARAM):longint; external KernelDLL name 'EnumFontsW';
function EnumFontsW(_para1:HDC; _para2:LPCWSTR; _para3:ENUMFONTSPROC; _para4:LPARAM):longint; external KernelDLL name 'EnumFontsW'; function EnumFontsW(_para1:HDC; _para2:LPCWSTR; _para3:ENUMFONTSPROC; _para4:LPARAM):longint; external KernelDLL name 'EnumFontsW';
@ -2212,6 +2191,7 @@ function GetModuleFileName(hModule:HMODULE; lpFilename:LPWSTR; nSize:DWORD):DWOR
function GetModuleFileNameW(hModule:HMODULE; lpFilename:LPWSTR; nSize:DWORD):DWORD; external KernelDLL name 'GetModuleFileNameW'; function GetModuleFileNameW(hModule:HMODULE; lpFilename:LPWSTR; nSize:DWORD):DWORD; external KernelDLL name 'GetModuleFileNameW';
function GetModuleHandle(lpModuleName:LPCWSTR):HMODULE; external KernelDLL name 'GetModuleHandleW'; function GetModuleHandle(lpModuleName:LPCWSTR):HMODULE; external KernelDLL name 'GetModuleHandleW';
function GetModuleHandleW(lpModuleName:LPCWSTR):HMODULE; external KernelDLL name 'GetModuleHandleW'; function GetModuleHandleW(lpModuleName:LPCWSTR):HMODULE; external KernelDLL name 'GetModuleHandleW';
function GetMonitorInfo(_hMonitor:HMONITOR; lpmi:LPMONITORINFO):BOOL; external KernelDLL name 'GetMonitorInfo'; // index 665
function GetMouseMovePoints(pptBuf:PPOINT; nBufPoints:UINT; pnPointsRetrieved:PUINT):BOOL; external KernelDLL name 'GetMouseMovePoints'; // index 481 function GetMouseMovePoints(pptBuf:PPOINT; nBufPoints:UINT; pnPointsRetrieved:PUINT):BOOL; external KernelDLL name 'GetMouseMovePoints'; // index 481
function GetNearestColor(_para1:HDC; _para2:COLORREF):COLORREF; external KernelDLL name 'GetNearestColor'; function GetNearestColor(_para1:HDC; _para2:COLORREF):COLORREF; external KernelDLL name 'GetNearestColor';
function GetNearestPaletteIndex(_para1:HPALETTE; _para2:COLORREF):UINT; external KernelDLL name 'GetNearestPaletteIndex'; function GetNearestPaletteIndex(_para1:HPALETTE; _para2:COLORREF):UINT; external KernelDLL name 'GetNearestPaletteIndex';
@ -2314,9 +2294,21 @@ function GlobalFindAtom(lpString:LPCWSTR):ATOM; external KernelDLL name 'GlobalF
function GlobalFindAtomW(lpString:LPCWSTR):ATOM; external KernelDLL name 'GlobalFindAtomW'; function GlobalFindAtomW(lpString:LPCWSTR):ATOM; external KernelDLL name 'GlobalFindAtomW';
function GlobalFree(hMem:HGLOBAL):HGLOBAL; function GlobalFree(hMem:HGLOBAL):HGLOBAL;
function GlobalFreePtr(lp:Pointer):Pointer; function GlobalFreePtr(lp:Pointer):Pointer;
type
GlobalHandle = HGLOBAL;
{
function GlobalHandle(pMem:LPCVOID):HGLOBAL; function GlobalHandle(pMem:LPCVOID):HGLOBAL;
}
function GlobalLockPtr(lp:pointer):Pointer; function GlobalLockPtr(lp:pointer):Pointer;
type
GlobalLock = LPVOID;
{
function GlobalLock(hMem:HGLOBAL):LPVOID; function GlobalLock(hMem:HGLOBAL):LPVOID;
}
function GlobalReAlloc(hMem:HGLOBAL; dwBytes:DWORD; uFlags:UINT):HGLOBAL; function GlobalReAlloc(hMem:HGLOBAL; dwBytes:DWORD; uFlags:UINT):HGLOBAL;
function GlobalReAllocPtr(lp:Pointer;cbNew,flags:DWord):Pointer; function GlobalReAllocPtr(lp:Pointer;cbNew,flags:DWord):Pointer;
function GlobalSize(hMem:HGLOBAL):DWORD; function GlobalSize(hMem:HGLOBAL):DWORD;
@ -2472,6 +2464,16 @@ function LoadBitmap(hInstance:HINST; lpBitmapName:LPCWSTR):HBITMAP; external Ker
function LoadBitmapW(hInstance:HINST; lpBitmapName:LPCWSTR):HBITMAP; external KernelDLL name 'LoadBitmapW'; function LoadBitmapW(hInstance:HINST; lpBitmapName:LPCWSTR):HBITMAP; external KernelDLL name 'LoadBitmapW';
function LoadCursor(hInstance:HINST; lpCursorName:LPCWSTR):HCURSOR; external KernelDLL name 'LoadCursorW'; function LoadCursor(hInstance:HINST; lpCursorName:LPCWSTR):HCURSOR; external KernelDLL name 'LoadCursorW';
function LoadCursorW(hInstance:HINST; lpCursorName:LPCWSTR):HCURSOR; external KernelDLL name 'LoadCursorW'; function LoadCursorW(hInstance:HINST; lpCursorName:LPCWSTR):HCURSOR; external KernelDLL name 'LoadCursorW';
// This function is called by a device driver to load its associated FSD.
// This function is obsolete in Windows CE .NET 4.0 and later.
// Instead, place a storage class identifier in the device driver registry setting
// to notify the Storage Manager of the block driver being loaded.
// The Storage Manager will then parse the partitions and load the appropriate
// file system.
function LoadFSD(hDevice:HANDLE; lpFSDName:LPCWSTR):BOOL; external KernelDLL name 'LoadFSD'; // index 151
function LoadFSDEx(hDevice:HANDLE; lpFSDName:LPCWSTR; dwFlag:DWORD):BOOL; external KernelDLL name 'LoadFSDEx'; // index 152
function LoadIcon(hInstance:HINST; lpIconName:LPCWSTR):HICON; external KernelDLL name 'LoadIconW'; function LoadIcon(hInstance:HINST; lpIconName:LPCWSTR):HICON; external KernelDLL name 'LoadIconW';
function LoadIconW(hInstance:HINST; lpIconName:LPCWSTR):HICON; external KernelDLL name 'LoadIconW'; function LoadIconW(hInstance:HINST; lpIconName:LPCWSTR):HICON; external KernelDLL name 'LoadIconW';
function LoadImage(_para1:HINST; _para2:LPCWSTR; _para3:UINT; _para4:longint; _para5:longint;_para6:UINT):HANDLE; external KernelDLL name 'LoadImageW'; function LoadImage(_para1:HINST; _para2:LPCWSTR; _para3:UINT; _para4:longint; _para5:longint;_para6:UINT):HANDLE; external KernelDLL name 'LoadImageW';
@ -2491,7 +2493,13 @@ function LocalAlloc(uFlags:UINT; uBytes:UINT):HLOCAL; external KernelDLL name 'L
function LocalDiscard(hlocMem:HLOCAL):HLOCAL; function LocalDiscard(hlocMem:HLOCAL):HLOCAL;
function LocalFileTimeToFileTime(lpLocalFileTime:LPFILETIME; lpFileTime:LPFILETIME):WINBOOL; external KernelDLL name 'LocalFileTimeToFileTime'; function LocalFileTimeToFileTime(lpLocalFileTime:LPFILETIME; lpFileTime:LPFILETIME):WINBOOL; external KernelDLL name 'LocalFileTimeToFileTime';
function LocalFree(hMem:HLOCAL):HLOCAL; external KernelDLL name 'LocalFree'; function LocalFree(hMem:HLOCAL):HLOCAL; external KernelDLL name 'LocalFree';
type
LocalHandle = HLOCAL;
{
function LocalHandle(pMem:LPCVOID):HLOCAL; function LocalHandle(pMem:LPCVOID):HLOCAL;
}
function LocalLock(hMem:HLOCAL):LPVOID; function LocalLock(hMem:HLOCAL):LPVOID;
function LocalReAlloc(hMem:HLOCAL; uBytes:UINT; uFlags:UINT):HLOCAL; external KernelDLL name 'LocalReAlloc'; function LocalReAlloc(hMem:HLOCAL; uBytes:UINT; uFlags:UINT):HLOCAL; external KernelDLL name 'LocalReAlloc';
function LocalSize(hMem:HLOCAL):UINT; external KernelDLL name 'LocalSize'; function LocalSize(hMem:HLOCAL):UINT; external KernelDLL name 'LocalSize';
@ -2581,6 +2589,8 @@ function QueryInstructionSet(dwInstructionSet:DWORD; lpdwCurrentInstructionSet:L
function QueryPerformanceCounter(lpPerformanceCount:PLARGE_INTEGER):WINBOOL; external Kerneldll name 'QueryPerformanceCounter'; function QueryPerformanceCounter(lpPerformanceCount:PLARGE_INTEGER):WINBOOL; external Kerneldll name 'QueryPerformanceCounter';
function QueryPerformanceFrequency(lpFrequency:PLARGE_INTEGER):WINBOOL; external Kerneldll name 'QueryPerformanceFrequency'; function QueryPerformanceFrequency(lpFrequency:PLARGE_INTEGER):WINBOOL; external Kerneldll name 'QueryPerformanceFrequency';
procedure RaiseException(dwExceptionCode:DWORD; dwExceptionFlags:DWORD; nNumberOfArguments:DWORD; lpArguments:LPDWORD); external KernelDLL name 'RaiseException'; procedure RaiseException(dwExceptionCode:DWORD; dwExceptionFlags:DWORD; nNumberOfArguments:DWORD; lpArguments:LPDWORD); external KernelDLL name 'RaiseException';
// This function generates a random number.
function WINCE_Random:DWORD; external KernelDLL name 'Random'; // index 91
function ReadFile(hFile:HANDLE; lpBuffer:LPVOID; nNumberOfBytesToRead:DWORD; lpNumberOfBytesRead:LPDWORD; lpOverlapped:LPOVERLAPPED):BOOL; external KernelDLL name 'ReadFile'; // index F4 function ReadFile(hFile:HANDLE; lpBuffer:LPVOID; nNumberOfBytesToRead:DWORD; lpNumberOfBytesRead:LPDWORD; lpOverlapped:LPOVERLAPPED):BOOL; external KernelDLL name 'ReadFile'; // index F4
function ReadProcessMemory(hProcess:HANDLE; lpBaseAddress:LPCVOID; lpBuffer:LPVOID; nSize:DWORD; lpNumberOfBytesRead:LPDWORD):WINBOOL; external KernelDLL name 'ReadProcessMemory'; function ReadProcessMemory(hProcess:HANDLE; lpBaseAddress:LPCVOID; lpBuffer:LPVOID; nSize:DWORD; lpNumberOfBytesRead:LPDWORD):WINBOOL; external KernelDLL name 'ReadProcessMemory';
function RealizePalette(_para1:HDC):UINT; external KernelDLL name 'RealizePalette'; // index 52F function RealizePalette(_para1:HDC):UINT; external KernelDLL name 'RealizePalette'; // index 52F
@ -2609,6 +2619,7 @@ function RegisterClass(lpWndClass:LPWNDCLASS):ATOM; external KernelDLL name 'Reg
function RegisterClassW(lpWndClass:LPWNDCLASS):ATOM; external KernelDLL name 'RegisterClassW'; function RegisterClassW(lpWndClass:LPWNDCLASS):ATOM; external KernelDLL name 'RegisterClassW';
function RegisterClipboardFormat(lpszFormat:LPCWSTR):UINT; external KernelDLL name 'RegisterClipboardFormatW'; function RegisterClipboardFormat(lpszFormat:LPCWSTR):UINT; external KernelDLL name 'RegisterClipboardFormatW';
function RegisterClipboardFormatW(lpszFormat:LPCWSTR):UINT; external KernelDLL name 'RegisterClipboardFormatW'; function RegisterClipboardFormatW(lpszFormat:LPCWSTR):UINT; external KernelDLL name 'RegisterClipboardFormatW';
function RegisterDesktop(_hwndDesktop:HWND):BOOL; external KernelDLL name 'RegisterDesktop'; // index 4DB
function RegisterDevice(lpszType:LPCWSTR; dwIndex:DWORD; lpszLib:LPCWSTR; dwInfo:DWORD):HANDLE; external KernelDLL name 'RegisterDevice'; // index 14F function RegisterDevice(lpszType:LPCWSTR; dwIndex:DWORD; lpszLib:LPCWSTR; dwInfo:DWORD):HANDLE; external KernelDLL name 'RegisterDevice'; // index 14F
function RegisterTaskBar(hwndTaskbar:HWND):BOOL; external KernelDLL name 'RegisterTaskBar'; // index 4D9 function RegisterTaskBar(hwndTaskbar:HWND):BOOL; external KernelDLL name 'RegisterTaskBar'; // index 4D9
function RegisterTaskBarEx(hwndTaskbar:HWND; bTaskBarOnTop:BOOL):BOOL; external KernelDLL name 'RegisterTaskBarEx'; // index 4DA function RegisterTaskBarEx(hwndTaskbar:HWND; bTaskBarOnTop:BOOL):BOOL; external KernelDLL name 'RegisterTaskBarEx'; // index 4DA
@ -2638,6 +2649,12 @@ function RemoveMenu(hMenu:HMENU; uPosition:UINT; uFlags:UINT):WINBOOL; external
function RemoveProp(hWnd:HWND; lpString:LPCWSTR):HANDLE; external KernelDLL name 'RemoveProp'; function RemoveProp(hWnd:HWND; lpString:LPCWSTR):HANDLE; external KernelDLL name 'RemoveProp';
function RequestDeviceNotifications(devclass:LPGUID; hMsgQ:HANDLE; fAll:BOOL):HANDLE; external KernelDLL name 'RequestDeviceNotifications'; // index 155 function RequestDeviceNotifications(devclass:LPGUID; hMsgQ:HANDLE; fAll:BOOL):HANDLE; external KernelDLL name 'RequestDeviceNotifications'; // index 155
function ResetEvent(hEvent:HANDLE):WINBOOL; function ResetEvent(hEvent:HANDLE):WINBOOL;
function ResourceCreateList(dwResId:DWORD; dwMinimum:DWORD; dwCount:DWORD):BOOL; external KernelDLL name 'ResourceCreateList'; // index 15A
function ResourceRelease(dwResId:DWORD; dwId:DWORD; dwLen:DWORD):BOOL; external KernelDLL name 'ResourceRelease'; // index 15C
function ResourceRequest(dwResId:DWORD; dwId:DWORD; dwLen:DWORD):BOOL; external KernelDLL name 'ResourceRequest'; // index 15B
function ResourceDestroyList(dwResId:DWORD):BOOL; external KernelDLL name 'ResourceDestroyList';
function ResourceRequestEx(dwResId:DWORD; dwId:DWORD; dwLen:DWORD; dwFlags:DWORD):BOOL; external KernelDLL name 'ResourceRequestEx';
function ResourceMarkAsShareable(dwResId:DWORD; dwId:DWORD; dwLen:DWORD; fShareable:BOOL):BOOL; external KernelDLL name 'ResourceMarkAsShareable';
function RestoreDC(_para1:HDC; _para2:longint):WINBOOL; external KernelDLL name 'RestoreDC'; function RestoreDC(_para1:HDC; _para2:longint):WINBOOL; external KernelDLL name 'RestoreDC';
function ResumeThread(hThread:HANDLE):DWORD; external KernelDLL name 'ResumeThread'; function ResumeThread(hThread:HANDLE):DWORD; external KernelDLL name 'ResumeThread';
function RoundRect(_para1:HDC; _para2:longint; _para3:longint; _para4:longint; _para5:longint;_para6:longint; _para7:longint):WINBOOL; external KernelDLL name 'RoundRect'; function RoundRect(_para1:HDC; _para2:longint; _para3:longint; _para4:longint; _para5:longint;_para6:longint; _para7:longint):WINBOOL; external KernelDLL name 'RoundRect';
@ -2733,15 +2750,17 @@ function Shell_NotifyIcon(dwMessage: DWORD; lpData: PNotifyIconDataA): WINBOOL;
function ShellExecuteEx(lpExecInfo:LPSHELLEXECUTEINFO):WINBOOL; external KernelDLL name 'ShellExecuteEx'; function ShellExecuteEx(lpExecInfo:LPSHELLEXECUTEINFO):WINBOOL; external KernelDLL name 'ShellExecuteEx';
function SHGetFileInfo(_para1:LPCTSTR; _para2:DWORD; var _para3:SHFILEINFO; _para4:UINT; _para5:UINT):DWORD; external KernelDLL name 'SHGetFileInfo'; function SHGetFileInfo(_para1:LPCTSTR; _para2:DWORD; var _para3:SHFILEINFO; _para4:UINT; _para5:UINT):DWORD; external KernelDLL name 'SHGetFileInfo';
function SHGetFileInfoW(_para1:LPCTSTR; _para2:DWORD; var _para3:SHFILEINFO; _para4:UINT; _para5:UINT):DWORD; external KernelDLL name 'SHGetFileInfo'; function SHGetFileInfoW(_para1:LPCTSTR; _para2:DWORD; var _para3:SHFILEINFO; _para4:UINT; _para5:UINT):DWORD; external KernelDLL name 'SHGetFileInfo';
function SHLoadDIBitmap(szFileName:LPCTSTR):HBITMAP; external KernelDLL name 'SHLoadDIBitmap'; // index 2EC
function ShowCaret(hWnd:HWND):WINBOOL; external KernelDLL name 'ShowCaret'; function ShowCaret(hWnd:HWND):WINBOOL; external KernelDLL name 'ShowCaret';
function ShowCursor(bShow:WINBOOL):longint; external KernelDLL name 'ShowCursor'; function ShowCursor(bShow:WINBOOL):longint; external KernelDLL name 'ShowCursor';
function ShowWindow(hWnd:HWND; nCmdShow:longint):WINBOOL; external KernelDLL name 'ShowWindow'; function ShowWindow(hWnd:HWND; nCmdShow:longint):WINBOOL; external KernelDLL name 'ShowWindow';
procedure SignalStarted(dw:DWORD); external KernelDLL name 'SignalStarted'; // index 176
function SizeofResource(hModule:HINST; hResInfo:HRSRC):DWORD; external KernelDLL name 'SizeofResource'; function SizeofResource(hModule:HINST; hResInfo:HRSRC):DWORD; external KernelDLL name 'SizeofResource';
procedure Sleep(dwMilliseconds:DWORD); external KernelDLL name 'Sleep'; procedure Sleep(dwMilliseconds:DWORD); external KernelDLL name 'Sleep';
function StartDoc(_para1:HDC; _para2:PDOCINFOW):longint; external KernelDLL name 'StartDocW'; function StartDoc(_para1:HDC; _para2:PDOCINFOW):longint; external KernelDLL name 'StartDocW';
function StartDocW(_para1:HDC; _para2:PDOCINFOW):longint; external KernelDLL name 'StartDocW'; function StartDocW(_para1:HDC; _para2:PDOCINFOW):longint; external KernelDLL name 'StartDocW';
function StartPage(_para1:HDC):longint; external KernelDLL name 'StartPage'; function StartPage(_para1:HDC):longint; external KernelDLL name 'StartPage';
function StopDeviceNotifications(h: HANDLE):BOOL; external KernelDLL name 'StopDeviceNotifications'; function StopDeviceNotifications(h:HANDLE):BOOL; external KernelDLL name 'StopDeviceNotifications'; // index 156
function StretchBlt(_para1:HDC; _para2:longint; _para3:longint; _para4:longint; _para5:longint;_para6:HDC; _para7:longint; _para8:longint; _para9:longint; _para10:longint;_para11:DWORD):WINBOOL; external KernelDLL name 'StretchBlt'; function StretchBlt(_para1:HDC; _para2:longint; _para3:longint; _para4:longint; _para5:longint;_para6:HDC; _para7:longint; _para8:longint; _para9:longint; _para10:longint;_para11:DWORD):WINBOOL; external KernelDLL name 'StretchBlt';
function StretchDIBits(_para1:HDC; _para2:longint; _para3:longint; _para4:longint; _para5:longint;_para6:longint; _para7:longint; _para8:longint; _para9:longint; _para10:pointer;var _para11:BITMAPINFO; _para12:UINT; _para13:DWORD):longint; function StretchDIBits(_para1:HDC; _para2:longint; _para3:longint; _para4:longint; _para5:longint;_para6:longint; _para7:longint; _para8:longint; _para9:longint; _para10:pointer;var _para11:BITMAPINFO; _para12:UINT; _para13:DWORD):longint;
external KernelDLL name 'StretchDIBits'; external KernelDLL name 'StretchDIBits';
@ -3065,11 +3084,13 @@ begin
GlobalFree:=LocalFree(hMem); GlobalFree:=LocalFree(hMem);
end; end;
{
function GlobalHandle(pMem:LPCVOID):HGLOBAL; function GlobalHandle(pMem:LPCVOID):HGLOBAL;
begin begin
//GlobalHandle:=LocalHandle(pMem); //GlobalHandle:=LocalHandle(pMem);
GlobalHandle:=HLOCAL(pMem); //see localhandle GlobalHandle:=HLOCAL(pMem); //see localhandle
end; end;
}
function GlobalReAlloc(hMem:HGLOBAL; dwBytes:DWORD; uFlags:UINT):HGLOBAL; function GlobalReAlloc(hMem:HGLOBAL; dwBytes:DWORD; uFlags:UINT):HGLOBAL;
begin begin
@ -3081,11 +3102,13 @@ begin
GlobalSize:=LocalSize(hMem); GlobalSize:=LocalSize(hMem);
end; end;
{
function GlobalLock(hMem:HGLOBAL):LPVOID; function GlobalLock(hMem:HGLOBAL):LPVOID;
begin begin
//GlobalLock:=LocalLock(hMem); //GlobalLock:=LocalLock(hMem);
GlobalLock:=LPVOID(hMem); //see locallock GlobalLock:=LPVOID(hMem); //see locallock
end; end;
}
function GlobalUnlock(hMem:HGLOBAL):WINBOOL; function GlobalUnlock(hMem:HGLOBAL):WINBOOL;
begin begin
@ -3462,11 +3485,12 @@ begin
ListView_Update:=SendMessage(hwndLV,LVM_UPDATE,WPARAM(i),0); ListView_Update:=SendMessage(hwndLV,LVM_UPDATE,WPARAM(i),0);
end; end;
{
function LocalHandle(pMem:LPCVOID):HLOCAL; function LocalHandle(pMem:LPCVOID):HLOCAL;
begin begin
LocalHandle:=HLOCAL(pMem); LocalHandle:=HLOCAL(pMem);
end; end;
}
function LocalDiscard(hlocMem:HLOCAL):HLOCAL; function LocalDiscard(hlocMem:HLOCAL):HLOCAL;
begin begin
@ -3571,7 +3595,7 @@ begin
end; end;
function PropSheet_SetCurSelByID(hPropSheetDlg : HWND; id : longint) : LRESULT; function PropSheet_SetCurSelByID(hPropSheetDlg : HWND; id : longint) : LRESULT; inline;
begin begin
PropSheet_SetCurSelByID:=SendMessage(hPropSheetDlg,PSM_SETCURSELID,0,LPARAM(id)); PropSheet_SetCurSelByID:=SendMessage(hPropSheetDlg,PSM_SETCURSELID,0,LPARAM(id));
end; end;

View File

@ -2228,6 +2228,7 @@
MOD_CONTROL = 2; MOD_CONTROL = 2;
MOD_SHIFT = 4; MOD_SHIFT = 4;
MOD_WIN = 8; MOD_WIN = 8;
MOD_KEYUP = $1000;
IDHOT_SNAPDESKTOP = -(2); IDHOT_SNAPDESKTOP = -(2);
IDHOT_SNAPWINDOW = -(1); IDHOT_SNAPWINDOW = -(1);
{ RegNotifyChangeKeyValue } { RegNotifyChangeKeyValue }
@ -2657,6 +2658,9 @@
TPM_HORIZONTAL = 0; TPM_HORIZONTAL = 0;
TPM_BOTTOMALIGN = $20; TPM_BOTTOMALIGN = $20;
TPM_VERTICAL = $40; TPM_VERTICAL = $40;
TPM_NONOTIFY = $0080; //* Don't send any notification msgs */
TPM_RETURNCMD = $0100;
{ TranslateCharsetInfo } { TranslateCharsetInfo }
TCI_SRCCHARSET = 1; TCI_SRCCHARSET = 1;
TCI_SRCCODEPAGE = 2; TCI_SRCCODEPAGE = 2;
@ -3866,6 +3870,7 @@
ACS_AUTOPLAY = 4; ACS_AUTOPLAY = 4;
ACS_CENTER = 1; ACS_CENTER = 1;
ACS_TRANSPARENT = 2; ACS_TRANSPARENT = 2;
ACS_TIMER = 8; // don't use threads... use timers
{ MODEMDEVCAPS structure } { MODEMDEVCAPS structure }
DIALOPTION_BILLING = 64; DIALOPTION_BILLING = 64;
DIALOPTION_QUIET = 128; DIALOPTION_QUIET = 128;
@ -5799,6 +5804,254 @@ const
MSGSRC_SOFTWARE_POST = 1; MSGSRC_SOFTWARE_POST = 1;
MSGSRC_HARDWARE_KEYBOARD = 2; MSGSRC_HARDWARE_KEYBOARD = 2;
// define dwFlag values for LoadFSDEx function...
const
LOADFSD_ASYNCH = $0000;
LOADFSD_SYNCH = $0001;
// flag values for ResourceRequestEx()
const
RREXF_REQUEST_EXCLUSIVE = $0001;
{* File: ResMgr.h
*
* Purpose: Resource manager definitions
* The resource manager itself is part of the device manager (device.exe)
* and its affliated entry points are declared in winbase.h.
*
*}
// Resource ids less than BASE_OEM are reserved by Microsoft;
// Resource ids between these limits are for OEM use.
const
RESMGR_BASE_OEM = $00080000;
RESMGR_MAX_OEM = $000FFFFF;
// Resource ids greater than MAX_OEM are reserved for future use by Microsoft.
// --- FIVE hex digits (not four) in these constants!
const
RESMGR_IRQ = $00001;
RESMGR_IOSPACE = $00002;
// End-of-file ResMgr.h
const
MONITOR_DEFAULTTONULL = $00000000;
MONITOR_DEFAULTTOPRIMARY = $00000001;
MONITOR_DEFAULTTONEAREST = $00000002;
const
MONITORINFOF_PRIMARY = $00000001;
const
ENUM_CURRENT_SETTINGS = DWORD(-1);
ENUM_REGISTRY_SETTINGS = DWORD(-2);
// For EnumDisplayDevices
const
DISPLAY_DEVICE_ATTACHED_TO_DESKTOP = $00000001;
DISPLAY_DEVICE_MULTI_DRIVER = $00000002;
DISPLAY_DEVICE_PRIMARY_DEVICE = $00000004;
DISPLAY_DEVICE_MIRRORING_DRIVER = $00000008;
DISPLAY_DEVICE_VGA_COMPATIBLE = $00000010;
DISPLAY_DEVICE_REMOVABLE = $00000020;
DISPLAY_DEVICE_MODESPRUNED = $08000000;
DISPLAY_DEVICE_REMOTE = $04000000;
DISPLAY_DEVICE_DISCONNECT = $02000000;
// Child device state
const
DISPLAY_DEVICE_ACTIVE = $00000001;
DISPLAY_DEVICE_ATTACHED = $00000002;
// winuserm.h
// Mobile extensions to winuser.h
//*** VK_T* Virtual keycodes for telephone keyboard
{
// the phone keypad maps to VK_* as shown below.
// some keys might not be present, e.g. VK_TFLIP
sofkey1 softkey2 VK_TSOFT1, VK_TSOFT2
^ VK_TUP
< + > VK_TLEFT, VK_TACTION, VK_TRIGHT
v VK_TDOWN
home back VK_THOME, VK_TBACK
talk end VK_TTALK, VK_TEND
1 2 3 VK_T0..VK_T9
4 5 6 ...
7 8 9 ...
* 0 # VK_TSTAR, VK_TPOUND
// other buttons include
VK_TRECORD
VK_TPOWER, VK_TVOLUMEUP, VK_TVOLUMEDOWN
VK_TFLIP
}
const
VK_TSOFT1 = VK_F1; // Softkey 1
VK_TSOFT2 = VK_F2; // Softkey 2
VK_TTALK = VK_F3; // Talk
VK_TEND = VK_F4; // End
VK_THOME = VK_LWIN; // Home
VK_TBACK = VK_ESCAPE; // Back
VK_TACTION = VK_RETURN; // Action
VK_TRECORD = VK_F10; // Record
VK_TFLIP = VK_F17; // Flip
VK_TPOWER = VK_F18; // Power
VK_TVOLUMEUP = VK_F6; // Volume Up
VK_TVOLUMEDOWN = VK_F7; // Volume Down
VK_TSPEAKERPHONE_TOGGLE = VK_F16;
VK_END_ALL_DATA_CALLS = VK_F15;
VK_TUP = VK_UP; // Up
VK_TDOWN = VK_DOWN; // Down
VK_TLEFT = VK_LEFT; // Left
VK_TRIGHT = VK_RIGHT; // Right
VK_T0 = longint(WideChar('0')); // 0 .. 9 keys
VK_T1 = longint(WideChar('1'));
VK_T2 = longint(WideChar('2'));
VK_T3 = longint(WideChar('3'));
VK_T4 = longint(WideChar('4'));
VK_T5 = longint(WideChar('5'));
VK_T6 = longint(WideChar('6'));
VK_T7 = longint(WideChar('7'));
VK_T8 = longint(WideChar('8'));
VK_T9 = longint(WideChar('9'));
VK_TSTAR = VK_F8; // *
VK_TPOUND = VK_F9; // #
VK_SYMBOL = VK_F11; // Symbol (SYM) key
VK_REDKEY = VK_F19; // Sent by a keypad that has a special red function key
VK_ROCKER = VK_F20; // Arrow keys came from a Rocker
VK_DPAD = VK_F21; // Arrow keys came from a DPAD
VK_ACTION = VK_F23; // Sent with VK_RETURN when doing Action on PPC rockers
VK_VOICEDIAL = VK_F24; // Key used to kick off voice dial recognition
VK_KEYLOCK = VK_F22; // Key used to lock the device
// Chorded keys. DONE is VK_RWIN + VK_F6 and MOJI is VK_RWIN + VK_F7
const
VK_DONE = VK_F6; // <OK/Close> hotkey code
MOD_DONE = MOD_WIN or MOD_KEYUP; // <OK/Close> hotkey modifiers
VK_MOJI = VK_F7; // Key used to switch between FE language layouts
MOD_MOJI = MOD_WIN or MOD_KEYUP; //Modifiers so MOJI goes to the shell
// App keys
const
VK_APP_FIRST = $C1;
VK_APP1 = $C1;
VK_APP2 = $C2;
VK_APP3 = $C3;
VK_APP4 = $C4;
VK_APP5 = $C5;
VK_APP6 = $C6;
VK_APP_LAST = $C6;
// Specifies keys whose autorepeats should be silent. (Used by the keyboard driver.)
// All keys except the nav keys should have silent autorepeats.
// #define SILENT_REPEAT(uVKey) (uVKey < VK_LEFT || uVKey > VK_DOWN)
function SILENT_REPEAT(uVKey:longint):BOOL; inline;
// #define Edit_GetInputMode(hwndCtl, fActual) ((int)(DWORD)SNDMSG((hwndCtl), EM_GETINPUTMODE, 0L, (LPARAM)(BOOL)(fActual)))
function Edit_GetInputMode(hwndCtl:HWND; fActual:BOOL):longint;
// #define Edit_SetInputMode(hwndCtl, nInputMode) ((BOOL)(DWORD)SNDMSG((hwndCtl), EM_SETINPUTMODE, 0L, (LPARAM)(int)(nInputMode)))
function Edit_SetInputMode(hwndCtl:HWND; nInputMode:longint):Bool;
// #define Edit_SetSymbols(hwndCtl, pszSymbols) ((BOOL)(DWORD)SNDMSG((hwndCtl), EM_SETSYMBOLS, 0L, (LPARAM)(LPCTSTR)(pszSymbols)))
function Edit_SetSymbols(hwndCtl:HWND; pszSymbols:LPCTSTR):BOOL;
// #define Edit_SetExtendedStyle(hwndCtl, dwMask, dwExStyle) ((DWORD)SNDMSG((hwndCtl), EM_SETEXTENDEDSTYLE, (WPARAM)(DWORD)(dwMask), (LPARAM)(DWORD)(dwExStyle)))
function Edit_SetExtendedStyle(hwndCtl:HWND; dwMask:DWORD; dwExStyle:DWORD):DWORD;
// #define Edit_GetExtendedStyle(hwndCtl) ((DWORD)SNDMSG((hwndCtl), EM_GETEXTENDEDSTYLE, 0L, 0L))
function Edit_GetExtendedStyle(hwndCtl:HWND):DWORD;
// Edit control extended styles
const
ES_EX_CLEARONBACKPRESSHOLD = $00000001; // Clear all contents when user does Press&Hold of Back key.
ES_EX_FOCUSBORDERDISABLED = $00000002; // Prevent control from drawing a border when it gains focus.
// IME Input Modes
const
IM_SPELL = 0;
IM_AMBIG = 1;
IM_NUMBERS = 2;
IM_LAST = IM_NUMBERS;
IM_MASK = $0000FFFF; // Mask to access mode.
// IME Input Mode Modifier Flags
IMMF_SETCLR_SHIFT = $00010000; // In. Used to set/clear Shift.
IMMF_SETCLR_CAPSLOCK = $00020000; // In. Used to set/clear Capslock.
IMMF_SHIFT = $01000000; // In/Out. Shift state.
IMMF_CAPSLOCK = $02000000; // In/Out. CapsLock state.
IMMF_MASK = $FFFF0000; // Mask to access modifier flags.
// Input modes for EM_SETINPUTMODE/EM_GETINPUTMODE
EIM_SPELL = IM_SPELL; // Spell input mode
EIM_AMBIG = IM_AMBIG; // Ambiguous mode if input engine supports this mode. Else defaults to Spell mode.
EIM_NUMBERS = IM_NUMBERS; // Numbers mode.
EIM_TEXT = IM_LAST + 1; // User's preferred mode. This is the user's last Spell or Ambig mode selection
// in an EIM_TEXT edit control.
EIM_MASK = IM_MASK; // Mask to access mode.
// Macro to access mode
// #define EIM_MODE(x) (x & EIM_MASK)
function EIM_MODE(x:DWORD):DWORD;
// Input mode modifier flags
const
EIMMF_SETCLR_SHIFT = IMMF_SETCLR_SHIFT; // In. Used to set/clear Shift.
EIMMF_SETCLR_CAPSLOCK = IMMF_SETCLR_CAPSLOCK; // In. Used to set/clear Capslock.
EIMMF_SHIFT = IMMF_SHIFT; // In/Out. Shift state.
EIMMF_CAPSLOCK = IMMF_CAPSLOCK; // In/Out. CapsLock state.
EIMMF_MASK = IMMF_MASK; // Mask to access modifier flags.
// Macro to access modifier flags
// #define EIM_MODIFIERS(x) (x & EIMMF_MASK)
function EIM_MODIFIERS(x:DWORD):DWORD;
// #define ListBox_GetInputMode(hwndCtl, fActual) ((int)(DWORD)SNDMSG((hwndCtl), LB_GETINPUTMODE, 0L, (WPARAM)(BOOL)(fActual)))
function ListBox_GetInputMode(hwndCtl:HWND; fActual:BOOL):longint;
// #define ListBox_SetInputMode(hwndCtl, nInputMode) ((BOOL)(DWORD)SNDMSG((hwndCtl), LB_SETINPUTMODE, 0L, (LPARAM)(int)(nInputMode)))
function ListBox_SetInputMode(hwndCtl:HWND; nInputMode:longint):BOOL;
// Input modes for LB_SETINPUTMODE/LB_GETINPUTMODE
const
LIM_SPELL = IM_SPELL; // Spell input mode
LIM_NUMBERS = IM_NUMBERS; // Numbers mode.
// wParam of WM_IME_REQUEST. Extension for Mobile.
const
IMR_ISIMEAWARE = $1000; // Is window IME aware?
// Return values of IMR_ISIMEAWARE
const
IMEAF_AWARE = $00000001; // Window is IME aware
IMEAF_SMART_CAPS = $00000002; // Window uses smart caps.
// Extension of WM_HOTKEY MOD_* values for Mobile
const
MOD_HOLD = $8000; // Was WM_HOTKEY caused by Press&Hold
const
MIIM_FULLSTR = $10000000;
const
SS_REALSIZEIMAGE = $00000800;
// End-of-winuserm.h
const
MAXINTATOM = ATOM($C000);
INVALID_ATOM = ATOM(0);
{$endif read_interface} {$endif read_interface}
@ -5985,6 +6238,66 @@ const
GetFirstChild:=GetWindow(h,GW_CHILD); GetFirstChild:=GetWindow(h,GW_CHILD);
end; end;
// winuserm.h
// Mobile extensions to winuser.h
// Specifies keys whose autorepeats should be silent. (Used by the keyboard driver.)
// All keys except the nav keys should have silent autorepeats.
// #define SILENT_REPEAT(uVKey) (uVKey < VK_LEFT || uVKey > VK_DOWN)
function SILENT_REPEAT(uVKey:longint):BOOL; inline;
begin
SILENT_REPEAT:=(uVKey<VK_LEFT) or (uVKey>VK_DOWN);
end;
function Edit_GetInputMode(hwndCtl:HWND; fActual:BOOL):longint; inline;
begin
Edit_GetInputMode:=longint(SendMessage(hwndCtl,EM_GETINPUTMODE,WPARAM(0),LPARAM(fActual)));
end;
function Edit_SetInputMode(hwndCtl:HWND; nInputMode:longint):Bool; inline;
begin
Edit_SetInputMode:=BOOL(DWORD(SendMessage(hwndCtl,EM_SETINPUTMODE,WPARAM(0),LPARAM(nInputMode))));
end;
function Edit_SetSymbols(hwndCtl:HWND; pszSymbols:LPCTSTR):BOOL; inline;
begin
Edit_SetSymbols:=BOOL(SendMessage(hwndCtl,EM_SETSYMBOLS,WPARAM(0),LPARAM(pszSymbols)));
end;
function Edit_SetExtendedStyle(hwndCtl:HWND; dwMask:DWORD; dwExStyle:DWORD):DWORD; inline;
begin
Edit_SetExtendedStyle:=DWORD(SendMessage(hwndCtl,EM_SETEXTENDEDSTYLE,WPARAM(dwMask),LPARAM(dwExStyle)));
end;
function Edit_GetExtendedStyle(hwndCtl:HWND):DWORD; inline;
begin
Edit_GetExtendedStyle:=DWORD(SendMessage(hwndCtl,EM_GETEXTENDEDSTYLE,WPARAM(0),LPARAM(0)));
end;
function EIM_MODE(x:DWORD):DWORD; inline;
begin
EIM_MODE:=x and EIM_MASK;
end;
function EIM_MODIFIERS(x:DWORD):DWORD; inline;
begin
EIM_MODIFIERS:=x and EIMMF_MASK;
end;
function ListBox_GetInputMode(hwndCtl:HWND; fActual:BOOL):longint; inline;
begin
ListBox_GetInputMode:=longint(SendMessage(hwndCtl,LB_GETINPUTMODE,WPARAM(0),LPARAM(fActual)));
end;
function ListBox_SetInputMode(hwndCtl:HWND; nInputMode:longint):BOOL; inline;
begin
ListBox_SetInputMode:=BOOL(SendMessage(hwndCtl,LB_SETINPUTMODE,WPARAM(0),LPARAM(nInputMode)));
end;
// End-of-winuserm.h
{$ifdef WINCE} {$ifdef WINCE}
{$endif WINCE} {$endif WINCE}

View File

@ -1132,6 +1132,55 @@
WM_XBUTTONUP = 524; WM_XBUTTONUP = 524;
WM_XBUTTONDBLCLK = 525; WM_XBUTTONDBLCLK = 525;
// winuserm.h
// Mobile extensions to winuser.h
// Edit control extensions for Mobile
const
// If lParam is FALSE, gets default input mode.
// If lParam is TRUE, gets actual input mode if control has focus, else
// gets default input mode. Returns EIM_*|EIMMF_*
EM_GETINPUTMODE = $00DD;
// Sets default input mode when control gets focus. lParam should be be EIM_*|EIMMF_*.
EM_SETINPUTMODE = $00DE;
// Sets symbols that are displayed when the user presses the 1 key in
// Multipress mode. lParam is a null-teminated string containing the symbols
// or NULL to revert to standard symbols.
EM_SETSYMBOLS = $00DF;
// Sets extended styles. wParam = Mask. lParam = Extended styles. Returns old styles.
EM_SETEXTENDEDSTYLE = $00E0;
// Gets extended styles.
EM_GETEXTENDEDSTYLE = $00E1;
// Listbox control extensions for Mobile. Supported only for single selection listboxes.
const
// If lParam is FALSE, gets default input mode.
// If lParam is TRUE, gets actual input mode if control has focus, else
// gets default input mode. Returns LIM_*
LB_GETINPUTMODE = $01C0;
// Sets default input mode when control gets focus. lParam should be be LIM_*.
LB_SETINPUTMODE = $01C1;
// Dialog message extensions
//
// Reset scroll info. To be sent by a dialog if it does a relayout of child
// controls after WM_INITDIALOG. Supported only if the dialog returns DLGC_SCROLL
// on WM_GETDLGCODE.
// wParam: TRUE to scroll back to top if user scrolled dialog. FALSE to leave
// dialog in position that user scrolled to.
// lParam: TRUE to recompute scroll information. FALSE to use previously computed
// scroll information.
const
DM_RESETSCROLL = WM_USER + 2;
// End-of-winuserm.h
Type Type
{$ifdef MESSAGESUNIT} {$ifdef MESSAGESUNIT}

View File

@ -20,6 +20,7 @@
type type
PIID = PGUID; PIID = PGUID;
TIID = TGUID; TIID = TGUID;
REFIID = ^TIID;
THANDLE = HANDLE; THANDLE = HANDLE;
PSmallRect = ^TSmallRect; PSmallRect = ^TSmallRect;

View File

@ -280,6 +280,7 @@
1: (TopLeft,BottomRight : TPoint); 1: (TopLeft,BottomRight : TPoint);
end; end;
LPRECT = ^RECT; LPRECT = ^RECT;
LPCRECT = ^RECT;
_RECT = RECT; _RECT = RECT;
TRECT = RECT; TRECT = RECT;
PRECT = ^RECT; PRECT = ^RECT;
@ -5347,11 +5348,18 @@
_GUID = GUID; _GUID = GUID;
TGUID = GUID; TGUID = GUID;
PGUID = ^GUID; PGUID = ^GUID;
REFGUID = ^GUID;
CLSID = GUID; CLSID = GUID;
LPCLSID = ^CLSID; LPCLSID = ^CLSID;
TCLSID = CLSID; TCLSID = CLSID;
PCLSID = ^CLSID; PCLSID = ^CLSID;
REFCLSID = ^CLSID;
FMTID = GUID;
LPFMTID = ^FMTID;
REFFMTID = ^FMTID;
SERVICE_INFO = record SERVICE_INFO = record
lpServiceType : LPGUID; lpServiceType : LPGUID;
@ -7721,6 +7729,46 @@ type
PINPUT = ^tagINPUT; PINPUT = ^tagINPUT;
LPINPUT = ^tagINPUT; LPINPUT = ^tagINPUT;
// For EnumDisplayMonitors
type
MONITORENUMPROC = function(_hMonitor:HMONITOR; hdcMonitor:HDC; lprcMonitor:LPRECT; dwData:LPARAM):BOOL;
// For GetMonitorInfo
type
tagMONITORINFO = record
cbSize:DWORD;
rcMonitor:RECT;
rcWork:RECT;
dwFlags:DWORD;
end;
MONITORINFO = tagMONITORINFO;
LPMONITORINFO = ^tagMONITORINFO;
tagMONITORINFOEX = record
cbSize:DWORD;
rcMonitor:RECT;
rcWork:RECT;
dwFlags:DWORD;
szDevice:array[0..CCHDEVICENAME-1] of TCHAR;
end;
MONITORINFOEX = tagMONITORINFOEX;
LPMONITORINFOEX = ^tagMONITORINFOEX;
// For EnumDisplayDevices
type
_DISPLAY_DEVICE = record
cb:DWORD;
DeviceName:array[0..31] of TCHAR;
DeviceString:array[0..127] of TCHAR;
StateFlags:DWORD;
DeviceID:array[0..127] of TCHAR;
DeviceKey:array[0..127] of TCHAR;
end;
DISPLAY_DEVICE = _DISPLAY_DEVICE;
PDISPLAY_DEVICE = ^_DISPLAY_DEVICE;
LPDISPLAY_DEVICE = ^_DISPLAY_DEVICE;
{$endif read_interface} {$endif read_interface}