能力值:
( LV3,RANK:20 )
2 楼
测试过Openfile, 还是返回了句柄
OpenFile("C:\\Users\\Administrator\\Desktop\\1.txt",
&ReOpenBuff,
OF_SHARE_DENY_NONE|OF_SHARE_EXCLUSIVE|OF_SHARE_DENY_READ|OF_SHARE_DENY_WRITE);
测试过Createfile, 还是返回了句柄
CreateFile(L"C:\\Users\\Administrator\\Desktop\\1.txt", // file to open
GENERIC_READ, // open for reading
0, // share for reading
NULL, // default security
OPEN_EXISTING, // existing file only
FILE_ATTRIBUTE_NORMAL, // normal file
NULL);
能力值:
( LV5,RANK:60 )
3 楼
CreateFile dwShareMode=0,判断返回的HANDLE应该可以实现。
能力值:
( LV3,RANK:20 )
4 楼
这个测试了, 和Openfile 一样, 也返回了句柄值... 我目前的需求是判断这个文件是否被打开.
按道理应该是返回无效句柄值的
, 但是还是返回了有效的句柄值
能力值:
( LV5,RANK:60 )
5 楼
应该是notepad不是以独占的方式打开的文件。
能力值:
( LV4,RANK:50 )
6 楼
貌似以前听别人说notepad在打开文件后,文件就关闭了,以后在记事本里面的操作都是对临时文件的操作,只是保存的时候再次打开修改的文件。不用记事本测试下看……
能力值:
( LV2,RANK:10 )
7 楼
这个我同意,
只要有修改的时候,他才再操作文件写入
能力值:
( LV13,RANK:260 )
8 楼
分两种写入:
1. 缓冲文件写
2.硬盘文件写入
如果是缓冲写入 通常 notepad 是这种写入,如果不刷新缓冲去,就一直缓冲写,这是如果你openfile 都可以获取有效句柄的,这就是为什么你可以获取句柄,除非 你是硬盘文件写入,这个时候就可以试探打开文件,看句柄的有效值...(就像恶意代码里判断进程句柄是否有效....
)
能力值:
( LV2,RANK:10 )
9 楼
这是实话,因为当一个notepad打开了某个文件之后,仍然可以对这个文件执行Shift+Delete的操作,这最起码说明文件当前没有被打开,或者说已经被关闭了