怎么让一个程序在内存中只有它的一个进程?
如题:
QQ可以在内存中有多个它的进程,但我要我的程序在内存中只有且紧有一个进程,该怎么办,
如题:
QQ可以在内存中有多个它的进程,但我要我的程序在内存中只有且紧有一个进程,该怎么办,
解决方案 »
- 发帖问个定义的问题
- 求助达人:很郁闷的问题
- 如何用C++程序实现屏幕截取?
- 请教rmvb文件的具体编码格式
- 学了三个月的vc总觉的少些什么,今天才发现vc中竟然很少用到数据结构和算法!vc编程真的是这样吗?
- 我这样加入图标为什么错?
- 如何在代码中获取工具条和状态条的指针
- ★★怎么刷新对话框★★
- 亲爱的兄弟姐妹们: HELP
- 现在的很多mud都是运行unix下的用c编的,我想登陆进去修改文件,但是对于unix去不太懂,看来象一夜之间成为高手或巫师不太可能阿
- 请教大侠,VC编的程序除了在Win 98,nt,2000,xp这些操作系统上运行外,在掌上通上能不能运行,掌上通的系统是不是WinCE?
- CWebBrowser2类Navigate方法,如何使用VARIANT * Headers参数
NULL, // no security attributes
FALSE, // initially not owned
"MutexToProtectApp"); // name of mutexif (hMutex == NULL)
{
// Check for error.
}
if(!FirstInstance)
return false;函数定义
BOOL C***App::FirstInstance()
{
CWnd *pWndPrev;
pWndPrev = CWnd::FindWindow(NULL, _T("窗口标题"));
if(pWndPrev != NULL)
{
return FALSE;
}
else
{
return TRUE;
}
}
具体如下:
#pragma data_seg("Shared")//这个共享节叫做Sharedunsigned g_nInstanceCount =0;//计数初始为0#pragma data_seg() //设置完毕#pragma comment(linker,"/:SECTION:Shared,RWS")//这句话告诉连接器,我要将Shared设为读写共享好了,让我们实际动手来做一个小的例子看看:/******************************************** 基于控制台的********************************************/
#include <iostream>
using namespace std;#pragma data_seg("Shared")unsigned g_nInstanceCount = 0;#pragma data_seg()#pragma comment(linker,"/SECTION:Shared,RWS")int main()
{
if(g_nInstanceCount>=1)
{
cout<<"Can only running an instance!"<<endl;
return 0;
} g_nInstanceCount++; //实例计数加1 cout<<"This is a console program!"<<endl;
system("pause");
return 0;
}运行第一个实例:......
CString mutexName = "MyAPP";
::CreateMutex(NULL,FALSE,mutexName);
if(ERROR_ALREADY_EXISTS==GetLastError())
{
AfxMessageBox("Already run!");
return FALSE;
}
hurryboylqs(中山三郎) 的代码在VC6.0下可以达到效果,但是在其它IDE中就不一定了,()))00如(Code Block)就不能,这就是不同的编译器造成的吧。
谢谢。