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 }
  • 相关阅读:
    nacos 使用笔记
    mongodb 操作笔记
    maven 编译指定模块
    linux Java 手动GC 手动回收垃圾
    mysql 严格模式取消 group by 和 date zore
    MyBatis SpringBoot2.0 数据库读写分离
    JAVA 解密pkcs7(smime.p7m)加密内容 ,公钥:.crt 私钥:.pem 使用Bouncy Castle生成数字签名、数字信封
    mysql 创建函数或者存储过程,定义变量报错
    zabbix server源码安装
    zabbix准备:php安装
  • 原文地址:https://www.cnblogs.com/DuanLaoYe/p/5446951.html
Copyright © 2011-2022 走看看