我有一个按钮,当我点击该按钮时,调用以下函数去打开strFilePath 目录下的一个文本文件
ShellExecute(NULL, "open", strFilePath, NULL, NULL, SW_SHOWNORMAL); // strFilePath 是txt文本的路径。
我想点击该按钮时,如果该文本未被打开,则打开。 若已经打开,则不再打开,就是说不允许同时打开多个一样的文本,请问我应该如何去判断该txt文件是否被打开
ShellExecute(NULL, "open", strFilePath, NULL, NULL, SW_SHOWNORMAL); // strFilePath 是txt文本的路径。
我想点击该按钮时,如果该文本未被打开,则打开。 若已经打开,则不再打开,就是说不允许同时打开多个一样的文本,请问我应该如何去判断该txt文件是否被打开
解决方案 »
- 高手们单文档DOC中点击打开图标为什么不调用Serialize(CArchive& ar)
- 请教:两个时间值相减的结果与一个整数比较表示什么意思?
- 如何在属性表单中初始话所有的属性页
- 求mfc 开发activex 控件例子
- 高分求教:SDK下调用IWebBrowser2接口打开的Word文档如何保存?
- 我写了#include "io.h",但为什么还是不能调用getosfhandle()?
- MFC中时间计数器的问题(郁闷)!!
- 一个线程能否分配多个资源句柄?每个句柄使该线程的计数值加一是吗?马上给分!
- 给大家提供一个级好的模拟器源代码,进来下载
- VC++中货币数据类型转换
- 彩信发送问题
- 如何让对话框显示带有透明效果的不规则PNG图片
可以用FindWindow进行事先判断。
说说我的想法,定义一个包含文件的路径,以及打开标志符的结构体数组,然后,每打开一个文件,则判断一次是否已有相同类型的文件已被打开.
CFile cf;
f = cf.Open(strFilePath,CFile::moderead | CFile::shareExclusive);//以独占的方式打开
if()
{
ShellExecute(NULL, "open", strFilePath, NULL, NULL, SW_SHOWNORMAL); // strFilePath 是txt文本的路径。
}
else
{
//已经被打开
}
//忘记写f了
如果路径是不固定的话,可以先把路径中文本的标题(含后缀)先提取出来,把标题再加上" - 记事本"赋给cstring字符串,再用FindWindow就可以了