我想用一个文件保存变量的方法:当想运行该程序的时候,首先从文件读取该变量并判断该变量值以决定是否再运行程序.但我觉得这种方法麻烦了点,在MFC中还有没有更好的方法呢 ?
解决方案 »
- vc技术内幕第四版21章(dll)是不是有问题
- 网络流量监控 源码 谁无私一下
- 还是线程的问题,很奇怪
- 给菜单加上图标,bmp文件的底色是什么啊?
- 怎么利用橡皮筋矩形截取显示的图片的某个部分??~
- static text的文字如何实现滚动效果
- 高分请教发送事件方法。。。。HELP...HELP...HELP...HELP...HELP...急。。。。急。。。。。。
- qq的问题
- FindFirstURLCacheEntry怎么用?
- 我对边缘检测过的图像进行了边缘修补的处理,结果生成了很多毛刺,具体说就是小圈,如何将其消除?求算法
- 非托管下,怎样使 std<< 下的输出到 VC8下的输出窗口?就像 .net库中 cout一样
- 音视频合成
google里应该很容易找到
HANDLE hMutex=::CreateMutex(NULL,TRUE,"FirstName");//FirstName可以随便取一个唯一的名字
if (hMutex!=NULL)
{
if (GetLastError()==ERROR_ALREADY_EXISTS)
{
AfxMessageBox("已经有一个程序运行"); }
把你这段代码加到程序里直接可以用,,呵呵,谢谢!
[in] Handle to the current instance of the application.
hPrevInstance
[in] Handle to the previous instance of the application. This parameter is always NULL.
If you need to detect whether another instance already exists, create a uniquely named mutex using the CreateMutex function. CreateMutex will succeed even if the mutex already exists, but the GetLastError function will return ERROR_ALREADY_EXISTS. This indicates that another instance of your application exists, because it created the mutex first.这就是微软建议你这样做的,其实互斥对象内部也是使用了内存映射文件,内存映射文件共享数据变量.........