Windows文件操作API

C#中调用Windows API实现文件操作:从基础到高级实战 摘要 C#中标准System.IO类在文件操作上存在性能瓶颈、底层控制不足等问题,而Windows API(如CreateFile、ReadFile)提供了更底层的解决方案。通过P/Invoke调用kernel32.dll函数,可实现高效文件读写、精确指针控制等高级功能。本文演示了关键API的声明方法、常量定义,并通过实例代码展示了文件的创建、写入和读取操作,为需要高性能或Windows特有功能的场景提供技术实现方案。 阅读详情

下面是windows中提供的对于文件进行操作的API函数及其功能:   
Windows                  API函数           功能
CloseHandle   关闭一个内核对象。其中包括文件、文件映射、进程、线程、安全和同步对象等。涉及文件处理时,这个函数通常与vb的close命令相似。应尽可能的使用close,因为它支持vb的差错控制。注意这个函数使用的文件句柄与vb的文件编号是完全不同的    
CompareFileTime   根据FILETIME结构的信息,对比两个文件的时间    
CopyFile   复制文件。与vb的filecopy命令相似    
CreateFile   这是一个全功能的函数,可打开和创建文件、管道、邮槽、通信服务、设备以及控制台    
DeleteFile   删除指定文件    
FindClose   关闭由FindFirstFile函数创建的一个搜索句柄    
FindFirstFile   根据文件名查找文件    
FindNextFile   根据调用FindFirstFile函数时指定的一个文件名查找下一个文件    
FlushFileBuffers   针对指定的文件句柄,刷新内部文件缓冲区    
GetBinaryType   判断文件是否可以执行    
GetFileAttributes   判断指定文件的属性    
GetFileInformationByHandle   这个函数提供了获取文件信息的一种机制——在一个BY_HANDLE_FILE_INFORMATION结构中装载与文件有关的信息    
GetFileSize   判断文件长度    
GetFileTime   取得指定文件的时间信息    
GetFileType   在给出文件句柄的前提下,判断文件类型    
GetFileVersionInfo   从支持版本标记的一个模块里获取文件版本信息    
GetFileVersionInfoSize   针对包含了版本资源的一个文件,判断容纳文件版本信息需要一个多大的缓冲区    
GetShortPathName   获取指定文件的短路径名    
GetTempFileName   这个函数包含了一个临时文件的名字,它可由应用程序使用    
lclose   关闭指定的文件,请参考CloseHandle函数,了解进一步的情况    
lcreat   创建一个文件。如文件已经存在,就会将其缩短成零长度,并将其打开,以便读写    
llseek   设置文件中进行读写的当前位置。该函数与vb的seek语句类似。如果用vb的open命令打开了一个文件,那么不要再对这个文件使用llseek函数    
LockFile   在windows中,文件可用共享模式打开——在这种情况下,多个进程可同时访问该文件。利用这个函数,要对文件进行读写的一个应用程序可将文件的某一部分锁定起来,使其不能由其他应用程序访问。这样便避免了同时读写时发生的冲突    
LockFileEx   与LockFile相似,只是它提供了更多的功能    
lopen   以二进制模式打开指定的文件    
lread   将文件中的数据读入内存缓冲区    
lwrite   将数据从内存缓冲区写入一个文件    
MoveFile,   MoveFileEx   移动文件。如dwFlags设为零,则MoveFile完全等价于MoveFileEx    
OpenFile   这个函数能执行大量不同的文件操作。和这个函数相比,请优先考虑win32的CreateFile函数(它能打开命名管道和控制Unicode文件名,同时不受128个字符的路径名称的限制)    
ReadFile   从文件中读出数据。与lread函数相比,这个函数要明显灵活的多。该函数能够操作通信设备、管道、套接字以及邮槽    
ReadFileEx   与ReadFile相似,只是它只能用于异步读操作,并包含了一个完整的回调    
SearchPath   查找指定文件    
SetEndOfFile   针对一个打开的文件,将当前文件位置设为文件末尾    
SetFileAttributes   设置文件属性    
SetFilePointer   在一个文件中设置当前的读写位置    
SetFileTime   设置文件的创建、访问及上次修改时间    
UnlockFile   解除对一个文件的锁定    
UnlockFileEx   解除对一个文件的锁定    
WriteFile   将数据写入一个文件。该函数比lwrite函数要灵活的多。也可将这个函数应用于对通信设备、管道、套接字以及邮槽的处理    
WriteFileEx   与WriteFile类似,只是它只能用于异步写操作,并包括了一个完整的回调    

