好气哦,电脑好烂,每天花大把的时间在等电脑反应上。

没有钱买新电脑,连组台式机的钱都没有。好气哦。

啊啊啊啊文件操作是什么鬼???C++下我都懵了,C#下好多东西要学!!!我不会!我不会!我不会!!!啊啊啊啊啊啊!!!

怎么办啊?用windows API写我要怎么样移植到Linux下?

WINDOWS API的文件操作

一.常用函数

CreateFile 创建、打开文件
ReadFile 读取文件内容
WriteFile 写入文件内容
SetFilePointer 移动文件指针
SetEndOfFile 设置文件结尾标志
CopyFile 文件拷贝
DeleteFile 文件删除
MoveFile 文件移动
CreateDirectory 创建一个目录
RemoveDirectory 删除一个目录
GetCurrentDirectory 获取当前程序所在目录
SetCurrentDirectory 设置当前程序所在目录
FindFirstFile 查找指定目录下的第一个文件
FindNextFile 查找下一个文件
LockFile 文件锁定
UnlockFile 文件解锁
GetFileType 获取文件类型
GetFileSize 获取文件的大小
GetFileAttributes 获取文件属性
SetFileAttributes 设置文件属性
GetFileTime 获取文件时间
GetFileInformationByHandle 获取文件信息
GetFullPathName 获取文件的完整路径
GetModuleFileName 获取当前模块全路径

手动复制冰森爸爸的表格get√

所以说常用的输入输出操作都能通过WINDOWS的内置API来实现,再也不用研究C++那些个杀千刀的函数啦,啦啦啦啦啦~

二. 使用方法

想要入门WINDOWS API呢,我先达成一个小目标,比如先用机器码写一个windows操作系统。。。偶不,写一个程序来管理我磁盘上的文件。

因为我的电脑太烂了,烂到家了,不仅速度不够快,而且容量还很小。所以我所有的包都是按照逻辑联想的方法分类备份到移动硬盘上的。

导致的直接结果就是我每天需要打开二十多次Program_setup文件夹,然后一级一级的去找,我要疯啦啦啦啦啦啦!!!所以决定自己写一个管理文档的小程序。。

程序功能:找出指定路径下的所有文件,并保存文件名,文件描述,文件相对路径三个信息。建立一个文件目录表用于保存所有信息。

程序结构:后端使用windows API C++方式,或C#方式,前端使用WPF Application

1. 后端程序

search.h -用于递归所有文件

catchInfo.h -用于读取并保存文件信息

store.h -用于整理储存好的文件信息数据

query.h -用于查询表

exec.h -用于执行文件的复制,安装操作

update.h -用于更新安装包文件

CreateFile 创建、打开文件
ReadFile 读取文件内容
WriteFile 写入文件内容
SetFilePointer 移动文件指针
SetEndOfFile 设置文件结尾标志
CopyFile 文件拷贝
DeleteFile 文件删除
MoveFile 文件移动
CreateDirectory 创建一个目录
RemoveDirectory 删除一个目录
GetCurrentDirectory 获取当前程序所在目录
SetCurrentDirectory 设置当前程序所在目录
FindFirstFile 查找指定目录下的第一个文件
FindNextFile 查找下一个文件
LockFile 文件锁定
UnlockFile 文件解锁
GetFileType 获取文件类型
GetFileSize 获取文件的大小
GetFileAttributes 获取文件属性
SetFileAttributes 设置文件属性
GetFileTime 获取文件时间
GetFileInformationByHandle 获取文件信息
GetFullPathName 获取文件的完整路径
GetModuleFileName 获取当前模块全路径

