社区
进程/线程/DLL
帖子详情
如何获得系统当前所有进程的程序文件名?就像WINDOWS2000中的任务管理器一样。各位虾帮帮忙,俺实在不会:P
nemo2050
2001-05-31 06:08:00
如何获得系统当前所有进程的程序文件名?就像WINDOWS2000中的任务管理器一样。各位虾帮帮忙,俺实在不会:P
...全文
74
4
打赏
收藏
如何获得系统当前所有进程的程序文件名?就像WINDOWS2000中的任务管理器一样。各位虾帮帮忙,俺实在不会:P
如何获得系统当前所有进程的程序文件名?就像WINDOWS2000中的任务管理器一样。各位虾帮帮忙,俺实在不会:P
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
4 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
sxbyl
2001-06-14
打赏
举报
回复
这是我程序中的一段代码,里面包括了这个功能:
bool CWatcherDlg::DetectState(bool bCheck)
{
int nCount,i;
char szName[256];
tagProgramInfo *pInfo=NULL;
CTimeSpan spanOneHour(0,1,0,0);
DWORD pProcessID[1024];
DWORD dwSize;
HANDLE hProcess;
HMODULE hModule;
CString strMsg;
nCount=m_aryProgramInfo.GetSize();
HWND hWnd=::FindWindow(NULL,"Microsoft Visual C++ Runtime Library");
if(hWnd!=NULL)
::PostMessage(hWnd,WM_KEYDOWN,13,0x011c0001); //模拟按下Enter健
/*清除链表中各进程状态*/
for(i=0;i<nCount;i++)
{
pInfo=(tagProgramInfo *)m_aryProgramInfo.GetAt(i);
if(bCheck==true)
{
if(m_ctrlProgram.GetCheck(i)==FALSE)
pInfo->nState=STA_PAUSE | STA_ERROR;
else
pInfo->nState=STA_ERROR;
}
}
/*枚举所有进程*/
EnumProcesses(pProcessID,sizeof(pProcessID),&dwSize);
nCount=dwSize/sizeof(DWORD);
/*枚举所有窗口*/
EnumWindows(EnumWndProc,(LPARAM)this);
for(i=0;i<nCount;i++)
{
hProcess=OpenProcess(PROCESS_QUERY_INFORMATION | PROCESS_VM_READ |PROCESS_TERMINATE,FALSE,pProcessID[i]);
if(hProcess)
{
if(EnumProcessModules(hProcess,&hModule,sizeof(hModule),&dwSize))
{
GetModuleFileNameEx(hProcess,hModule,szName,sizeof(szName));
TRACE1("程序名:%s\r\n",szName);
pInfo=GetInfoFromName(szName); //枚举到的程序是否在链表中
if(pInfo==NULL)
{
CloseHandle(hProcess);
continue;
}
pInfo->nState&=STA_PAUSE; //清除nState中的低位
pInfo->nState|=STA_NORMAL; //设置低位为Normal
pInfo->hProcess=hProcess;
}
}
}
EnumWindows(EnumWndProc,(LPARAM)this);
nCount=m_aryProgramInfo.GetSize();
for(i=0;i<nCount;i++)
{
pInfo=(tagProgramInfo *)m_aryProgramInfo.GetAt(i);
if(pInfo->nState & STA_PAUSE)
continue;
if(pInfo->hProcess==NULL)
{
StartProgram(pInfo);
continue;
}
if(pInfo->nState==STA_ERROR || pInfo->nState==STA_NULL)
{
UpdateTrayNotifyWnd();
pInfo->hProcess=NULL;
StartProgram(pInfo);
}
}
return true;
}
abcicq
2001-06-14
打赏
举报
回复
枚举窗口.
.
.
.
HWND OtherWindow = NULL;
EnumWindows(FuncEnumWindow,(long)&OtherWindow);
if(OtherWindow != NULL)
{
//* Deal to your codes
}
FuncEnumWindow()
{
//* return false; //* Stop Enum Windows
//* return true; //* Continue Enum Windows
}
.
.
.
acute
2001-06-14
打赏
举报
回复
关注
nemo2050
2001-06-14
打赏
举报
回复
:(
零基础快速入门:Linux
系统
系统
的安装、局域网与外网 的配置、下载服务的多种方式
1.linux
系统
介绍 以
windows
为内核的操作
系统
有哪些:win10 win8 win7 xp
系统
windows
server 以linux为内核的操作
系统
有哪些:centos ubuntu debian...
CSDN回帖得分大全(近两年)
√vs2005调用dll的时候Initialize()函数返回错误 [VC/MFC ... [VC/MFC 界面] 40 chencheng8095 05-23 00:2911 xianglitian06-10 11:51管理√CFileFind::FindFile 支持通配符么? [VC/MFC 基础类] 100 wysbk002 05-22
Cognos应用
Cognos服务器移植后PlowePlay Enterprise Server打不开了拒绝访问(Access is denied)这是新装的Cognos服务器,将原先服务器上的cer1/bin下执行upfpack打包,将Access Manager
中
用户导出,再导入到新服务器
中
,执行...
计算机必要知识
net命令介绍这篇文章综合了
WINDOWS
98,
WINDOWS
WORKSTATION和
WINDOWS
SERVER 三个操作系 统关于NET命令的解释,希望可以全面一些 先说一些: (1)NET命令是一个命令行命令。 (2)管理网络环境、服务、用户、登陆。。...
我在CSDN参与的3000个帖子
Access
2000
无法打开,各位务必
帮帮忙
!在线等。 174: 明天是我儿子生日,兼祝各位圣诞节快乐 175: 圣诞节、升四星,放分庆祝! 176: VB
中
有没有自动计数的控件啊? 177: 周末了,提前祝大家...
进程/线程/DLL
15,471
社区成员
49,182
社区内容
发帖
与我相关
我的任务
进程/线程/DLL
VC/MFC 进程/线程/DLL
复制链接
扫一扫
分享
社区描述
VC/MFC 进程/线程/DLL
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章