VC中怎么检测某个文件夹下的文件已经打开或某个程序正在运行?

高手们帮忙想想,,谢谢呵呵!就是希望当你运行某个程序是,就先运行自己用VC写的程序!... 高手们帮忙想想,, 谢谢 呵呵!就是希望当你运行某个程序是,就先运行自己用VC写的程序! 展开
 我来答
js_wujy
2012-04-28 · 超过16用户采纳过TA的回答
知道答主
回答量:28
采纳率:0%
帮助的人:39.4万
展开全部
你自己的程序里加个DLL,处理DLL_PROCESS_ATTACH,有新进程启动时会回调你这个dllMain,就可以检查启动的这个程序是不是你要禁止的程序,如果是KillProcess..
检查新程序你可以枚举系统中的进程,或者用GetMoudleHandle
青青mm河边草
2012-04-28
知道答主
回答量:57
采纳率:0%
帮助的人:14.1万
展开全部
把它设成你默认的不就行啦!!!
追问
求具体实现方法。 呵呵  谢谢
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
kaifuu
2012-04-28 · 超过24用户采纳过TA的回答
知道答主
回答量:59
采纳率:0%
帮助的人:51.9万
展开全部
捕获异常,当文件打开的时候,OPEN方法会返回一个值,你CATCH里面写一下具体处理就成了
我这有个C#作成文件的例子,VC++的你试着改下吧
try
{
streamWriter = File.Create(fileName);
}
catch (UnauthorizedAccessException e)
{
StreamWriter log =new StreamWriter(textBox_output.Text + "\\ERR.log", true);
log.WriteLine("出错时间:" + System.Date
log.WriteLine("出错详细:");
log.WriteLine(e.ToString());
log.Close();
}
追问
呵呵 我是想 让自己写的程序 运行着,  当我在打开另一个程序的时候,我自己的程序可以检测到,并且阻止它运行!
追答
HANDLE hPrevMutex = OpenMutex(MUTEX_ALL_ACCESS,FALSE,strMutexName);
if(hPrevMutex){
CloseHandle(hPrevMutex);
return FALSE;
}
m_hMutex = CreateMutex(FALSE,0,strMutexName);

strMutexName 进程名~~~
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式