zoukankan      html  css  js  c++  java
  • 文件操作

     1 =============== Windows资源文件的读取 ===============
     2 
     3 Windows资源操作函数 
     4  12 LoadAccelerators  加载快捷键资源
     5 
     6  14 LoadBitmap      加载位图资源
     7 
     8  16 LoadCursor       加载光标资源
     9 
    10  18 LoadIcon       加载图标资源
    11 
    12  20 LoadMenu       加载菜单资源
    13 
    14  22 LoadString     加载字符串资源
    15 
    16 
    17 Windows资源操作函数 

    29 FindResource    从指定模块中加载指定名称、类型的资源 18 19 31 SizeofResource  获取资源数据的长度 20 21 33 LoadResource   加载指定的资源至内存 22 23 35 LockResource   锁定指定的资源,并返回指向资源数据的指针 24 25 37 FreeResource   释放指定的资源 26 27 39 我们通常加载某个资源的步骤如下所示: 28 41 使用LoadLibrary()加载模块,或者获取当前应用程序的模块。 29 30 43 调用FindResource()从指定模块中查找指定的资源,返回该资源的句柄。 31 32 45 调用SizeofResource ()获取资源数据的长度。 33 34 47 调用LoadResource()将资源加载至内存。 35 36 49 调用LockResource()锁定资源,并返回指向资源数据的指针。 37 38 51 通过数据指针操作数据。 39 40 53 使用完毕,调用FreeResource()释放指定的资源。 41 42 // 释放【DLL文件】到指定的文件夹 43 BOOL ReleaseDLLRes(LPCTSTR szDLLFullPath, UINT uResID, LPCTSTR szResType) 44 { 45 if (uResID<=0 || !szResType) 46 { 47 return FALSE; 48 } 49 50 HRSRC hRsrc = FindResource(NULL, MAKEINTRESOURCE(uResID), szResType); 51 if ( NULL == hRsrc ) 52 { 53 return FALSE; 54 } 55 56 DWORD dwSize = SizeofResource(NULL, hRsrc); 57 if ( dwSize <= 0) 58 { 59 return FALSE; 60 } 61 62 HGLOBAL hGlobal = LoadResource(NULL, hRsrc); 63 if ( NULL == hGlobal ) 64 { 65 return FALSE; 66 } 67 68 LPVOID pBuffer = LockResource(hGlobal); 69 if ( NULL ==pBuffer ) 70 { 71 return FALSE; 72 } 73 74 HANDLE hFile = CreateFile(szDLLFullPath, GENERIC_READ|GENERIC_WRITE, 0, NULL, OPEN_ALWAYS, FILE_ATTRIBUTE_NORMAL, NULL); 75 if (INVALID_HANDLE_VALUE == hFile ) 76 { 77 return FALSE; 78 } 79 80 81 DWORD dwWrited = 0; 82 if (FALSE == WriteFile(hFile, pBuffer, dwSize, &dwWrited, NULL) ) 83 { 84 AfxMessageBox(_T("写入失败!")); 85 return FALSE; 86 } 87 88 CloseHandle(hFile); 89 UnlockResource(hGlobal); 90 FreeResource(hGlobal); 91 return TRUE; 92 }
  • 相关阅读:
    简单理解ThreadLocal原理和适用场景
    Portal实现原理
    Spring cloud微服务实战——基于OAUTH2.0统一认证授权的微服务基础架构
    Java8中 Date和LocalDateTime的相互转换
    sonar rule
    图论篇2——最小生成树算法(kurskal算法&prim算法)
    图论篇1——图的基本概念
    数论篇6——欧拉函数
    数论篇5——数论四大定理
    数论篇4——逆元(数论倒数)
  • 原文地址:https://www.cnblogs.com/DuanLaoYe/p/5446951.html
Copyright © 2011-2022 走看看