现在偶想让偶的强制休息程序的剩余时间提示窗口在屏幕右下角提示,但是不能挡住任务栏,而要在伤务栏的上方
这可能需要获取任务栏的高度
还是自己查了一下API,找到了下面的方法:
;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< ; Function: 计算并显示系统任务栏高度 ; Author: PurpleEndurer ; DevEnv: Win XP SP2 + MASM32 v7 ; log ; ---------------------------------------------------- ; 2008-09-21 Created! ;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< .386 .model flat, stdcall option casemap:none include \masm32\include\windows.inc include \masm32\include\kernel32.inc includelib \masm32\lib\kernel32.lib include \masm32\include\user32.inc includelib \masm32\lib\user32.lib GetTaskBarHeight proto .data g_hHInstance HINSTANCE ? g_szAppName db "系统任务栏高度", 0 g_szFmtPerD db "系统任务栏高度为:%d", 0 g_szBuf200 db 200 dup(0) g_szFailtGetHeight db "未能取得!", 0 .code start: invoke GetModuleHandle, NULL mov g_hHInstance, eax invoke GetTaskBarHeight inc eax .if ZERO? push MB_ICONERROR push offset g_szAppName ;push for MessageBox() push offset g_szFailtGetHeight ;push for MessageBox() .else dec eax invoke wsprintf, addr g_szBuf200, addr g_szFmtPerD, eax push MB_ICONINFORMATION ;push for MessageBox() push offset g_szAppName ;push for MessageBox() push offset g_szBuf200 ;push for MessageBox() .endif push NULL ;push for MessageBox() call MessageBox invoke ExitProcess, eax ;/////////////////////////////// ;Fun: 计算系统任务栏高度 ; In: (none) ;Out: 若失败eax=-1,否则eax=高度值 ; ////////////////////////////// GetTaskBarHeight proc local stDeskRect: RECT ;--- 取桌面工作区大小 invoke SystemParametersInfo, SPI_GETWORKAREA, NULL, addr stDeskRect, NULL test eax, eax .if !ZERO? ; 取得了吗? ;--- 如果桌面工作区左上角y坐标值不为零, ; 说明任务栏在屏幕上方 .IF stDeskRect.top != 0 mov eax, stDeskRect.top ;工作区左上角y坐标值即任务栏高度 .ELSE ;--- 取屏幕高度 invoke GetSystemMetrics, SM_CYSCREEN test eax, eax jz @GetTaskBarHeightFailRet ;未能取得 .if eax != stDeskRect.bottom ;---如果屏幕高度与桌面工作区右下角y坐标值相同, ; 那么任务栏在屏幕两侧,屏幕高度即任务栏高度 ; 否则任务栏在屏幕下方,屏幕高度与桌面工作区右下角y坐标值之差即即任务栏高度 sub eax, stDeskRect.bottom .endif .ENDIF .else @GetTaskBarHeightFailRet: mov eax, -1 .endif ret GetTaskBarHeight endp end start
以上是小编为您精心准备的的内容,在的博客、问答、公众号、人物、课程等栏目也有的相关内容,欢迎继续使用右上角搜索按钮进行搜索masm
, masm怎么yong
, 提示
, 右下角
, 高度
, 任务
, 剩余
上方
获取任务栏高度、mfc获取任务栏高度、qt获取任务栏高度、java获取任务栏高度、vb获取任务栏高度,以便于您获取更多的相关知识。
时间: 2024-11-02 14:15:52