如何知道我的某一个进程正在运行?

uk 2002-02-01 09:15:06
有什么比较高效的方法吗?
...全文
62 点赞 收藏 9
写回复
9 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
uk 2002-02-01
Process Viewer 也不能实时刷新
回复
Koshima 2002-02-01
还是用vss自带的“Process Viewer"吧,这个最省事!
你可以观察当前正在运行的所有进程!
回复
kimryo 2002-02-01
用个特殊的类名称,直接FindWindow就行了。
回复
masterz 2002-02-01
http://www.codeguru.com/win32/previnst.shtml
// CPreviousInstance.h

class CPreviousInstance
{
public:
CPreviousInstance();
virtual ~CPreviousInstance();

LONG Count() const
{
return m_previous;
}

private:
static LONG s_count;
LONG m_previous;

CPreviousInstance(const CPreviousInstance&);
CPreviousInstance& operator=(const CPreviousInstance&);
};

// CPreviousInstance.cpp

// static instance count stored in a shared read/write section

#pragma data_seg("Instance")

LONG CPreviousInstance::s_count = 0;

#pragma data_seg()
#pragma comment(linker,"/section:Instance,rws")


// Construction/Destruction

CPreviousInstance::CPreviousInstance():
m_previous(0)
{
m_previous = ::InterlockedIncrement(&s_count);
--m_previous;
}

CPreviousInstance::~CPreviousInstance()
{
::InterlockedDecrement(&s_count);
}
回复
uk 2002-02-01
我想知道程序启动时他会向系统发送一个什么消息,这样我就不用枚举系统里所有的进程信息了,那样太慢了。
各位能谈谈CMutex具体做法吗?我很急,谢谢各位!
回复
masterz 2002-02-01
create a named CMutex in your program, to detect the existence of your, program, you can try to do the samething , if success, no previous instance exists, otherwise there is a previous instance running.
回复
scklotz 2002-02-01
在你的程序里建立一个信号量或则mutex,
然后就可以监测到.
回复
scklotz 2002-02-01
在你的程序里建立一个信号量或则mutex,
然后就可以监测到.
回复
storein 2002-02-01
使用FINDWINDOW()
回复
相关推荐
发帖
非技术类
创建于2007-09-28

1621

社区成员

VC/MFC 非技术类
申请成为版主
帖子事件
创建了帖子
2002-02-01 09:15
社区公告
暂无公告