调用系统api获得文件大小和修改时间

aaseh 2012-03-21 02:28:45
领导让我调用操作系统底层的native api,来获得文件大小和修改时间。
我不知道怎么用c#调用c++的系统api,能帮我封装成这两个c#函数GetFileSize和GetModifyTime吗?
...全文
214 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
莫忘初心svip 2012-03-21
  • 打赏
  • 举报
回复
为什么一定要native api ??????不明白,用意何在
EnForGrass 2012-03-21
  • 打赏
  • 举报
回复
[DllImport("kernel32.dll", SetLastError =true)]
internal static extern uint GetFileSize(IntPtr hFile, outuint highSize);
参考
http://hi.baidu.com/yimeng3025/blog/item/60b24afbb56c3fcfb48f3191.html
其他几个函数
GetFileSizeEx GetFileTime GetFileType
aaseh 2012-03-21
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 karascanvas 的回复:]

那不是有毛病吗,.net框架也是封装了windows api
[/Quote]
领导这样说,我只好这样做,初来乍到,小兵一个。
种草德鲁伊 2012-03-21
  • 打赏
  • 举报
回复
那不是有毛病吗,.net框架也是封装了windows api
aaseh 2012-03-21
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 karascanvas 的回复:]

通过System.IO.File提供的静态方法获取, .net框架已经帮你封装好了
[/Quote]

[Quote=引用 2 楼 chinajiyong 的回复:]

引用 1 楼 karascanvas 的回复:

通过System.IO.File提供的静态方法获取, .net框架已经帮你封装好了

可以或者FileInfo也行
先引入using System.Text;
示例
C# code

FileInfo fi = new FileInfo(videopath);
str……
[/Quote]

领导说了,一定用操作系统底层的native api,就是在代码了添加那个DllImport("xxx.dll")]
EnForGrass 2012-03-21
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 karascanvas 的回复:]

通过System.IO.File提供的静态方法获取, .net框架已经帮你封装好了
[/Quote]
可以或者FileInfo也行
先引入using System.Text;
示例

FileInfo fi = new FileInfo(videopath);
string filename = Path.GetFileName(videopath);
string filetype = Path.GetExtension(videopath);
double size = Math.Round(fi.Length / (1024 * 1024d), 0);
string filesize = size.ToString() + "MB";
string[] name = filename.Split(new char[] { '_' });
种草德鲁伊 2012-03-21
  • 打赏
  • 举报
回复
通过System.IO.File提供的静态方法获取, .net框架已经帮你封装好了

111,126

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Creator Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