让我们通过几个例子来详细的了解一下其中主要的几个函数及其用法:  
1.CreateFile  
  作用:这是一个全功能的例程,可打开和创建文件、管道、邮槽、通信服务、设备以及控制台  
  声明形式:  
Declare   Function   CreateFile   Lib   "kernel32"   Alias   "CreateFileA"   (ByVal   lpFileName   As String,   ByVal   dwDesiredAccess   As   Long,   ByVal   dwShareMode   As   Long,   lpSecurityAttributes   As   SECURITY_ATTRIBUTES,   ByVal   dwCreationDisposition   As   Long,   ByVal   dwFlagsAndAttributes   As   Long,   ByVal   hTemplateFile   As   Long)   As   Long    
  说明:  
  此函数的返回值类型为Long,如执行成功,则返回文件句柄。INVALID_HANDLE_VALUE表示出错,会设置GetLastError。即使函数成功,但若文件存在,且指定了CREATE_ALWAYS   或   OPEN_ALWAYS,GetLastError也会设为ERROR_ALREADY_EXISTS  
  打开一个通信端口时(如COM1),无论如何都要设置成   OPEN_EXISTING。  
  这个函数代替了lOpen   和   lCreate函数,应该是我们的首选  
  参数说明:  
参数   类型及说明    
lpFileName   String,要打开的文件的名字    
dwDesiredAccess   Long,如果为   GENERIC_READ   表示允许对设备进行读访问;如果为   GENERIC_WRITE   表示允许对设备进行写访问(可组合使用);如果为零,表示只允许获取与一个设备有关的信息    
dwShareMode   Long,零表示不共享;   FILE_SHARE_READ   和/或   FILE_SHARE_WRITE   表示允许对文件进行共享访问    
lpSecurityAttributes   SECURITY_ATTRIBUTES,指向一个SECURITY_ATTRIBUTES结构的指针,定义了文件的安全特性(如果操作系统支持的话)    
dwCreationDisposition   Long,下述常数之一:    
CREATE_NEW   创建文件;如文件存在则会出错    
CREATE_ALWAYS   创建文件,会改写前一个文件    
OPEN_EXISTING   文件必须已经存在。由设备提出要求    
OPEN_ALWAYS   如文件不存在则创建它    
TRUNCATE_EXISTING   讲现有文件缩短为零长度    
dwFlagsAndAttributes   Long,一个或多个下述常数    
FILE_ATTRIBUTE_ARCHIVE   标记归档属性    
FILE_ATTRIBUTE_COMPRESSED   将文件标记为已压缩,或者标记为文件在目录中的默认压缩方式    
FILE_ATTRIBUTE_NORMAL   默认属性    
FILE_ATTRIBUTE_HIDDEN   隐藏文件或目录    
FILE_ATTRIBUTE_READONLY   文件为只读    
FILE_ATTRIBUTE_SYSTEM   文件为系统文件    
FILE_FLAG_WRITE_THROUGH   操作系统不得推迟对文件的写操作    
FILE_FLAG_OVERLAPPED   允许对文件进行重叠操作    
FILE_FLAG_NO_BUFFERING   禁止对文件进行缓冲处理。文件只能写入磁盘卷的扇区块    
FILE_FLAG_RANDOM_ACCESS   针对随机访问对文件缓冲进行优化    
FILE_FLAG_SEQUENTIAL_SCAN   针对连续访问对文件缓冲进行优化    
FILE_FLAG_DELETE_ON_CLOSE   关闭了上一次打开的句柄后,将文件删除。特别适合临时文件    
也可在Windows   NT下组合使用下述常数标记:    
SECURITY_ANONYMOUS,   SECURITY_IDENTIFICATION,   SECURITY_IMPERSONATION,   SECURITY_DELEGATION,   SECURITY_CONTEXT_TRACKING,   SECURITY_EFFECTIVE_ONLY
hTemplateFile   Long,如果不为零,则指定一个文件句柄。新文件将从这个文件中复制扩展属性

