The Windows API (application programming interface) are the low level workings of Windows. It offers high performance, and lightweight code, but it is very sparsely documented for .NET programmers. This section provides a rough guide to the Win32 API from a C# and VB.NET developers perspective. This guide is not definitive, and will evolve with more content over time. Currently listed are over 1,600 Windows API functions. To use this guide, firstly expand the one of the libraries below by pressing the icon. Once you have found the function you are looking for, click on the library name itself.
File, Memory, Process, Threading, Time, Console, and Comm control(kernel32.dll)
Window handling, and Windows UI control(user32.dll)
Graphics and Imaging(gdi32.dll)
Audio, Video, and Joystick control(winmm.dll)
Registry, Event Log, Authentication, and Services(advapi32.dll)
Printing(winspool.drv)
- AbortPrinter
- AddForm
- AddJob
- AddMonitor
- AddPort
- AddPrinter
- AddPrinterConnection
- AddPrinterDriver
- AddPrintProcessor
- AddPrintProvidor
- AdvancedDocumentProperties
- ClosePrinter
- ConfigurePort
- ConnectToPrinterDlg
- DeleteForm
- DeleteMonitor
- DeletePort
- DeletePrinter
- DeletePrinterConnection
- DeletePrinterDriver
- DeletePrintProcessor
- DeletePrintProvidor
- DeviceCapabilities
- DocumentProperties
- EndDocPrinter
- EndPagePrinter
- EnumForms
- EnumJobs
- EnumMonitors
- EnumPorts
- EnumPrinterDrivers
- EnumPrinterPropertySheets
- EnumPrinters
- EnumPrintProcessorDatatypes
- EnumPrintProcessors
- FindClosePrinterChangeNotification
- FindFirstPrinterChangeNotification
- FindNextPrinterChangeNotification
- GetForm
- GetJob
- GetPrinter
- GetPrinterData
- GetPrinterDriver
- GetPrinterDriverDirectory
- GetPrintProcessorDirectory
- OpenPrinter
- PrinterMessageBox
- PrinterProperties
- ReadPrinter
- ResetPrinter
- ScheduleJob
- SetForm
- SetJob
- SetPrinter
- SetPrinterData
- StartDocPrinter
- StartPagePrinter
- WaitForPrinterChange
- WritePrinter
Asian charachter support(imm32.dll)
- ImmAssociateContext
- ImmConfigureIME
- ImmCreateContext
- ImmDestroyContext
- ImmEnumRegisterWord
- ImmEscape
- ImmGetCandidateList
- ImmGetCandidateListCount
- ImmGetCandidateWindow
- ImmGetCompositionFont
- ImmGetCompositionString
- ImmGetCompositionWindow
- ImmGetContext
- ImmGetConversionList
- ImmGetConversionStatus
- ImmGetDefaultIMEWnd
- ImmGetDescription
- ImmGetGuideLine
- ImmGetIMEFileName
- ImmGetOpenStatus
- ImmGetProperty
- ImmGetRegisterWordStyle
- ImmGetStatusWindowPos
- ImmGetVirtualKey
- ImmInstallIME
- ImmIsIME
- ImmIsUIMessage
- ImmNotifyIME
- ImmRegisterWord
- ImmReleaseContext
- ImmSetCandidateWindow
- ImmSetCompositionFont
- ImmSetCompositionString
- ImmSetCompositionWindow
- ImmSetConversionStatus
- ImmSetOpenStatus
- ImmSetStatusWindowPos
- ImmSimulateHotKey
- ImmUnregisterWord
Executing processes(shell32.dll)
- CommandLineToArgv
- CommandLineToArgvW
- DoEnvironmentSubst
- DragAcceptFiles
- DragFinish
- DragQueryFile
- DragQueryPoint
- DuplicateIcon
- ExitWindowsDialog
- ExtractAssociatedIcon
- ExtractAssociateIcon
- ExtractIcon
- ExtractIconEx
- FindEnvironmentString
- FindExecutable
- PickIconDlg
- RestartDialog
- SHAddToRecentDocs
- SHAppBarMessage
- SHBrowseForFolder
- Shell_NotifyIcon
- ShellAbout
- ShellExecute
- ShellExecuteEx
- SHEmptyRecycleBin
- SHFileOperation
- SHFreeNameMappings
- SHGetFileInfo
- SHGetFolderLocation
- SHGetFolderPath
- SHGetNewLinkInfo
- SHGetPathFromIDList
- SHGetSpecialFolderLocation
- SHGetSpecialFolderPath
- SHQueryRecycleBin
- SHUpdateRecycleBinIcon
- st
- WinExecError
Winsock, windows berkley socket support(wsock32.dll)
- closesocket
- connect
- gethostbyaddr
- gethostbyname
- gethostname
- htonl
- htons
- ioctlsocket
- ntohl
- recv
- send
- socket
- WSACleanup
- WSAGetLastError
- WSAStartup
WNet* Instrumentation(mpr.dll)
- WNetAddConnection
- WNetAddConnection2
- WNetCancelConnection
- WNetCancelConnection2
- WNetCloseEnum
- WNetConnectionDialog
- WNetDisconnectDialog
- WNetEnumResource
- WNetGetConnection
- WNetGetLastError
- WNetGetUniversalName
- WNetGetUser
- WNetOpenEnum
Common Dialog control(comdlg32.dll)
- ChooseColor
- CHOOSECOLOR_Renamed
- ChooseFont
- ChooseFont_Renamed
- CommDlgExtendedError
- FindText
- GetFileTitle
- GetOpenFileName
- GetSaveFileName
- PageSetupDlg
- PrintDlg
- PrintDlg_Renamed
- ReplaceText
Windows Network support(netapi32.dll)
- NetApiBufferFree
- Netbios
- NetLocalGroupDelMembers
- NetLocalGroupGetMembers
- NetRemoteTOD
- NetUserAdd
- NetUserChangePassword
- NetUserGetGroups
- NetUserGetInfo
- NetUserGetLocalGroups
- NetWkstaGetInfo
- NetWkstaUserGetInfo
Windows Compression(lz32.dll)
- CopyLZFile
- GetExpandedName
- LZClose
- LZCopy
- LZDone
- LZInit
- LZOpenFile
- LZRead
- LZSeek
- LZStart
Common Controls(comctl32.dll)
- ImageList_AddIcon
- ImageList_Create
- ImageList_Draw
- ImageList_GetIcon
- InitCommonControls
- InitCommonControlsEx
Versioning support(version.dll)
- GetFileVersionInfo
- GetFileVersionInfoSize
- VerFindFile
- VerInstallFile
- VerQueryValue
Object linking and embedding(ole32.dll)