C# WPF Application 下的文件操作的更多相关文章

  1. Linux(C/C++)下的文件操作open、fopen与freopen via Boblim

    Linux(C/C++)下的文件操作open.fopen与freopen open是linux下的底层系统调用函数,fopen与freopen c/c++下的标准I/O库函数,带输入/输出缓冲. li ...

  2. Linux(C/C++)下的文件操作open、fopen与freopen

    open是linux下的底层系统调用函数, fopen与freopen c/c++下的标准I/O库函数,带输入/输出缓冲. linxu下的fopen是open的封装函数,fopen最终还是要调用底层的 ...

  3. linux下的文件操作——批量重命名

    概述:在日常工作中,我们经常需要对一批文件进行重命名操作,例如将所有的jpg文件改成bnp,将名字中的1改成one,等等.文本主要为你讲解如何实现这些操作 1.删除所有的 .bak 后缀: renam ...

  4. ubuntu下zip文件操作

    转自 https://blog.csdn.net/hpu11/article/details/71524013 .zip $ zip -r myfile.zip ./* 将当前目录下的所有文件和文件夹 ...

  5. Linux下的文件操作——基于文件指针的文件操作(缓冲)

    目录操作 创建和删除目录: 原型为: #include <sys/stat.h> #include <sys/types.h> #include <unistd.h> ...

  6. C# 目录下的文件操作

    运用DirectoryInfo类的对象我们可以轻松的实现对目录以及和目录中的文件相关的操作,假如你要获得某个目录F:\Pictures下的所有BMP文件,那么通过下面的代码就可以实现该功能. 上面的代 ...

  7. Linux下的文件操作——基于文件描述符的文件操作(2)

    文件描述符的复制 MMAP文件映射 ftruncate修改文件大小 文件描述符的复制 ​ 系统调用函数dup和dup2可以实现文件描述符的复制,经常用来重定向进程的stdin(0), stdout(1 ...

  8. linux下的文件操作

    彻底删除文件 rm -rf + [文件目录 可相对可绝对] 是彻底删除而且linux无回收站 创建文件 touch + [文件名] 创建文件夹 mkdir + [文件夹名] 文件提权:chmod 77 ...

  9. Ubuntu下部分文件操作的命令

    (1)创建目录 mkdir filefoldname (2)删除空目录 rmdir filefoldname (3)删除非空目录及其中所有文件 rm -rf filefoldname (4)移动文件或 ...

随机推荐

  1. Proof for Floyd-Warshall's Shortest Path Derivation Algorithm Also Demonstrates the Hierarchical Path Construction Process

    (THIS BLOG WAS ORIGINALLY WRTITTEN IN CHINESE WITH LINK: http://www.cnblogs.com/waytofall/p/3732920. ...

  2. leetcode168

    public class Solution { private string Convert(int k) { var s = ""; switch (k) { : s = &qu ...

  3. 前端使用CryptoJs类库进行sha-256、MD5加密

    Google的加密库 CryptoJs(点此下载) 包含了很多常用的加解密方式,包括AES.DES.SHA-1.SHA-2.SHA256.MD5等. DES对称加密在之前的文章中也有介绍过,大传送门. ...

  4. C/C++字符串查找函数 <转>

    C/C++ string库(string.h)提供了几个字符串查找函数,如下: memchr 在指定内存里定位给定字符 strchr 在指定字符串里定位给定字符 strcspn 返回在字符串str1里 ...

  5. sublime 安装插件

    安装Package Control 在安装插件之前,需要让sublime安装Package Control.打开Sublime Text的控制台,快捷键ctrl + ~,在控制台中输入以下代码. im ...

  6. if __name__ == '__main__'的作用和原理

    最简单的理解就是这样: __name__ 是当前模块名,当模块被直接运行时,模块名为 __main__. 所以 if __name__ == '__main__' 这句话的意思就是当前模块被直接运行时 ...

  7. Spark scala和java的api使用

    1.利用scala语言开发spark的worcount程序(本地运行) package com.zy.spark import org.apache.spark.rdd.RDD import org. ...

  8. VUE+WebPack实现精美Html5游戏设计:纸牌战争

  9. java求最长公共子串的长度

    1这道题目就是给定两个字符串,然后求这两个字符串的最长公共子串的最大长度,假设我的f()方法是来求两个字符串的最大公共子串,从头开始逐一比较,如果相等,则 继续调用这个方法,使得递归的长度+1,如果不 ...

  10. 英文单词cipher 和password的区别,用法有什么不同,

    ['saɪfə(r)] cipher 指一套密码系统,比如电影<风声>中破译的那个系统叫cipher:password 则指进入的指令,比如你的qq密码,电脑密码等叫password.总之 ...