示例如下:  
long   hfile=   CreateFile(“c://test.txt”,GENERIC_READ,  
FILE_SHARE_READ|FILE_SHARE_WRITE,NULL,  
OPEN_EXISTING,FILE_ELAG_OVERLAPPED,NULL)

 

2、lcreat  
  作用:创建一个文件。如文件已经存在,就会将其缩短成零长度,并将其打开,以便读写  
  声明形式:  
Declare   Function   lcreat   Lib   "kernel32"   Alias   "_lcreat"   (ByVal   lpPathName   As   String,   ByVal   iAttribute   As   Long)   As   Long    
  说明:此函数的返回值类型为Long,如执行成功,返回打开文件的句柄。如果出错,则返回HFILE_ERROR  
  该函数会打开已由其他应用程序打开的文件,所以使用它时要小心。win32的CreateFile函数已取代了这个函数。这个函数与vb的open语句作用相同  
  参数说明:  
参数   类型及说明    
lpPathName   String,欲创建的文件的名字    
iAttribute   Long,下述值之一:  
 0——文件能够读写  
 1——创建只读文件  
 2——创建隐藏文件  
 3——创建系统文件    
  例如下面的语句打开c:/test.txt文件  
lcreat   “c:/test.txt”,0    

3、lopen  
  作用:以二进制模式打开指定的文件  
  声明形式:  
Declare   Function   lopen   Lib   "kernel32"   Alias   "_lopen"   (ByVal   lpPathName   As   String,   ByVal   iReadWrite   As   Long)   As   Long    
  说明:此函数的返回值类型为Long,如执行成功,返回打开文件的句柄。HFILE_ERROR表示出错。会设置GetLastError  
  CreateFile函数在win32下提供了更多的功能:  
  参数说明:  
参数   类型及说明    
lpPathName   String,欲打开文件的名字    
iReadWrite   Long,访问模式和共享模式常数的一个组合,如下所示:    
1、访问模式    
READ   打开文件,读取其中的内容    
READ_WRITE   打开文件,对其进行读写    
WRITE   打开文件,在其中写入内容    
2、共享模式(参考OpenFile函数的标志常数表)    
OF_SHARE_COMPAT,   OF_SHARE_DENY_NONE,   OF_SHARE_DENY_READ,   OF_SHARE_DENY_WRITE,   OF_SHARE_EXCLUSIVE    
  

4、GetFileTime  
  作用:取得指定文件的时间信息  
  声明形式:  
Declare   Function   GetFileTime   Lib   "kernel32"   Alias   "GetFileTime"   (ByVal   hFile   As   Long,   lpCreationTime   As   FILETIME,   lpLastAccessTime   As   FILETIME,   lpLastWriteTime   As   FILETIME)   As   Long    
  说明:Long,非零表示成功,零表示失败。会设置GetLastError  
  如果不需要特定的信息,那么lpCreationTime,lpLastAccessTime,lpLastWriteTime都可以设置为零(用ByVal   As   Long)。这个函数返回的文件时间采用UTC格式  
  参数说明:  
