怎样获取系统当前正在运行的进程的列表? 呵呵,那就不要用STRCMP用STRSTR,应该可以吧,不过尽管可能实现,方法是有些菜。不明白为什么会有你说的情况。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 strstr可以,你说的情况可能和操作系统有关。据我试验,98下可以有路径,2000下就没有路径了。 其实,我个人认为用GetModuleBaseName好些,它不带路径。可是不知道9x是否支持。 对,我自己的机器是WinXP,学校的机器上98。但是很奇怪,我自己的程序上显示的进程名都带“\”,可是VC自带的ProcessViewer上显示的同样的进程却不带“\”,不知道怎么回事,是不是ProcessViewer用了其他的API函数?不是CreateToolhelp32Snapshot? 另,to lshadow(光影)那你自己去掉那个'\',试试看--------------------------------我试过了,在学校的机器上不论加不加“\”,我的判断语句都失效。 to:NowCan(能量、激情、雨水、彩虹——雷雨云)我用一个循环把PROCESSENTRY32的szExeFile中保存的路径已经去掉了啊,只留下了可执行文件名。 TCHAR *lib;LPTSTR mir = "mir.exe";bag = Process32First( hand, &pe);for ( ; bag ; bag = Process32Next ( hand , &pe ) )lib = _tcsrchr ( pe.szExeFile , _T('\\')) + 1 ;if ( lstrcmpi (mir , lib ) == 0).................. VC自带的ProcessViewer用的是PSAPI,不是ToolHelp。它只能在NT系列上使用。 可是学校的机器是98,而且Visual Studio Tools里面的ProcessViewer是可以用的啊。 Visual Studio Tools里面的ProcessViewer有两个版本,分别用于9X和NT 哦,我说我的机器上的ProcessViewer怎么和学校的界面不一样呢。 另,我把判断语句由strcmp改成了strstr可是还是不行啊!按说不应该这样啊。 没有道理吧,你看看STRSTR的用法。 呵呵,不怕各位见笑,VC我装在XP下,98只是用来玩玩游戏的,没开发环境,只有一个SoftICE(我想还犯不着劳动SoftICE的大驾吧?),所以我写程序的时候一直都没有考虑到98和XP有什么区别,现在每次修改程序,都得重启动到98下试验,不行的话还要再回到XP,挺麻烦的。XP底下我的程序一切正常,没有跟踪的必要。为98而写的那段代码根本就不会执行。 vcdll(zhxx) 兄弟:TCHAR *lib;LPTSTR mir = "mir.exe";bag = Process32First( hand, &pe);for ( ; bag ; bag = Process32Next ( hand , &pe ) )lib = _tcsrchr ( pe.szExeFile , _T('\\')) + 1 ;if ( lstrcmpi (mir , lib ) == 0)..................你这段程序里面面的"Process32First( hand, &pe);" 在2000下调用返回false有办法解决没有落 在C语言中,\WINAMP.EXE 应写成 "\\WINAMP.EXE" strstr返回值非0说明找到匹配,而strcmp返回值0说明相同。注意区别。 解决了!感谢wj6752() 一语惊醒梦中人!他的方法是最简单的,最有效的!再次感谢你wj6752() !也感谢其他帮助我的大侠! 最近比较懒,散分 请问各位,vc6.0中文版和英文版有什么不同? VC++不能安装问题! 怎样获得控件窗口的句柄 帮忙看看头文件引起的编译错误问题 大大们!给个答案吧! 求一用MATLAB编写的关于"幅度调制的彩色图像水印系统处理"的程序 如何能在对话框上做出像CColorDialog自定义颜色中那个颜色逐渐变化的框框?并且鼠标在上面移动时,可以获得RGB值? 如何将外部BMP文件写到一个CStatic上面去? 如何制作一维条形码 请问个位高手动态消息处理问题? 关于工具栏
那你自己去掉那个'\',试试看
--------------------------------
我试过了,在学校的机器上不论加不加“\”,我的判断语句都失效。
......
.......
TCHAR *lib;
LPTSTR mir = "mir.exe";
bag = Process32First( hand, &pe);
for ( ; bag ; bag = Process32Next ( hand , &pe ) )
lib = _tcsrchr ( pe.szExeFile , _T('\\')) + 1 ;
if ( lstrcmpi (mir , lib ) == 0)
.....
......
.......
你这段程序里面面的"Process32First( hand, &pe);" 在2000下调用返回false
有办法解决没有落
而strcmp返回值0说明相同。注意区别。
也感谢其他帮助我的大侠!