怎么得到已经打开的文件的句柄
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了怎么得到已经打开的文件的句柄相关的知识,希望对你有一定的参考价值。
我想在自己的程序中打开一个正在使用的文件,比如记事本或word打开的文件,不知道怎么做,请大家不吝赐教。
用CreateFile, 返回的HANDLE就是要打开的文件句柄.这个是函数原形.
HANDLE WINAPI CreateFile(
__in LPCTSTR lpFileName, //文件名字,例如TEXT("c:\\a.txt")
__in DWORD dwDesiredAccess, //打开方式, 这边用GENERIC_READ,表示读取
__in DWORD dwShareMode, //分享模式, 这边用FILE_SHARE_READ|FILE_SHARE_WRITE表示别的程序也可以读写
__in LPSECURITY_ATTRIBUTES lpSecurityAttributes, //安全性, 这边用NULL, 表示默认安全性
__in DWORD dwCreationDisposition, //创建方式, 这边用OPEN_EXISTING, 表示打开一个已有的文件. ********这个很关键*********
__in DWORD dwFlagsAndAttributes, //文件属性, 系统会忽略, 添NULL就可以了
__in HANDLE hTemplateFile //系统也会忽略, 填NULL
); 参考技术A FindWindow 获得窗口句柄
OpenProcess 获得进程句柄
具体参数查看MSDN本回答被提问者采纳 参考技术B 可以啊,你打开它不要紧
也没有规定说正在使用的文件就不允许打开
ifstream infile("filename",ios::in);
FILE *fp = fopen("filename","r");
试试再说
SecureCRTPortable怎么传输.bin文件
参考技术A 打开文件 得到句柄,然後通过句柄 获取文件的数据 和文件的大小。用一个指针来保存 文件数据的头指针,然後就可以通过指针来操作数据 进行发送了 参考技术B 重命名一下文件,传完后叫对方把后缀改回来就行以上是关于怎么得到已经打开的文件的句柄的主要内容,如果未能解决你的问题,请参考以下文章