参数   类型及说明    
hFile   Long,文件的句柄    
lpCreationTime   FILETIME,用于装载文件的创建时间    
lpLastAccessTime   FILETIME,用于装载文件上一次访问的时间(FAT文件系统不支持这一特性)    
lpLastWriteTime   FILETIME,用于装载文件上一次修改的时间    
  示例代码如下:  
‘函数声明  
Private   Declare   Function   GetFileTime   Lib   "kernel32"   (ByVal   hFile   As   Long,   lpCreationTime   As   FileTime,   lpLastAccessTime   As   FileTime,   lpLastWriteTime   As   FileTime)   As   Long  
Private   Declare   Function   lopen   Lib   "kernel32"   Alias   "_lopen"   (ByVal   lpPathName   As   String,   ByVal   iReadWrite   As   Long)   As   Long  
‘定义变量  
Dim   file   As   Long  
Dim   CreationTime   As   FileTime  
Dim   lastaccesstime   As   FileTime  
Dim   lastaccesstime   As   FileTime  
‘定义结构  
Private   Type   FileTime  
dwLowDateTime   As   Long  
dwHighDateTime   As   Long  

End   Type  
Private   Sub   Form_Load()  
 str1   =   "c:/text.txt"  
 file   =   lopen(str1,   READ_WRITE)   ‘打开文件  
 temp   =   GetFileTime(file,   CreationTime,   lastaccesstime,   lastwritetime)’得到文件相关信息  
 MsgBox   CreationTime   ‘显示信息  
End   Sub    
  以上代码显示文件的创建时间  

 

5、CopyFile  
  作用:复制文件。与vb的filecopy命令相似  
  声明形式:  
Declare   Function   CopyFile   Lib   "kernel32"   Alias   "CopyFileA"   (ByVal   lpExistingFileName   As   String,   ByVal   lpNewFileName   As   String,   ByVal   bFailIfExists   As   Long)   As   Long  
  说明:Long,非零表示成功,零表示失败。会设置GetLastError  
  参数说明:  
参数   类型及说明    
lpExistingFileName   String,源文件名    
lpNewFileName   String,目标文件名    
bFailIfExists   Long,如果设为TRUE(非零),那么一旦目标文件已经存在,则函数调用会失败。否则目标文件被改写    
  示例代码如下:  
‘函数声明  
Private   Declare   Function   CopyFile   Lib   "kernel32"   Alias   "CopyFileA"   (ByVal   lpExistingFileName   As   String,   ByVal   lpNewFileName   As   String,   ByVal   bFailIfExists   As   Long)   AsLong  
Private   Sub   Form_Load()  
CopyFile   "c:/test1.txt",   "c:/test2.txt",   1  
End   Sub    
  以上代码将c:/test1.txt   拷贝到c:/test2.txt  

 

6、MoveFile,   MoveFileEx  
  作用:移动文件。如dwFlags设为零,则MoveFile完全等价于MoveFileEx  
  声明形式:  
Declare   Function   MoveFile&   Lib   "kernel32"   Alias   "MoveFileA"   (ByVal   lpExistingFileName As   String,   ByVal   lpNewFileName   As   String)  
Declare   Function   MoveFileEx&   Lib   "kernel32"   Alias   "MoveFileExA"   (ByVal   lpExistingFileName   As   String,   ByVal   lpNewFileName   As   String,   ByVal   dwFlags   As   Long)    
  说明:Long,非零表示成功,零表示失败。会设置GetLastError  
  这两个函数通常不能将文件从一个卷移动到另一个卷。但如设置了MOVEFILE_COPY_ALLOWED标记,MoveFileEx可以做到这一点.  
  参数说明:  
