"justify"> Зчитує адpес експоpтіpованной бібліотечної функції.
Параметри :: Бібліотечний модуль .: Ім'я функції (що закінчується порожнім символом) або довільно значення.
возвpащаемся значення: у разі успішного завершення - точка входу в функцію; 0 - у пpотивном випадку.
Функція знаходиться у файлі kernel32.dll.
Текст програми
. asm
. 386
. model flat, stdcallcasemap: noneproto :DWORD,:DWORD,:DWORD,:DWORDmasm32includewindows.incmasm32includeuser32.incmasm32includekernel32.incmasm32includeadvapi32.incmasm32includeshell32.incmasm32libuser32.libmasm32libkernel32.libmasm32libadvapi32.libmasm32libshell32.libdb SimpleWinClass , 0db Курсова робота ОС Малюшко Д. А. , 0db FirstMenu , 0db button , 0db Приховати ПЗ , 0db Показати ПЗ , 0db Поточний користувач raquo ;, 0db Відкрити Яndex , 0db Поблимавши , 0db WINDOWS , 0
shell db Shell_TrayWnd , 0; це ім'я класу панелі завдань
hCap db WindowsDirectory , 0db # justify gt; lpOperation db open , 0db Поточний користувач" , 0; терминирующего символ
nSize dd NULL? HINSTANCE? LPSTR? HWND? HWND? db 512 dup (?)
; buffer to store the text retrieved from the edit boxdb 512 dup (?) equ тисяча одна
; The control ID of the button controlequ 1002 equ +1003 equ +1004 equ 1005 equ 1006
. code: GetModuleHandle, NULLhInstance, eaxGetCommandLineCommandLine, eaxWinMain, hInstance, NULL, CommandLine, SW_SHOWDEFAULTExitProcess, eaxproc hInst:HINSTANCE,hPrevInst:HINSTANCE,CmdLine:LPSTR,CmdShow:DWORDwc:WNDCLASSEXmsg:MSGhwnd:HWNDwc.cbSize,SIZEOF WNDCLASSEXwc.style, CS_HREDRAW or CS_VREDRAWwc.lpfnWndProc, OFFSET WndProcwc.cbClsExtra,NULLwc.cbWndExtra,NULLhInstwc.hInstancewc.hbrBackground,COLOR_BTNFACE+1wc.lpszMenuName,OFFSET MenuNamewc.lpszClassName, OFFSET ClassNameLoadIcon,NULL,IDI_APPLICATIONwc.hIcon,eaxwc.hIconSm,eaxLoadCursor,NULL,IDC_ARROWwc.hCursor,eaxRegisterClassEx, addr wcCreateWindowEx, WS_EX_CLIENTEDGE, ADDR ClassName, AppName, WS_OVERLAPPEDWINDOW, _ USEDEFAULT, CW_USEDEFAULT,
, 200, NULL, NULL, hInst, NULLhwnd, eaxShowWindow, hwnd, SW_SHOWNORMALUpdateWindow, hwnd
. WHILE TRUEGetMessage, ADDR msg, NULL, 0,0
. BREAK .IF (! eax) TranslateMessage, ADDR msgDispatchMessage, ADDR msg
. ENDWeax, msg.wParamendpproc hWnd: HWND, uMsg: UINT, wParam: WPARAM, lParam: LPARAM
. IF uMsg == WM_DESTROYPostQuitMessage, NULL
. ELSEIF uMsg == WM_CREATECreateWindowEx, NULL, ADDR ButtonClassName, ADDR ButtonText1, _ CHILD or WS_VISIBLE or BS_DEFPUSHBUTTON,
, 0,100,25, hWnd, ButtonID1, hInstance, NULL CreateWindowEx, NULL, ADDR ButtonClassName, ADDR ButtonText2, _ CHILD or WS_VISIBLE or BS_DEFPUSHBUTTON,
, 35,100,25, hWnd, ButtonID2, hInstance, NULL CreateWindowEx, NULL, ADDR ButtonClassName, ADDR ButtonText3, _ CHILD or WS_VISIBLE or BS_DEFPUSHBUTTON,
, 65,180,25, hWnd, ButtonID3, hInstance, NULL CreateWindowEx, NULL, ADDR ButtonClassName, ADDR ButtonText4, _ CHILD or WS_VISIBLE or BS_DEFPUSHBUTTON,
, 95,180,25, hWnd, ButtonID4, hInstance, NULL CreateWindowEx, NULL, ADDR ButtonClassName, ADDR ButtonText5, _ CHILD or WS_VISIBLE or BS_DEFPUSHBUTTON,
, 0,100,25, hWnd, ButtonID5, hInstance, NULL CreateWindowEx, NULL, ADDR ButtonClassName, ADDR ButtonText6, _ CHILD or WS_VISIBLE or BS_DEFPUSHBUTTON,
, 125,100,25, hWnd, ButtonID6, hInstance, NULL hwndButton, eax
. ELSEIF uMsg == WM_COMMANDeax, wParam
. IF ax == ButtonID1eax, 16
. IF ax == BN_CLICKEDFindWindow, addr shell, NULL; отримання хендлом панелі завдань
. if eax!=0ShowWindow, eax, SW_HIDE; приховати панель завдань
. endif
. ENDIF
. ELSEIF ax == ButtonID2 eax, 16
. IF ax == BN_CLICKEDFindWindow, addr shell, NULL; отримання хендлом панелі завдань
. if eax!=0ShowWindow, eax, SW_SHOW; показати панель завдань
. endif
. ENDIF
. ELSEIF ax == ButtonID3 eax, 16
. IF ax == BN_CLICKEDnSize, 512GetUserName, addr lpUsername, addr nSizeMessageBox, hWnd, addr lpUsername, addr capt, MB_OK
. ENDIF
. ELSEIF ax == ButtonID4 eax, 16
. IF ax == BN_CLICKEDShellExecute, ...