win32释放资源

BOOL FreeMyResource(UINT uResouceName,char *szResourceType,char *szFileName)
{
    HRSRC hRsrc = ::FindResource(NULL,MAKEINRESOURCE(uResouceName),szResourceType);
    
    if(NULL == hRsrc)
    {
        ShowError("FindResource");
        return FALSE;
    }
    
    DWORD dwSize = ::SizeofResource(NULL,hRsrc);
    
    if(0 >= dwSize)
    {
        ShowError("SizeofResource");
        return FALSE;
    }
    
    HGLOBAL hGlobal = ::LoadResource(NULL,hRsrc);
    
    if(NULL == hGlobal)
    {
        ShowError("LoadResource");
        return FALSE;
    }
    
    LPVOID lpVoid = ::LockResource(hGlobal);
    
    if(NULL == lpVoid)
    {
        ShowError("LockResource");
        return FALSE;
    }
    
    FILE *fp = NULL;
    
    fopen_s(&fp,szFileName,"wb+");
    
    if (NULL == fp)
    {
        ShowError("OpenFileFailed");
        return FALSE;
    }
    
    fwrite(lpVoid,sizeof(char),dwSize,fp);
    
    fclose(fp);
    
    return TRUE;
    
}

 

win32释放资源

上一篇:C# Winform 应用程序中 TreeView 控件失去焦点后,仍然高亮显示选中的节点


下一篇:Delphi Treeview 用法(概念、属性、添加编辑插入节点、定位节点、拖拽等)