参数   类型及说明    
lpExistingFileName   String,欲移动的文件名    
lpNewFileName   String,新文件名    
dwFlags   Long,一个或多个下述常数    
MOVEFILE_REPLACE_EXISTING   如目标文件存在,则将其替换    
MOVEFILE_COPY_ALLOWED   如移动到一个不同的卷,则复制文件并删除原来的文件    
MOVEFILE_DELAY_UNTIL_REBOOT   移动操作在系统下次重新启动时正式进行。这样便可在Windows   NT中改换系统文件    
示例代码如下:  
‘定义结构  
Private   Const   MOVEFILE_COPY_ALLOWED   =   &H2  
Private   Const   MOVEFILE_DELAY_UNTIL_REBOOT   =   &H4  
Private   Const   MOVEFILE_REPLACE_EXISTING   =   &H1  
‘函数声明  
Private   Declare   Function   MoveFile&   Lib   "kernel32"   Alias   "MoveFileA"   (ByVal   lpExistingFileName   As   String,   ByVal   lpNewFileName   As   String)  
Private   Declare   Function   MoveFileEx&   Lib   "kernel32"   Alias   "MoveFileExA"   (ByVal   lpExistingFileName   As   String,   ByVal   lpNewFileName   As   String,   ByVal   dwFlags   As   Long)  
Private   Sub   Form_Load()  
MoveFile   "c:/test.txt",   "d:/test1.txt"   ‘移动文件  
MoveFileEx   "d:/test1.txt",   "c:/test.txt",   MOVEFILE_REPLACE_EXISTING   ‘再一次移动  
End   Sub    
  以上代码实现了文件的移动,两次移动後,文件不变

 

7、DeleteFile  
  作用:删除指定文件  
  声明形式:  
Declare   Function   DeleteFile   Lib   "kernel32"   Alias   "DeleteFileA"   (ByVal   lpFileName   As   String)   As   Long    
  说明:Long,非零表示成功,零表示失败。会设置GetLastError  
  与vb的kill语句相似,在windows   95下使用这个函数要小心——即使文件当前正由一个应用程序打开,该函数也会将其删除.  
  参数说明:  
参数   类型及说明    
lpFileName   String,欲删除文件的名字    
示例代码如下:  
‘函数声明  
Private   Declare   Function   DeleteFile   Lib   "kernel32"   Alias   "DeleteFileA"   (ByVal   lpFileNameAs   String)   As   Long  
Private   Sub   Form_Load()  
DeleteFile   "c:/test.txt"  
End   Sub    
以上代码删除了c:/test.txt文件  
  VB虽然是一个RAD类的工具,并让很多人不屑使用,但实事求是得说,VB的功能的确强大,尤其是人性化的设计。

 

C#玩转Windows API:5步实现文件操作,比复制粘贴还丝滑?! 🔥关注墨瑾轩,带你探索编程的奥秘!🚀🔥超萌技术攻略,轻松晋级编程高手🚀🔥技术宝库已备好,就等你来挖掘🚀🔥订阅墨瑾轩,智趣学习不孤单🚀🔥即刻启航,编程之旅更有趣🚀。 阅读详情

相关推荐

深入理解Windows文件操作API

本文详细解析了Windows文件操作API,包括设置文件时间、查找和监控文件变化等功能。通过实际代码示例,展示了如何在应用程序中使用这些API来处理文件时间设置、文件搜索和文件监控,为开发者提供了一个如何在实际应用中操作文件的实用指南。

weixin_42514750的博客 353

Windows API 在线文档

Windows API 在线文档 MSDN:这是微软公司面向软件开发者的一种信息服务。是一个以Visual Studio和Windows平台为核心整合的开发虚拟社区,包括技术文档、在线电子教程、网络虚拟实验室、微软产品下载等等一系列服务。网址: https://msdn.microsoft.com/library Windows API: https://docs.microsoft.com/en-us/windows/win32/api/ ...

甜甜的博客 1850

【编号326】全国地灾数据全国25万多个地质灾害点空间分布数据

全国地质灾害点分布数据涵盖25万多个各类灾害点信息,为灾害防治提供重要依据。通过分析灾害分布规律,可识别高风险区,指导监测预警、应急避险和基础设施建设。多地成功案例(如湖北兴山崩塌避险、重庆长寿滑坡预警、湖南"挪床行动")证明,提前预警和科学防治能有效避免人员伤亡。云南省2024年通过预警体系成功避让31起灾害,保护1342人生命安全。这些实践表明,地质灾害防治需结合科技手段与群防体系,实现早预警、早处置。

