|
一、隐藏任务栏 在WINDOWS中,系统的任务栏本质上也是一个窗口,其窗口类名为“Shell_TrayWnd"。要实现对它的操作,可通过API函数FindWindow和ShowWindow来达到目的。
var wndHandle:THandle; wndClass:Array[0..50] of char; begin StrPCopy(@wndClass[0],'Shell_TrayWnd'); wndHandle:=FindWindow(@wndClass[0],nil); ShowWindow(wndHandle,SW_HIDE); //sw_restore end;
二、隐藏桌面上的快捷方式 跟任务栏一样,桌面其实也是一个窗口,它的类名为“ProgMan”,同样用FindWindow找到窗口句柄,再邮ShowWindow来决定是否显示。
三、获取任务栏尺寸及位置 用FindWindow找到句柄,再用GetWindowRect获取当前任务栏尺寸大小。 GetWindowRect(HWND hWnd, //所求窗口的句柄 LPRECT lpRect //存储窗口坐标的结构体的地址 ):Boolean;
四、获取CPU信息 CPU的相关信息是存储在一个结构体中的,这个结构体由DELPHI用TSYSTEMINFO进行了封装,定义如下: typedef struct_SYSTEM_INFO{ union{ DWORD dwOemId; //已改用如下结构体分支来代替这个变量的使用了 struct{ WORD wProcessorArchitecture; //表示处理器的架构 word wReserved; //保留字 }; }; DWORD swPageSiae; //分页大小 LPVOID lpMinimumApplicationAddress; //应用程序和动态链接库可以访问的最小地址 LPVOID lpMaximumApplicationAddress; //应用程序和动态链接库可以访问的最大地址 DWORD swActiveProcessorMask; //活动处理器的掩码 DWORD dwNumberOfProcessors; //处理器的数目 DWORD dwProcessorType; //处理器的类别 DWORD dwAllocationGranularity; //虚拟内存地址分配的间隔 WORD wProcessorLevel; //处理器的级别 WORD wProcessorRevision; //处理器修改信息 }SYSTEM_INFO; 其中dwProcessorType由wProcessorArchitecture、wProcessorLevel和wProcessorRevision三个成员来确定,其值为: PROCESSOR_INTEL_386:INTEL80386系列; PROCESSOR_ITNEL_486:INTEL80486系列; PROCESSOR_INTEL_PENTIUM:INTEL PENTIUM系列; PROCESSOR_MIPS_R4000:MIPS的4000系列(仅适用于WINDOWS NT); PROCESSOR_ALPHA_21064:ALPHA的21064系列(仅适用于WINDOWS NT);
另外,获得CPU信息调用API函数GetSystemInfo即可。
五、获取内存信息。 与获取CPU一样,系统依然采用了一个结构体来存储内存信息。这个存储内在状态信息的体定义下如: typedef struct_MEMORYSTATUS{ DWORD dwLength; //SIZEOF(MEMORYSTATUS)即本结构体的大小 DWORD dwMemoryLoad; //当前使用内存与总内在的百分比 DWORD dwTotalPhys; //总物理内存大小 DWORD dwAvailPhys; //可用物理内存大小 DWORD dwTotalPageFile; //总页面文件的大小 DWORD dwAvailPageFile; //可用页面文件的大小 DWORD dwTotalVirtual; //总虚拟内存的大小 DWORD dwAvailVirtual; //可用虚拟内存的大小 }MEMORYSTATUS,*LPMEMORYSTATUS;
最后调用API函数GlobalMemoryStatus来获取内存信息。
[1] [2] 下一页 |