一些技巧(12)

简介: 从DLL中加载一个对话框资源xxxDlg dlg;AFX_MANAGE_STATE(AfxGetStaticModuleState());int ret=dlg.
从DLL中加载一个对话框资源
xxxDlg dlg;
AFX_MANAGE_STATE(AfxGetStaticModuleState());
int ret=dlg.DoModal();
==========================================================================================
DWORD GetMyDiskSerialNo()//获得磁盘序列号
{
    LPCTSTR lpRootPathName="c://";//取C盘的序列号
    LPTSTR lpVolumeNameBuffer=new char[12];//磁盘卷标
    DWORD nVolumeNameSize=12;
    DWORD VolumeSerialNumber;//磁盘序列号
    DWORD MaximumComponentLength;
    LPTSTR lpFileSystemNameBuffer=new char[10];
    DWORD nFileSystemNameSize=10;
    DWORD FileSystemFlags;
    GetVolumeInformation(lpRootPathName,lpVolumeNameBuffer,nVolumeNameSize,&VolumeSerialNumber,&MaximumComponentLength,&FileSystemFlags,lpFileSystemNameBuffer,nFileSystemNameSize);
    return VolumeSerialNumber;
}
==========================================================================================
1.获取当前具有输入高亮条窗口指针
HWND GetFocus()
函数的返回值为当前具有输入高亮条的窗口指针,如果返回值为NULL,则表示当前不存在具有输入高亮条的窗口
2.获取当前指定窗口的父窗口指针
HWND GetParent(HWND hWnd)
其中hWnd为当前窗口句柄,返回值为当前窗口的父窗口指针,如果返回值为NULL,则表示当前窗口没有父窗口或当前窗口是父窗口
3.HWND GetWindow(HWND hWnd,UINT fnRel)
该函数用来检索与给定窗口有关的窗口句柄,函数搜索系统的顶层窗口列表,返回与窗口有关的所有子窗口或窗口拥有者的所有同级窗口指针。
其中hWnd为标志原始的窗口
fnRel指定返回窗口与原始窗口之间的关系,可以是下列参数之一
(1)GW_CHILD标志窗口的第一个子窗口
(2)GW_HWNDFIRST标志返回窗口的第一个兄弟窗口,如果不存在则返回列表中的第一个顶层窗口
(3)GW_HWNDLAST标志返回窗口的第一个兄弟窗口,如果不存在则返回列表中的最后一个顶层窗口
(4)GW_HWNDNEXT返回列表中紧跟给定窗口的兄弟窗口
(5)GW_HWNDPREV返回列表中当前窗口的前一个兄弟窗口
(6)GW_OWNER标志返回当前窗口的拥有者窗口指针
函数的返回值为取得的窗口句柄,如果返回值为NULL,表示fnRel参数无效、系统的窗口列表结束、当前窗口不存在子窗口或拥有者
==========================================================================================
1.打开剪贴板
HANDLE OpenClipboard(HWND hWnd)
hWnd为打开剪贴板的窗口句柄,TRUE表示成功
2.取得剪贴板数据控制句柄
HANDLE GetClipboardData(UINT Form)
Form为剪贴板数据格式(CF_TEXT)
3.内存控制句柄加锁
LPvoid GlobalLock(HANDLE Hand)
Hand为内存控制句柄,其返回值为指定内存控制句柄所在的特定数据格式的指针
LPvoid可根据实际需要来确定,可以是字节byte和字word等数据定义格式
上述获取的剪贴板数据内存控制句柄只有在加锁后方能读取内存中的数据
4.内存控制句柄解锁
VOID GlobalUnlock(HANDLE Hand)
Hand为被加锁的内存控制句柄内存数据读取结束后必须将其解锁,其他应用程序才能再次操作相同内存数据
5.关闭系统剪贴板
VOID CloseClipboard(VOID)
==========================================================================================
按钮的属性 Flat设置为TRUE
==========================================================================================
直接读取显存或系统内存的数据,实现截屏操作
每个显示设备都有一个唯一的名字,程序可以引用。格式为"//.//DISPLAYx",x为1开始的数字,显卡为1,一台机器上netmeeting为3,另一台可以使用EnumDisplayDevices()获得信息来查看
win2000支持单独的镜像驱动,它可以看到发到实际显示驱动程序的数据。
==========================================================================================
启动程序
ShellExecute(0,"open","Berryz工房-恋之咒傅.DAT",NULL,"F://MTV金曲//",SW_SHOW);
目录
相关文章
|
存储 Prometheus 监控
高可用prometheus集群方案选型分享
高可用prometheus集群方案选型分享
5300 2
高可用prometheus集群方案选型分享
|
9月前
|
SQL 数据管理 数据挖掘
云版StarRocks操作手册
简要介绍阿里云版StarRocks EMR Serverless StarRocks 以及EMR Serverless StarRocks的操作
|
7天前
|
NoSQL Cloud Native Redis
Redis核心开发者的新征程:阿里云与Valkey社区的技术融合与创新
阿里云瑶池数据库团队后续将持续参与Valkey社区,如过往在Redis社区一样耕耘,为开源社区作出持续贡献。
Redis核心开发者的新征程:阿里云与Valkey社区的技术融合与创新
|
6天前
|
关系型数据库 分布式数据库 数据库
PolarDB闪电助攻,《香肠派对》百亿好友关系实现毫秒级查询
PolarDB分布式版助力《香肠派对》实现百亿好友关系20万QPS的毫秒级查询。
PolarDB闪电助攻,《香肠派对》百亿好友关系实现毫秒级查询
|
8天前
|
消息中间件 Cloud Native Serverless
RocketMQ 事件驱动:云时代的事件驱动有啥不同?
本文深入探讨了云时代 EDA 的新内涵及它在云时代再次流行的主要驱动力,包括技术驱动力和商业驱动力,随后重点介绍了 RocketMQ 5.0 推出的子产品 EventBridge,并通过几个云时代事件驱动的典型案例,进一步叙述了云时代事件驱动的常见场景和最佳实践。
115055 1
|
8天前
|
弹性计算 安全 API
访问控制(RAM)|云上安全使用AccessKey的最佳实践
集中管控AK/SK的生命周期,可以极大降低AK/SK管理和使用成本,同时通过加密和轮转的方式,保证AK/SK的安全使用,本次分享为您介绍产品原理,以及具体的使用步骤。
101820 2
|
8天前
|
自然语言处理 Cloud Native Serverless
通义灵码牵手阿里云函数计算 FC ,打造智能编码新体验
近日,通义灵码正式进驻函数计算 FC WebIDE,让使用函数计算产品的开发者在其熟悉的云端集成开发环境中,无需再次登录即可使用通义灵码的智能编程能力,实现开发效率与代码质量的双重提升。
95395 2
|
5天前
|
物联网 PyTorch 测试技术
手把手教你捏一个自己的Agent
Modelscope AgentFabric是一个基于ModelScope-Agent的交互式智能体应用,用于方便地创建针对各种现实应用量身定制智能体,目前已经在生产级别落地。
|
23小时前
|
NoSQL Java Redis
使用Redis实例搭建网上商城的商品相关性分析程序
本教程将指导您如何快速创建实例并搭建网上商城的商品相关性分析程序。(ApsaraDB for Redis)是兼容开源Redis协议标准的数据库服务,基于双机热备架构及集群架构,可满足高吞吐、低延迟及弹性变配等业务需求。
17069 0
Doodle Jump — 使用Flutter&Flame开发游戏真不错!
用Flutter&Flame开发游戏是一种什么体验?最近网上冲浪的时候,我偶然发现了一个国外的游戏网站,类似于国内的4399。在浏览时,我遇到了一款经典的小游戏:Doodle Jump...
112735 12

热门文章

最新文章