一些技巧(12)

来源:互联网 发布:mac如何下载炉石传说 编辑:程序博客网 时间:2024/06/03 19:38
从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);
原创粉丝点击