mirror of
https://gitlab.com/freepascal.org/fpc/source.git
synced 2025-04-09 07:08:29 +02:00
* patch by "Vasil" to fix various WinCE and Win32 API conversion issues
git-svn-id: trunk@15824 -
This commit is contained in:
parent
1e0228d72b
commit
59702147ff
@ -80,9 +80,6 @@
|
||||
288 SHBorderRectangle
|
||||
104 SHBox
|
||||
103 SHBoxEx
|
||||
114 SHChangeNotifyDeregister
|
||||
115 SHChangeNotifyFree
|
||||
113 SHChangeNotifyRegister
|
||||
48 SHCheckForContextMenu
|
||||
86 SHClearStartedBit
|
||||
55 SHColorDisplay
|
||||
@ -95,7 +92,6 @@
|
||||
41 SHCreateContextMenu
|
||||
43 SHCreateMainWindow
|
||||
74 SHCreateMenuBarInternal
|
||||
108 SHCreateNewItem
|
||||
53 SHCreateSystemFont
|
||||
35 SHCreateWorkerWindow
|
||||
329 SHDeleteTodayWallpaper
|
||||
@ -127,7 +123,6 @@
|
||||
72 SHFontMgrManageFonts
|
||||
33 SHForceBaseState
|
||||
99 SHForceBaseStateEx
|
||||
102 SHFreeContextMenuExtensions
|
||||
120 SHFreeScanners
|
||||
213 SHGetActiveDialog
|
||||
292 SHGetBitmapDimensions
|
||||
@ -136,9 +131,7 @@
|
||||
224 SHGetCarrierBrandingFlag
|
||||
96 SHGetDeviceFeatureLevel
|
||||
299 SHGetDisplayRotation
|
||||
128 SHGetEmergencyCallList
|
||||
218 SHGetFontHeight
|
||||
232 SHGetInputContext
|
||||
133 SHGetKOBits
|
||||
305 SHGetLandscapeRotationSettings
|
||||
345 SHGetLegacySupportWindow
|
||||
@ -168,11 +161,9 @@
|
||||
149 SHInitPresetMessages
|
||||
181 SHInsertPresetMessage
|
||||
129 SHInvalidateScreen
|
||||
101 SHInvokeContextMenuCommand
|
||||
123 SHIsLocked
|
||||
295 SHIsPreOzoneUpdate
|
||||
94 SHIsPreRapierApp
|
||||
100 SHLoadContextMenuExtensions
|
||||
230 SHLoadFileContextMenuExtensions
|
||||
313 SHLoadFontFromResource
|
||||
91 SHLoadMenuPopup
|
||||
@ -182,10 +173,6 @@
|
||||
235 SHMakeValidFilename
|
||||
32 SHMessageBox
|
||||
80 SHNewProfileObj
|
||||
155 SHNotificationAdd
|
||||
173 SHNotificationGetData
|
||||
157 SHNotificationRemove
|
||||
156 SHNotificationUpdate
|
||||
208 SHNotifyAppsOnCallConnect
|
||||
210 SHNotifyAppsOnCarkit
|
||||
165 SHNotifyAppsOnDock
|
||||
@ -220,11 +207,9 @@
|
||||
119 SHScanFile
|
||||
97 SHSendBackToFocusWindow
|
||||
169 SHSetAsWatermark
|
||||
184 SHSetBack
|
||||
161 SHSetBubbleRegion
|
||||
298 SHSetDisplayRotation
|
||||
131 SHSetForegroundLastActivePopup
|
||||
231 SHSetInputContext
|
||||
134 SHSetKOBits
|
||||
154 SHSetPresetMessage
|
||||
170 SHSetSimToolkitMenu
|
||||
@ -284,6 +269,8 @@ unit aygshell;
|
||||
|
||||
interface
|
||||
|
||||
{$MODE OBJFPC}
|
||||
|
||||
uses windows;
|
||||
|
||||
{$calling cdecl}
|
||||
@ -481,6 +468,140 @@ type
|
||||
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
|
||||
//*****************************************************************************
|
||||
@ -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 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 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 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 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 SHHandleWMSettingChange(hwnd:HWND; wParam:WPARAM; lParam:LPARAM; psai: PSHACTIVATEINFO): WINBOOL; external UserDLLAyg index 83;
|
||||
function SHInitDialog(pshidi: PSHINITDLGINFO): WINBOOL; external UserDLLAyg name 'SHInitDialog';
|
||||
function SHInitExtraControls: WINBOOL; external UserDLLAyg name 'SHInitExtraControls';
|
||||
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 SHSetAppKeyWndAssoc( bVk: BYTE ; hwnd : HWND ): WINBOOL; external UserDLLAyg name 'SHSetAppKeyWndAssoc';
|
||||
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 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
|
||||
|
||||
end.
|
||||
|
@ -799,7 +799,7 @@ function ChooseContact(lpcc:LPCHOOSECONTACT):HRESULT; cdecl; external PIMStoreDL
|
||||
|
||||
|
||||
// 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
|
||||
const
|
||||
|
@ -1681,9 +1681,12 @@
|
||||
SIF_RANGE = 1;
|
||||
SIF_DISABLENOSCROLL = 8;
|
||||
{ GetStdHandle }
|
||||
STD_INPUT_HANDLE = DWORD(-10);
|
||||
STD_OUTPUT_HANDLE = DWORD(-11);
|
||||
STD_ERROR_HANDLE = DWORD(-12);
|
||||
STD_INPUT_HANDLE = HANDLE(-10);
|
||||
STD_OUTPUT_HANDLE = HANDLE(-11);
|
||||
STD_ERROR_HANDLE = HANDLE(-12);
|
||||
|
||||
|
||||
|
||||
|
||||
INVALID_HANDLE_VALUE = HANDLE(-1);
|
||||
|
||||
@ -4005,6 +4008,7 @@ Type
|
||||
ACS_AUTOPLAY = 4;
|
||||
ACS_CENTER = 1;
|
||||
ACS_TRANSPARENT = 2;
|
||||
ACS_TIMER = 8; // don't use threads... use timers
|
||||
{ MODEMDEVCAPS structure }
|
||||
DIALOPTION_BILLING = 64;
|
||||
DIALOPTION_QUIET = 128;
|
||||
@ -5713,6 +5717,36 @@ const
|
||||
IMAGE_FILE_MACHINE_M32R = $9041; // M32R little-endian
|
||||
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}
|
||||
|
||||
{$ifdef read_implementation}
|
||||
|
@ -1253,6 +1253,16 @@ function SignalObjectAndWait( hObjectToSignal:THANDLE; hObjectToWaitOn:THANDLE
|
||||
function CancelWaitableTimer(hTimer:THandle):BOOL; external 'kernel32' name 'CancelWaitableTimer';
|
||||
function GetComboBoxInfo(hwndCombo:HWND;pcbi:PCOMBOBOXINFO):BOOL; external 'user32' name 'GetComboBoxInfo';
|
||||
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}
|
||||
|
||||
|
||||
|
@ -7514,6 +7514,37 @@ type
|
||||
const
|
||||
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}
|
||||
|
||||
|
||||
|
@ -56,7 +56,8 @@
|
||||
type
|
||||
|
||||
MAKEINTRESOURCE = pwidechar;
|
||||
ATOM = word; //windef
|
||||
|
||||
ATOM = word; //windef
|
||||
TAtom = ATOM;
|
||||
|
||||
WINBOOL = longbool;
|
||||
@ -472,9 +473,13 @@ type
|
||||
{ argument types are unknown }
|
||||
function HIWORD(l : longint) : WORD; //windef
|
||||
|
||||
type
|
||||
LOBYTE = byte;
|
||||
(*
|
||||
{ was #define dname(params) def_expr }
|
||||
{ argument types are unknown }
|
||||
function LOBYTE(w : longint) : BYTE; //windef
|
||||
*)
|
||||
|
||||
{ was #define dname(params) def_expr }
|
||||
{ argument types are unknown }
|
||||
@ -519,8 +524,7 @@ type
|
||||
|
||||
{ was #define dname(params) def_expr }
|
||||
{ argument types are unknown }
|
||||
function MAKEINTATOM(i : longint) : LPTSTR;
|
||||
|
||||
function MAKEINTATOM(i : longint) : LPTSTR;
|
||||
|
||||
{ was #define dname(params) def_expr }
|
||||
{ argument types are unknown }
|
||||
@ -838,16 +842,18 @@ type
|
||||
HIWORD:=WORD(((DWORD(l)) shr 16) and $FFFF);
|
||||
end;
|
||||
|
||||
(*
|
||||
{ was #define dname(params) def_expr }
|
||||
{ argument types are unknown }
|
||||
function LOBYTE(w : longint) : BYTE;
|
||||
begin
|
||||
LOBYTE:=BYTE(w);
|
||||
end;
|
||||
*)
|
||||
|
||||
{ was #define dname(params) def_expr }
|
||||
{ argument types are unknown }
|
||||
function LOWORD(l : longint) : WORD;
|
||||
function LOWORD(l : longint) : WORD; inline;
|
||||
begin
|
||||
LOWORD:=WORD(l);
|
||||
end;
|
||||
@ -911,12 +917,11 @@ type
|
||||
|
||||
{ was #define dname(params) def_expr }
|
||||
{ argument types are unknown }
|
||||
function MAKEINTATOM(i : longint) : LPTSTR;
|
||||
function MAKEINTATOM(i : longint) : LPTSTR; inline;
|
||||
begin
|
||||
MAKEINTATOM:=LPTSTR(DWORD(WORD(i)));
|
||||
end;
|
||||
|
||||
|
||||
{ was #define dname(params) def_expr }
|
||||
{ argument types are unknown }
|
||||
{ return type might be wrong }
|
||||
|
@ -85,7 +85,6 @@
|
||||
378 CacheSync
|
||||
1EA CeChangeDatabaseLCID
|
||||
1EF CeClearReplChangeBitsEx
|
||||
2DB CeClearUserNotification
|
||||
1D1 CeCreateDatabase
|
||||
1D2 CeCreateDatabaseEx
|
||||
1DC CeCreateDatabaseEx2
|
||||
@ -111,10 +110,6 @@
|
||||
1F0 CeGetReplOtherBitsEx
|
||||
313 CeGetThreadPriority
|
||||
315 CeGetThreadQuantum
|
||||
2E2 CeGetUserNotification
|
||||
2E1 CeGetUserNotificationHandles
|
||||
2DF CeGetUserNotificationPreferences
|
||||
2DE CeHandleAppNotifications
|
||||
96 CeLogData
|
||||
98 CeLogGetZones
|
||||
99 CeLogReSync
|
||||
@ -134,8 +129,6 @@
|
||||
1F2 CeRegisterReplNotification
|
||||
4E4 CeRemoveFontResource
|
||||
15D CeResyncFilesys
|
||||
2DD CeRunAppAtEvent
|
||||
2DC CeRunAppAtTime
|
||||
1D9 CeSeekDatabase
|
||||
1E0 CeSeekDatabaseEx
|
||||
1D3 CeSetDatabaseInfo
|
||||
@ -149,8 +142,6 @@
|
||||
1F1 CeSetReplOtherBitsEx
|
||||
312 CeSetThreadPriority
|
||||
314 CeSetThreadQuantum
|
||||
2DA CeSetUserNotification
|
||||
2E0 CeSetUserNotificationEx
|
||||
1E6 CeUnmountDBVol
|
||||
1E5 CeWriteRecordProps
|
||||
2F CeZeroPointer
|
||||
@ -206,7 +197,6 @@
|
||||
C2 DDKReg_GetWindowInfo
|
||||
3BF DebugNotify
|
||||
38B DecompressBinaryBlock
|
||||
FF DeleteAndRenameFile
|
||||
37B DeleteTrackedItem
|
||||
179 DeregisterAFS
|
||||
17B DeregisterAFSName
|
||||
@ -215,8 +205,6 @@
|
||||
30C DumpKCallProfile
|
||||
3DB EnableCaretSystemWide
|
||||
553 EnableEUDC
|
||||
50E EnumDisplayDevices
|
||||
666 EnumDisplayMonitors
|
||||
14D EnumUILanguagesW
|
||||
374 ExtractResource
|
||||
17F FileSystemPowerFunction
|
||||
@ -247,7 +235,6 @@
|
||||
405 GetKeyboardTarget
|
||||
4B7 GetMessageWNoWait
|
||||
30B GetModuleInformation
|
||||
665 GetMonitorInfo
|
||||
397 GetOwnerProcess
|
||||
110 GetPasswordStatus
|
||||
1B6 GetPrivateCallbacks
|
||||
@ -259,7 +246,6 @@
|
||||
371 GetRealTime
|
||||
377 GetRomFileBytes
|
||||
376 GetRomFileInfo
|
||||
102 GetStoreInformation
|
||||
2D0 GetUserDirectory
|
||||
1B7 GetWindowTextWDirect
|
||||
37E GiveKPhys
|
||||
@ -277,7 +263,6 @@
|
||||
4D Int_HeapFree
|
||||
49 Int_HeapReAlloc
|
||||
4B Int_HeapSize
|
||||
15 InterlockedCompareExchange
|
||||
3B1 InterruptDisable
|
||||
3B0 InterruptDone
|
||||
3AE InterruptInitialize
|
||||
@ -298,8 +283,6 @@
|
||||
396 KillAllOtherThreads
|
||||
38E LeaveCritSec
|
||||
3AA LoadDriver
|
||||
151 LoadFSD
|
||||
152 LoadFSDEx
|
||||
3AB LoadIntChainHandler
|
||||
3AD LoadKernelLibrary
|
||||
3E LocalAllocInProcess
|
||||
@ -350,7 +333,6 @@
|
||||
484 QASetWindowsJournalHook
|
||||
485 QAUnhookWindowsJournalHook
|
||||
2F2 QueryAPISetID
|
||||
91 Random
|
||||
181 ReadFileWithSeek
|
||||
3C0 ReadRegistryFromOEM
|
||||
1BE RectangleAnimation
|
||||
@ -362,7 +344,6 @@
|
||||
17A RegisterAFSName
|
||||
3B8 RegisterAPISet
|
||||
33D RegisterDbgZones
|
||||
4DB RegisterDesktop
|
||||
1BD RegisterSIPanel
|
||||
380 RegisterTrackedItem
|
||||
E ReinitLocale
|
||||
@ -374,14 +355,10 @@
|
||||
3D RemoteLocalFree
|
||||
3B RemoteLocalReAlloc
|
||||
3C RemoteLocalSize
|
||||
15A ResourceCreateList
|
||||
15C ResourceRelease
|
||||
15B ResourceRequest
|
||||
2E6 SHCreateExplorerInstance
|
||||
2E8 SHCreateShortcut
|
||||
2EA SHCreateShortcutEx
|
||||
2E9 SHGetShortcutTarget
|
||||
2EC SHLoadDIBitmap
|
||||
2EB SHShowOutOfMemory
|
||||
11B SetACP
|
||||
1C0 SetAssociatedMenu
|
||||
@ -413,7 +390,6 @@
|
||||
3B5 SetWDevicePowerHandler
|
||||
406 ShellModalEnd
|
||||
1C4 ShowStartupWindow
|
||||
176 SignalStarted
|
||||
361 SleepTillTick
|
||||
648 StringCbCatA
|
||||
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 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 DeleteAndRenameFile(lpszDestFile:LPCWSTR; lpszSourceFile:LPCWSTR):BOOL; external KernelDLL name 'DeleteAndRenameFile'; // index FF
|
||||
procedure DeleteCriticalSection(lpCriticalSection:LPCRITICAL_SECTION); external KernelDLL name 'DeleteCriticalSection';
|
||||
function DeleteDC(_para1:HDC):WINBOOL; external KernelDLL name 'DeleteDC';
|
||||
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 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 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 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';
|
||||
@ -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 GetModuleHandle(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 GetNearestColor(_para1:HDC; _para2:COLORREF):COLORREF; external KernelDLL name 'GetNearestColor';
|
||||
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 GlobalFree(hMem:HGLOBAL):HGLOBAL;
|
||||
function GlobalFreePtr(lp:Pointer):Pointer;
|
||||
|
||||
type
|
||||
GlobalHandle = HGLOBAL;
|
||||
{
|
||||
function GlobalHandle(pMem:LPCVOID):HGLOBAL;
|
||||
}
|
||||
|
||||
function GlobalLockPtr(lp:pointer):Pointer;
|
||||
|
||||
type
|
||||
GlobalLock = LPVOID;
|
||||
{
|
||||
function GlobalLock(hMem:HGLOBAL):LPVOID;
|
||||
}
|
||||
|
||||
function GlobalReAlloc(hMem:HGLOBAL; dwBytes:DWORD; uFlags:UINT):HGLOBAL;
|
||||
function GlobalReAllocPtr(lp:Pointer;cbNew,flags:DWord):Pointer;
|
||||
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 LoadCursor(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 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';
|
||||
@ -2491,7 +2493,13 @@ function LocalAlloc(uFlags:UINT; uBytes:UINT):HLOCAL; external KernelDLL name 'L
|
||||
function LocalDiscard(hlocMem:HLOCAL):HLOCAL;
|
||||
function LocalFileTimeToFileTime(lpLocalFileTime:LPFILETIME; lpFileTime:LPFILETIME):WINBOOL; external KernelDLL name 'LocalFileTimeToFileTime';
|
||||
function LocalFree(hMem:HLOCAL):HLOCAL; external KernelDLL name 'LocalFree';
|
||||
|
||||
type
|
||||
LocalHandle = HLOCAL;
|
||||
{
|
||||
function LocalHandle(pMem:LPCVOID):HLOCAL;
|
||||
}
|
||||
|
||||
function LocalLock(hMem:HLOCAL):LPVOID;
|
||||
function LocalReAlloc(hMem:HLOCAL; uBytes:UINT; uFlags:UINT):HLOCAL; external KernelDLL name 'LocalReAlloc';
|
||||
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 QueryPerformanceFrequency(lpFrequency:PLARGE_INTEGER):WINBOOL; external Kerneldll name 'QueryPerformanceFrequency';
|
||||
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 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
|
||||
@ -2609,6 +2619,7 @@ function RegisterClass(lpWndClass:LPWNDCLASS):ATOM; external KernelDLL name 'Reg
|
||||
function RegisterClassW(lpWndClass:LPWNDCLASS):ATOM; external KernelDLL name 'RegisterClassW';
|
||||
function RegisterClipboardFormat(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 RegisterTaskBar(hwndTaskbar:HWND):BOOL; external KernelDLL name 'RegisterTaskBar'; // index 4D9
|
||||
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 RequestDeviceNotifications(devclass:LPGUID; hMsgQ:HANDLE; fAll:BOOL):HANDLE; external KernelDLL name 'RequestDeviceNotifications'; // index 155
|
||||
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 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';
|
||||
@ -2733,15 +2750,17 @@ function Shell_NotifyIcon(dwMessage: DWORD; lpData: PNotifyIconDataA): WINBOOL;
|
||||
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 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 ShowCursor(bShow:WINBOOL):longint; external KernelDLL name 'ShowCursor';
|
||||
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';
|
||||
procedure Sleep(dwMilliseconds:DWORD); external KernelDLL name 'Sleep';
|
||||
function StartDoc(_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 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 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';
|
||||
@ -3065,11 +3084,13 @@ begin
|
||||
GlobalFree:=LocalFree(hMem);
|
||||
end;
|
||||
|
||||
{
|
||||
function GlobalHandle(pMem:LPCVOID):HGLOBAL;
|
||||
begin
|
||||
//GlobalHandle:=LocalHandle(pMem);
|
||||
GlobalHandle:=HLOCAL(pMem); //see localhandle
|
||||
end;
|
||||
}
|
||||
|
||||
function GlobalReAlloc(hMem:HGLOBAL; dwBytes:DWORD; uFlags:UINT):HGLOBAL;
|
||||
begin
|
||||
@ -3081,11 +3102,13 @@ begin
|
||||
GlobalSize:=LocalSize(hMem);
|
||||
end;
|
||||
|
||||
{
|
||||
function GlobalLock(hMem:HGLOBAL):LPVOID;
|
||||
begin
|
||||
//GlobalLock:=LocalLock(hMem);
|
||||
GlobalLock:=LPVOID(hMem); //see locallock
|
||||
end;
|
||||
}
|
||||
|
||||
function GlobalUnlock(hMem:HGLOBAL):WINBOOL;
|
||||
begin
|
||||
@ -3462,11 +3485,12 @@ begin
|
||||
ListView_Update:=SendMessage(hwndLV,LVM_UPDATE,WPARAM(i),0);
|
||||
end;
|
||||
|
||||
|
||||
{
|
||||
function LocalHandle(pMem:LPCVOID):HLOCAL;
|
||||
begin
|
||||
LocalHandle:=HLOCAL(pMem);
|
||||
end;
|
||||
}
|
||||
|
||||
function LocalDiscard(hlocMem:HLOCAL):HLOCAL;
|
||||
begin
|
||||
@ -3571,7 +3595,7 @@ begin
|
||||
end;
|
||||
|
||||
|
||||
function PropSheet_SetCurSelByID(hPropSheetDlg : HWND; id : longint) : LRESULT;
|
||||
function PropSheet_SetCurSelByID(hPropSheetDlg : HWND; id : longint) : LRESULT; inline;
|
||||
begin
|
||||
PropSheet_SetCurSelByID:=SendMessage(hPropSheetDlg,PSM_SETCURSELID,0,LPARAM(id));
|
||||
end;
|
||||
|
@ -2228,6 +2228,7 @@
|
||||
MOD_CONTROL = 2;
|
||||
MOD_SHIFT = 4;
|
||||
MOD_WIN = 8;
|
||||
MOD_KEYUP = $1000;
|
||||
IDHOT_SNAPDESKTOP = -(2);
|
||||
IDHOT_SNAPWINDOW = -(1);
|
||||
{ RegNotifyChangeKeyValue }
|
||||
@ -2657,6 +2658,9 @@
|
||||
TPM_HORIZONTAL = 0;
|
||||
TPM_BOTTOMALIGN = $20;
|
||||
TPM_VERTICAL = $40;
|
||||
TPM_NONOTIFY = $0080; //* Don't send any notification msgs */
|
||||
TPM_RETURNCMD = $0100;
|
||||
|
||||
{ TranslateCharsetInfo }
|
||||
TCI_SRCCHARSET = 1;
|
||||
TCI_SRCCODEPAGE = 2;
|
||||
@ -3866,6 +3870,7 @@
|
||||
ACS_AUTOPLAY = 4;
|
||||
ACS_CENTER = 1;
|
||||
ACS_TRANSPARENT = 2;
|
||||
ACS_TIMER = 8; // don't use threads... use timers
|
||||
{ MODEMDEVCAPS structure }
|
||||
DIALOPTION_BILLING = 64;
|
||||
DIALOPTION_QUIET = 128;
|
||||
@ -5799,6 +5804,254 @@ const
|
||||
MSGSRC_SOFTWARE_POST = 1;
|
||||
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}
|
||||
|
||||
|
||||
@ -5985,6 +6238,66 @@ const
|
||||
GetFirstChild:=GetWindow(h,GW_CHILD);
|
||||
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}
|
||||
{$endif WINCE}
|
||||
|
||||
|
@ -1132,6 +1132,55 @@
|
||||
WM_XBUTTONUP = 524;
|
||||
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
|
||||
{$ifdef MESSAGESUNIT}
|
||||
|
||||
|
@ -20,6 +20,7 @@
|
||||
type
|
||||
PIID = PGUID;
|
||||
TIID = TGUID;
|
||||
REFIID = ^TIID;
|
||||
THANDLE = HANDLE;
|
||||
|
||||
PSmallRect = ^TSmallRect;
|
||||
|
@ -280,6 +280,7 @@
|
||||
1: (TopLeft,BottomRight : TPoint);
|
||||
end;
|
||||
LPRECT = ^RECT;
|
||||
LPCRECT = ^RECT;
|
||||
_RECT = RECT;
|
||||
TRECT = RECT;
|
||||
PRECT = ^RECT;
|
||||
@ -5347,11 +5348,18 @@
|
||||
_GUID = GUID;
|
||||
TGUID = GUID;
|
||||
PGUID = ^GUID;
|
||||
REFGUID = ^GUID;
|
||||
|
||||
CLSID = GUID;
|
||||
LPCLSID = ^CLSID;
|
||||
TCLSID = CLSID;
|
||||
PCLSID = ^CLSID;
|
||||
REFCLSID = ^CLSID;
|
||||
|
||||
FMTID = GUID;
|
||||
LPFMTID = ^FMTID;
|
||||
REFFMTID = ^FMTID;
|
||||
|
||||
|
||||
SERVICE_INFO = record
|
||||
lpServiceType : LPGUID;
|
||||
@ -7721,6 +7729,46 @@ type
|
||||
PINPUT = ^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}
|
||||
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user