如何确定记事本处于打开状态? 一记事本“File.txt”,我想确定是不是已经被打开了,MFC里有这样的函数或方法吗?谢谢! 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 你是啥意思?是想确定记事本这个程序打开了?还是说,想确定"File.txt"这个文件打开了,或则是记事本打开了这个"File.txt"这个文件啊? 想确定"File.txt"这个文件是不是打开了..... 另外我想知道,如何获得“File.txt”这个文件的句柄。 要是想确定纪事本是否打开这个比较好办,使用FIndWindow()就可以了要是想确定文件是否被打开了,这个我就不知道了 我用CFile.Open方法修改nOpenFlags参数,设置其为CFile::shareDenyRead | CFile::shareDenyWriteCFile f();if(f.open("d:\\File.txt",CFile::shareDenyRead | CFile::shareDenyWrite,NULL)){ AfxMessageBox("打开成功");}else{ AfxMessageBox("打开失败");}但我用记事本打开的时候,就没得到想要的结果。如果把File.txt编程一个Word文档,file.doc然后用WORD打开,那就可以。能说说你具体想做什么吗?需要确定文档是否已经打开? CreateFile打开文件,就可以判断是否打开 HANDLE hFile; hFile = CreateFile("C:\\x.txt",GENERIC_READ|GENERIC_WRITE, FILE_SHARE_READ|FILE_SHARE_DELETE,NULL,OPEN_EXISTING, FILE_FLAG_BACKUP_SEMANTICS, NULL); if ( hFile == INVALID_HANDLE_VALUE ) { AfxMessage("该文件正在被使用或打开文件失败"); return ; } CloseHandle(hFile); FindWindows获取标题,找到名为x.txt的窗口 那是因为Word读取文档的时候,不关闭。而记事本读取文档的时候,读完就关闭。保存的时候再代开保存然后关闭。你读一些.txt的属性看有没有这方面相关的flag。 先枚举进程,看系统中有没有notepad.exe,有的话,提升进程权限到SE_DEBUG_NAME,读取notepad进程的命令行,命令行里有打开的文件名--C:\\x.txt如果系统没有notepad.exe,调用CreateFile以 排他方式+OPEN_EXISTING 打开C:\\x.txt,如果打开失败,则说明文件已被打开。 当然有一个简单的方法就是用CFile用CFile::shareExclusive独占的方式打开,如果打开出错,就证明它已经被打开了CFile f;if(f.open("",CFile::shareExclusive)){}else{ //证明已经被打开了} [100分]求救想开发一个修改根据进程修改DSCP的软件,请帮忙 添加变量时category与variable type的区别 ADO数据库连接 控件变灰的问题(欢迎大虾来看看) Adobe PDF虚拟打印隐藏对话框 如何在自己的程序里实现对数码射象头的控制? 最菜的帖子:)如何将一个窗体的输入值赋给另外一个文件中用?? 大侠帮帮忙,很简单的问题 API问题肯请各位帮帮忙! VS2010+ACCESS通过ODBC连接,查询数据库出提示检索记录出错...麻烦看下代码有哪些错误,菜鸟 输出名 COM升级时的LIBID与CLSID
是想确定记事本这个程序打开了?还是说,想确定"File.txt"这个文件打开了,或则是记事本打开了这个"File.txt"这个文件啊?
修改nOpenFlags参数,设置其为CFile::shareDenyRead | CFile::shareDenyWrite
CFile f();
if(f.open("d:\\File.txt",CFile::shareDenyRead | CFile::shareDenyWrite,NULL))
{
AfxMessageBox("打开成功");
}
else
{
AfxMessageBox("打开失败");
}
但我用记事本打开的时候,就没得到想要的结果。
如果把File.txt编程一个Word文档,file.doc然后用WORD打开,那就可以。
能说说你具体想做什么吗?需要确定文档是否已经打开?
HANDLE hFile;
hFile = CreateFile("C:\\x.txt",GENERIC_READ|GENERIC_WRITE,
FILE_SHARE_READ|FILE_SHARE_DELETE,NULL,OPEN_EXISTING, FILE_FLAG_BACKUP_SEMANTICS, NULL);
if ( hFile == INVALID_HANDLE_VALUE )
{
AfxMessage("该文件正在被使用或打开文件失败");
return ;
}
CloseHandle(hFile);
而记事本读取文档的时候,读完就关闭。保存的时候再代开保存然后关闭。你读一些.txt的属性看有没有这方面相关的flag。
如果系统没有notepad.exe,调用CreateFile以 排他方式+OPEN_EXISTING 打开C:\\x.txt,如果打开失败,则说明文件已被打开。
CFile f;if(f.open("",CFile::shareExclusive))
{}else
{
//证明已经被打开了
}