The Tomes of Delphi 3 : Win32 Core API
John Ayres, David Bowden, Larry Diehl
Résumé
The Tomes Of Delphi: Win32 Core API is a concise, detailed reference manual for using 32 bit Windows API functions in the Delphi 3 development environment. This book describes the core Win32 API functions, those functions that lie at the heart of every Windows application, and includes chapters on window creation, window information retrieval, input functions, file input and output, processes and threads, dynamic link libraries, system information, strings and atoms, and registry manipulation. Each chapter is filled with working examples, with each and every API function used in an example to demonstrate its functionality. The layout of function descriptions allows the developer to quickly glance at a function to learn its syntax and parameters, offering progressively more detailed information further into the function description. Intermediate to advanced Delphi developers with considerable Windows programming experience are ideally targeted for this title. The CD includes all of the projects and example code found in the book, bonus programs, shareware, freeware, and a help file containing every function description from the book. Of particular importance though is the inclusions of evaluation versions of many retail software products, including DemoShield 5.1, InstallShield Express Professional Version 2.0, The InstallShield Version 5.0 Free Edition, InstallShield 5.0 Evaluation Version, SkyLine Tools Evaluation Software, and a complete free retail version of PackageForTheWeb. CD Included. Features: This book is the "only" source for detailed coverage of the Win32 API specifically targeted to the Delphi developer. It contains updated and corrected Win32 API function information not found in the Win32 SDK help file that ships with either Borland's Delphi 3 or C++ Builder. Delphi developers will gain a better understanding of using the Win32 API in the Delphi environment through the use of working example code and detailed Object Pascal specific function descriptions. Beginning and advanced Delphi programmers alike will benefit from the heavily documented examples. This Delphi 3 title includes an especially detailed index for ease of use as a comprehensive reference.
About the Authors xvii Acknowledgments xix Foreword xxi Introduction xxiii The Featured Chapters xxiv Conventions xxvi Function Descriptions xxvi Sample Programs xxvii The CD-ROM xxvii Who This Book is For xxviii Chapter 1 Delphi and the Windows API 1 The Windows API Versus the VCL 1 Windows Data Types 1 Handles 4 Constants 4 Strings 4 Importing Windows Functions 4 Incorrectly Imported Functions 5 Callback Functions 5 Function Parameters 6 Unicode 7 Chapter 2 Windows 95 Logo Requirements and 9 Delphi Getting a Logo 12 Product Categories 13 Taking the Test 14 Product Reliability (Basic Requirements) 15 User Experience 16 General Accessibility Requirements and 30 Tips Application Compatibility 33 Chapter 3 Window Creation Functions 35 Creating Windows: The Basic Steps 35 The Window Procedure 37 Hardcore Windows Programming 38 Window Types 40 Multiple Document Interface 41 Extending Functionality 47 Window Creation and Registration Functions 50 CreateMDIWindow 51 CreateWindow 54 CreateWindowEx 72 DestroyWindow 78 RegisterClass 79 RegisterClassEx 84 UnregisterClass 85 Chapter 4 Message Processing Functions 87 The Message Queue and Message Loop 87 Windows Hooks 88 Interprocess Communication 89 Message Processing Functions 89 BroadcastSystemMessage 90 CallNextHookEx 92 CallWindowProc 93 DefFrameProc 96 DefMDIChildProc 101 DefWindowProc 102 DispatchMessage 103 GetMessage 104 GetMessageExtraInfo 107 GetMessagePos 109 GetMessageTime 109 GetQueueStatus 110 InSendMessage 112 PeekMessage 113 PostMessage 115 PostQuitMessage 118 PostThreadMessage 118 RegisterWindowMessage 120 ReplyMessage 122 SendMessage 123 SendMessageCallback 124 SendMessageTimeout 126 SendNotifyMessage 130 SetMessageExtraInfo 132 SetWindowsHookEx 132 TranslateMessage 153 UnhookWindowsHookEx 154 WaitMessage 154 Chapter 5 Window Information Functions 157 Information Storage 157 Window Specific Information 158 Subclassing a Window 159 Knowing It All 160 Window Information Functions 167 AnyPopup 169 ChildWindowFromPoint 169 ChildWindowFromPointEx 171 EnableWindow 172 EnumChildWindows 174 EnumProps 176 EnumPropsEx 179 EnumThreadWindows 182 EnumWindows 184 FindWindow 186 FindWindowEx 187 FlashWindow 188 GetActiveWindow 189 GetClassInfo 190 GetClassInfoEx 192 GetClassLong 195 GetClassName 197 GetClientRect 198 GetDesktopWindow 199 GetFocus 200 GetForegroundWindow 201 GetNextWindow 202 GetParent 204 GetProp 205 GetTopWindow 205 GetWindow 206 GetWindowLong 208 GetWindowRect 211 GetWindowText 212 GetWindowTextLength 213 IsChild 214 IsIconic 215 IsWindow 216 IsWindowEnabled 217 IsWindowUnicode 217 IsWindowVisible 218 IsZoomed 219 RemoveProp 220 SetActiveWindow 221 SetClassLong 222 SetFocus 223 SetForegroundWindow 224 SetParent 225 SetProp 226 SetWindowLong 227 SetWindowText 229 WindowsFromPoint 230 Chapter 6 Process and Thread Functions 233 Processes 233 Threads 233 Critical Section 234 Semaphores 234 Mutexes 234 Events 234 Interlocked Variables 235 Priority Levels 235 Process and Thread Functions 235 CreateEvent 237 CreateMutex 240 CreateProcess 243 CreateSemaphore 247 CreateThread 251 DeleteCriticalSection 252 DuplicateHandle 252 EnterCriticalSection 256 ExitProcess 257 ExitThread 258 GetCurrentProcess 259 GetCurrentProcessId 259 GetCurrentThread 260 GetCurrentThreadId 260 GetExitCodeProcess 261 GetExitCodeThread 262 GetPriorityClass 263 GetThreadPriority 266 GetWindowThreadProcessId 268 InitializeCriticalSection 269 InterlockedDecrement 271 InterlockedExchange 273 InterlockedIncrement 274 LeaveCriticalSection 274 OpenEvent 275 OpenMutex 276 OpenProcess 277 OpenSemaphore 280 PulseEvent 281 ReleaseMutex 282 ReleaseSemaphore 283 ResetEvent 283 ResumeThread 284 SetEvent 285 SetPriorityClass 285 SetThreadPriority 287 Sleep 288 SuspendThread 288 TerminateProcess 289 TerminateThread 290 TlsAlloc 292 TlsFree 294 TlsGetValue 295 TlsSetValue 295 WaitForInputIdle 296 WaitForSingleObject 297 Chapter 7 Dynamic Link Library Functions 301 Importing/Exporting Functions 301 Calling Conventions 302 The Dynamic Link Library Entry Point 302 Function Dynamic Link Library Functions 303 DLLEntrypoint 303 DisableThreadLibraryCalls 304 FreeLibrary 305 FreeLibraryAndExitThread 306 GetModuleFileName 309 GetModuleHandle 310 GetProcAddress 311 LoadLibrary 311 LoadLibraryEx 315 Chapter 8 Initialization File and Registry 319 Functions Initialization Files 319 The Registry 320 Initialization File and Registry Functions 320 GetPrivateProfileInt 321 GetPrivateProfileSection 322 GetPrivateProfileSectionNames 323 GetPrivateProfileString 325 GetPrivateProfileStruct 327 GetProfileInt 328 GetProfileSection 329 GetProfileString 330 RegCloseKey 331 RegCreateKeyEx 332 RegDeleteKey 335 RegDeleteValue 336 RegEnumKeyEx 338 RegEnumValue 340 RegFlushKey 343 RegLoadKey 344 RegOpenKeyEx 346 RegQueryInfoKey 348 RegQueryValueEx 350 RegReplaceKey 352 RegSaveKey 354 RegSetValueEx 355 RegUnLoadKey 357 WritePrivateProfileSection 358 WritePrivateProfileString 361 WritePrivateProfileStruct 362 WriteProfileSection 365 WriteProfileString 367 Chapter 9 Memory Management Functions 369 API Versus Delphi 369 The Win32 Virtual Memory Architecture 369 Categories of Memory Allocation Functions 370 Heaps 370 The 16-Bit Memory Functions 371 Virtual Memory 371 Three States of Memory 372 How Much Memory is Really There? 372 Multiple Heaps 373 Error Trapping 373 Thread Access 373 Speed 374 Memory Management Functions 375 CopyMemory 376 FillMemory 377 GetProcessHeap 378 GlobalAlloc 379 GlobalDiscard 382 GlobalFlags 382 GlobalFree 383 GlobalHandle 384 GlobalLock 385 GlobalMemoryStatus 385 GlobalReAlloc 388 GlobalSize 391 GlobalUnlock 392 HeapAlloc 392 HeapCreate 395 HeapDestroy 396 HeapFree 397 HeapReAlloc 398 HeapSize 399 IsBadCodePtr 400 IsBadReadPtr 401 IsBadStringPtr 402 IsBadWritePtr 404 LocalAlloc 405 LocalDiscard 407 LocalFlags 408 LocalFree 408 LocalHandle 409 LocalLock 410 LocalReAlloc 410 LocalSize 414 LocalUnlock 415 MoveMemory 415 VirtualAlloc 417 VirtualFree 421 VirtualProtect 423 VirtualQuery 425 ZeroMemory 427 Chapter 10 Clipboard Manipulation Functions 429 Clipboard Internals 429 Conversion Formats 430 Delayed Rendering 430 Clipboard Viewers 433 Clipboard Manipulation Functions 433 ChangeClipboardChain 434 CloseClipboard 435 CountClipboardFormats 435 EmptyClipboard 436 EnumClipboardFormats 436 GetClipboardData 439 GetClipboardFormatName 441 GetClipboardOwner 442 GetClipboardViewer 442 GetOpenClipboardWindow 443 GetPriorityClipboardFormat 444 IsClipboardFormatAvailable 445 OpenClipboard 446 RegisterClipboardFormat 447 SetClipboardData 448 SetClipboardViewer 452 Chapter 11 Input Functions 457 The Keyboard 457 The Mouse 457 Input Functions 458 ActivateKeyboardLayout 459 ClipCursor 460 DragDetect 461 GetAsyncKeyState 463 GetCapture 463 GetCaretBlinkTime 464 GetCaretPos 464 GetClipCursor 465 GetCursorPos 465 GetDoubleClickTime 466 GetInputState 467 GetKeyboardLayout 467 GetKeyboardLayoutList 468 GetKeyboardLayoutName 469 GetKeyboardState 469 GetKeyboardType 470 GetKeyNameText 472 GetKeyState 474 keybd_event 476 joyGetDevCaps 478 joyGetNumDevs 480 joyGetPos 481 joyGetPosEx 482 joyGetThreshold 485 joyReleaseCapture 486 joySetCapture 486 joySetThreshold 490 LoadKeyboardLayout 491 MapVirtualKey 494 MapVirtualKeyEx 497 mouse_event 498 OemKeyScan 501 ReleaseCapture 502 SetCapture 502 SetCaretBlinkTime 503 SetCaretPos 504 SetCursorPos 505 SetDoubleClickTime 506 SetKeyboardState 506 SwapMouseButton 507 UnloadKeyboardLayout 510 VkKeyScan 511 VkKeyScanEx 512 Chapter 12 File Input/Output Functions 515 File Creation 515 File Times 515 File Input/Output Functions 516 CloseHandle 518 CompareFileTime 519 CopyFile 521 CreateDirectory 523 CreateDirectoryEx 526 CreateFile 527 CreateFileMapping 533 DeleteFile 539 DosDateTimeToFileTime 539 FileTimeToDosDateTime 541 FileTimeToLocalFileTime 542 FileTimeToSystemTime 542 FindClose 547 FindCloseChangeNotification 548 FindFirstChangeNotification 548 FindFirstFile 551 FindNextChangeNotification 555 FindNextFile 556 FlushFileBuffers 557 FlushViewOfFile 557 GetCurrentDirectory 558 GetFileAttributes 559 GetFileInformationByHandle 560 GetFileSize 563 GetFileTime 564 GetFileType 565 GetFileVersionInfo 566 GetFileVersionInfoSize 567 GetFullPathName 567 GetShortPathName 568 GetTempFileName 569 GetTempPath 571 LocalFileTimeToFileTime 572 LockFile 573 MapViewOfFile 574 MoveFile 575 OpenFileMapping 576 ReadFile 577 RemoveDirectory 579 SearchPath 580 SetCurrentDirectory 581 SetEndOfFile 582 SetFileAttributes 582 SetFilePointer 586 SetFileTime 588 SystemTimeToFileTime 589 UnlockFile 590 UnmapViewOfFile 591 VerQueryValue 591 WriteFile 599 Chapter 13 String and Atom Functions 601 Atom Tables 601 String Conversions 602 String Formatting 603 String and Atom Functions 603 AddAtom 604 CharLower 606 CharLowerBuff 608 CharNext 608 CharPrev 609 CharToOem 610 CharToOemBuff 611 CharUpper 612 CharUpperBuff 613 CompareString 614 DeleteAtom 618 EnumSystemCodePages 619 EnumSystemLocales 621 FindAtom 623 FormatMessage 624 GetACP 631 GetAtomName 632 GetCPInfo 633 GetDateFormat 634 GetOEMCP 638 GetTimeFormat 640 GlobalAddAtom 643 GlobalDeleteAtom 645 GlobalFindAtom 646 GlobalGetAtomName 646 InitAtomTable 647 IsCharAlpha 648 IsCharAlphaNumeric 649 IsCharLower 649 IsCharUpper 650 Istrcat 650 Istrcmp 652 Istrcmpi 653 Istrcpy 655 Istrlen 656 MakeIntAtom 656 OemToChar 658 OemToCharBuff 658 ToAscii 659 wvsprintf 661 Chapter 14 System Information Functions 667 Accessibility Features 667 System Information Functions 668 ExpandEnvironmentStrings 670 FreeEnvironmentStrings 671 GetCommandLine 671 GetComputerName 672 GetDiskFreeSpace 673 GetDriveType 675 GetEnvironmentStrings 676 GetEnvironmentVariable 678 GetLocaleInfo 678 GetLocalTime 686 GetLogicalDrives 687 GetLogicalDriveStrings 689 GetStartupInfo 689 GetSystemDefaultLangID 691 GetSystemDefaultLCID 692 GetSystemDirectory 693 GetSystemInfo 694 GetSystemTime 698 GetSystemTimeAsFileTime 699 GetTimeZoneInformation 700 GetUserDefaultLangID 702 GetUserDefaultLCID 703 GetUserName 703 GetVersionEx 705 GetVolumeInformation 707 GetWindowsDirectory 709 SetComputerName 710 SetEnvironmentVariable 711 SetLocaleInfo 713 SetLocalTime 716 SetSystemTime 718 SetVolumeLabel 720 SystemParametersInfo 721 VerLanguageName 746 Chapter 15 Timer Functions 751 Emulating a Timer 752 Precise Timing 754 Windows Timer Functions 755 GetTickCount 756 KillTimer 756 QueryPerformanceCounter 758 QueryPerformanceFrequency 759 SetTimer 760 Chapter 16 Error Functions 763 Error Descriptions 763 Audible Error Cues 764 Windows Error Functions 765 Beep 765 ExitWindows 766 ExitWindowsEx 767 FatalAppExit 769 GetLastError 770 MessageBeep 771 SetLastError 772 Appendix Bibliography 773 Index 774 CD Usage License Agreement 787 On the CD-ROM 788
L'auteur - John Ayres
John Ayres works at American Microsystems, a manufacturer of bar code scanning technology, in Dallas, Texas. He is a former officer of the Delphi Developers of Dallas users group and is the author of The Tomes of Delphi: Win32 Core API—Windows 2000 Edition and Delphi Graphics and Game Programming Exposed! with DirectX 7.0.
Caractéristiques techniques
PAPIER | |
Éditeur(s) | Wordware Publishing, Inc |
Auteur(s) | John Ayres, David Bowden, Larry Diehl |
Parution | 15/12/1997 |
Nb. de pages | 788 |
Couverture | Broché |
Intérieur | Noir et Blanc |
EAN13 | 9781556225567 |
Avantages Eyrolles.com
Consultez aussi
- Les meilleures ventes en Graphisme & Photo
- Les meilleures ventes en Informatique
- Les meilleures ventes en Construction
- Les meilleures ventes en Entreprise & Droit
- Les meilleures ventes en Sciences
- Les meilleures ventes en Littérature
- Les meilleures ventes en Arts & Loisirs
- Les meilleures ventes en Vie pratique
- Les meilleures ventes en Voyage et Tourisme
- Les meilleures ventes en BD et Jeunesse