千奇百怪无奇不有 1472

Windows API教程文件系统

索引 概念简介 文件对象文件流文件句柄文件指针 文件系统操作 常见 API 高级文件操作 本讲程序功能列表CreateFile 具体参数返回值 DeleteFile 参数返回值 CopyFile、MoveFile、FindFirstFileReadFileGetCurrentDirectory、FindNextFile更多改进学习方法小结 本讲程序功能列表

cherish_2012的专栏 2089

长短期记忆网络(Long Short-Term Memory networks, LSTM)

如何简单的理解LSTM——其实没有那么复杂:

weixin_39910711的博客 2万+

Android System Slice应用加载分析,及启用Slice后,锁屏日期第一次开机正常显示,但后面锁屏不显示问题分析

最近发现Android P上锁屏界面,日期不显示,发现从P开始后,出现了Slice来允许应用以模块化,可交互的方式,插入多个使用场景。Android P的system UI 也使用到了这一特性,表现为锁屏时间,日期,勿扰图标,闹钟等。 如何使用Slice 以System UI中KeyguardSliceView.java来说明它的使用方法 首先,我们打开System UI 的mk 文件,可以看到以...

qq_33595823的博客 3035

从文件句柄得到文件路径的函数 (一)

从文件句柄得到文件路径的函数 主要思路: 1. 调用 GetFileInformationByHandle  函数得到指定文件句柄的相应文件信息, 再调用 GetLogicalDriveStrings 函数得到所有驱动器盘符, 用 GetVolumeInformation 函数遍历每个盘符, 取得盘符的卷序列号, 然后与前一步得到的文件信息比较, 找到该文件的盘符. 2. 调用 Zw

求索 2895

AI大模型开发——transformer模型超全完整版(0基础可懂)

为了更深入的了解transformer模型,我们首先从transformer的诞生聊起吧。transformer在2017年由Vaswani等人首次提出,它摒弃了之前流行的循环神经网络和卷积神经网络的架构,引入了自注意力机制( Self-Attention),显著提高了处理序列数据的能力和效率。transformer模型的这种设计使其在处理长距离依赖问题时, 相比于传统的循环神经网络和长短期记忆网络(LSTM)表现得更加出色,至此, 开启了NLP技术的新篇章。

m0_74922316的博客 2120

介绍几个操作文件的API函数

米度软件:www.midosoft.cn       GetFileInformationByHandle   获取所有文件信息   该函数能够获取上面所有函数所能够获取的信息,如大小、属性等,同时还包括一些其他地方无法获取的信息,比如:文件卷标、索引  和链接信息。   该函数需要文件句柄作为入口参数。  GetFullPathName   获取文件路径,该函数获取文件的完整路径

米度软件的专栏 725

山景BP10_128DBG开发板通过蓝牙连接手机放歌实验回顾

最近在学习上海山景公司的BP10_128DBG的开发板,因为网上关于BP10开发板的帖子也比较少,在学习的时候也没有太多的参考资料,基本上都是官方的历程。蓝牙放歌这个demo对我来说也比较复杂,特写下此博客进行记录、总结,大家有需要的可以参考。

weixin_56646002的博客 2020

CloudCompare 和 PCL:点云网格化分析与处理

点云网格化是将点云数据转化为规则网格的过程,其主要思想是将离散的点云投影到一个平面上,然后对该平面进行划分,形成一系列小区域。在点云网格化方面,PCL 提供了各种算法和工具,可以实现高效的点云网格化操作。以上示例代码中,首先加载了输入的点云数据,然后通过设置合适的网格化算法参数,如搜索半径和最大三角形边长等,执行了网格化操作,最后将网格化结果保存到输出文件中。以上示例代码中,首先加载了输入的点云数据,然后通过设置合适的网格化参数,如分辨率等,执行了网格化操作,最后将网格化结果保存到输出文件中。

TechPulseZ的博客 1291

Windows API实现文件操作

下面是windows中提供的对于文件进行操作的API函数及其功能:Windows API函数 功能CloseHandle关闭一个内核对象。其中包括文件、文件映射、进程、线程、安全和同步对象等。涉及文件处理时,这个函数通常与vb的close命令相似。应尽可能的使用close,因为它支持vb的差错控制。注意这个函数使用的文件句柄与vb的文件编号是完全

日知录 1万+

嵌入式铁头山羊stm32:一文总结

本文是一篇STM32嵌入式开发的综合知识总结,涵盖了STM32基础概念、GPIO、通信协议、外设驱动等核心内容。文章首先介绍了STM32的基本概念和型号含义,然后详细讲解了GPIO的8种工作模式及实验案例。接着重点阐述了USART、I2C、SPI三种通信协议的原理和实现方法,包括硬件连接、编程接口和实验应用。此外还介绍了OLED显示原理、中断系统、定时器、ADC转换等关键技术,每个模块都配有对应的实验案例和代码实现参考。文章内容全面系统,既包含理论知识,又提供实践指导,适合作为STM32开发的快速参考手册。

古泽汉书的博客 2785

Windows API:文件操作

HANDLE CreateFile(      LPCTSTR lpFileName,     DWORD dwDesiredAccess,     DWORD dwShareMode,     LPSECURITY_ATTRIBUTES lpSecurityAttributes,     DWORD dwCreationDisposition,     DWORD dw

zhaohaiyang93的博客 611

2025年GESP12月认证C++四级真题解析

摘要 本文包含11道C++编程题目,涵盖指针、数组、函数参数传递、结构体和排序算法等知识点。每题2分,总分30分,主要考察学生对C++基础语法的掌握程度。题目包括指针定义与解引用(第1-4题)、二维/三维数组遍历(第4-5题)、变量作用域(第6题)、函数传参方式(第7题)、结构体操作(第8题)、递归算法(第9题)和排序稳定性判断(第10题)。最后第11题要求补全选择排序算法代码片段。每道题均提供标准答案和详细解析,适合用于检验C++基础知识的掌握情况。

lan_in的博客 317

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

Windows API 第四篇 文件操作

创建或打开文件(也可用于打开管道,油槽,硬件设备等): HANDLE CreateFile( LPCTSTR lpFileName, // file name DWORD dwDesiredAccess, // access mode DWORD dwShareMode, ...

204

华为的C语言编程规范.pdf

华为技术有限公司内部技术规范。本规范制定了编写C语言程序的基本原则、规则和建议。从代码的清晰、简洁、可测试、安全、程序效率、可移植各个方面对C语言编程作出了具体指导。

windows32 api文件操作

                                              本文有大量链接引用.如触犯了您的利益请下方留言前言熟悉的文件打开操作有open、fopen、createfile、CFile类他们的关系(论坛上出现过的问题):CFile 或者 C++的fstrem或者C lib fopen,终究都会调用Win32 APICreateFileCreateFile是操作系统提...

她的吻让他 8472

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

Windows 文件操作API总结

Windows 文件操作API总结

STACK_1010的博客 4115

Windows API——SHFileOperation——文件操作

1 int SHFileOperation( LPSHFILEOPSTRUCT lpFileOp); 如果执行成功返回0. 1 typedef struct _SHFILEOPSTRUCT { 2 HWND hwnd;//指向发送消息的窗口 3 UINT wFunc;//执行的操作 4 LPCTSTR pFrom;//源文件名 5 LPCTSTR pTo;//

凨 1071
上一篇: GetLastError()返回值
下一篇: VS2005编译之declared deprecated警告
yangfcf
博客等级 码龄19年 10粉丝 19原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值