VC驿站

 找回密码
 加入驿站

QQ登录

只需一步,快速开始

搜索
查看: 1228|回复: 16

[已解决]求助

[复制链接]
16_avatar_middle
最佳答案
0 
在线会员 发表于 2020-1-8 13:51:21 | 显示全部楼层 |阅读模式
本帖最后由 wl1383838438 于 2020-1-8 15:40 编辑

VC++基础班第27课,照着老师的步骤做了,结果出来是这样的:
求助 求助
我的部分代码如下
  1.         // TODO:  在此添加额外的初始化代码
  2.         //ListCtrl初始化代码
  3.         m_ListCtrl.SetExtendedStyle( LVS_EX_FULLROWSELECT | LVS_EX_GRIDLINES);
  4.         m_ListCtrl.InsertColumn(0, _T("进程"), LVCFMT_LEFT, 180);
  5.         m_ListCtrl.InsertColumn(1, _T("Pid"), LVCFMT_LEFT, 60);
  6.         m_ListCtrl.InsertColumn(2, _T("完整路径"), LVCFMT_LEFT, 500);
  7.         //提升权限
  8.         BOOL isOk = AdjustPrivileges();
  9.         //列出进程
  10.         ListProcess();
  11. #include <TlHelp32.h>
  12. #include <Psapi.h>
  13. #pragma comment(lib,"Psapi.lib")
  14. BOOL C简单任务管理器Dlg::ListProcess(){
  15.        
  16.         HANDLE hSnapShot = CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS,0);
  17.         if (hSnapShot == INVALID_HANDLE_VALUE)
  18.         {
  19.                 return FALSE;
  20.         }
  21.         PROCESSENTRY32 pInfo = { 0 };
  22.         pInfo.dwSize = sizeof(PROCESSENTRY32);
  23.         //开始遍历进程
  24.         int idx = 0;
  25.         if (Process32First(hSnapShot, &pInfo)){
  26.                 do
  27.                 {
  28.                         idx = m_ListCtrl.InsertItem(m_ListCtrl.GetItemCount(), _T(""));
  29.                         m_ListCtrl.SetItemText(idx, 0, pInfo.szExeFile);
  30.                         HANDLE hProcess = OpenProcess(PROCESS_QUERY_INFORMATION | PROCESS_VM_READ, FALSE, pInfo.th32ProcessID);
  31.                         if (hProcess)
  32.                         {
  33.                                 CString strPID;
  34.                                 strPID.Format(_T("%d"), pInfo.th32ProcessID);
  35.                                 m_ListCtrl.SetItemText(idx, 1, strPID);
  36.                                 TCHAR szPath[MAX_PATH] = { 0 };
  37.                                 GetModuleFileNameEx(hProcess, NULL, szPath, MAX_PATH);
  38.                                 m_ListCtrl.SetItemText(idx, 2, szPath);
  39.                                 CloseHandle(hProcess);
  40.                         }
  41.                 } while (Process32Next(hSnapShot, &pInfo));
  42.         }
  43.         CloseHandle(hSnapShot);
  44.         return TRUE;
  45. }
复制代码

请问是什么原因?
最佳答案
75_avatar_small
2020-1-8 15:41:45
本帖最后由 wl1383838438 于 2020-1-8 16:37 编辑

求助











不要找了是系统平台的问题 改图是xp环境测试下的问题,(syc的代码没有任何问题,问题出现在  测试环境  教材是xp环境,你我的环境不一样,编译器可能也不一样,我后面测试的为xp以及vs2010   可以获取所有的服务进程)




在xp环境下我搭配的vs2010  是没有任何问题的。   尽量和老师的代码同步(编译器和环境)

评分

参与人数 1驿站币 +2 热心值 +2 收起 理由
58_avatar_small thzzl + 2 + 2 使用管理员权限打开VS,在编译一次。参考wl.

查看全部评分





上一篇:无法查找或打开 PDB 文件
下一篇:求教SYC大大,换肤第二课,关于动态换肤的疑问
75_avatar_middle
最佳答案
18 
online_supermod 发表于 2020-1-8 15:41:45 | 显示全部楼层    本楼为最佳答案   
bestAnswer
本帖最后由 wl1383838438 于 2020-1-8 16:37 编辑

求助











不要找了是系统平台的问题 改图是xp环境测试下的问题,(syc的代码没有任何问题,问题出现在  测试环境  教材是xp环境,你我的环境不一样,编译器可能也不一样,我后面测试的为xp以及vs2010   可以获取所有的服务进程)




在xp环境下我搭配的vs2010  是没有任何问题的。   尽量和老师的代码同步(编译器和环境)
求助
75_avatar_middle
最佳答案
18 
online_supermod 发表于 2020-1-8 14:17:13 | 显示全部楼层
你尝试打开一下 syc的源码    看看是不是也这样,  我测试了他的源码我的平台(win10   vs2017)可能涉及权限问题 导致前面几个是无法获取路径的,(我没有详细查看原因但是假如win10的话可能是该情况)
求助
16_avatar_middle
最佳答案
0 
ico_lz  楼主| 发表于 2020-1-8 14:31:22 | 显示全部楼层
wl1383838438 发表于 2020-1-8 14:17
你尝试打开一下 syc的源码    看看是不是也这样,  我测试了他的源码我的平台(win10   vs2017)可能涉及权 ...

我试了老师的源码,打开也是这样的。我的环境为:win7  sp1 64位旗舰版
58_avatar_middle
最佳答案
43 
online_vip 发表于 2020-1-8 15:23:54 | 显示全部楼层
wl1383838438 发表于 2020-1-8 14:17
你尝试打开一下 syc的源码    看看是不是也这样,  我测试了他的源码我的平台(win10   vs2017)可能涉及权 ...

那为什么有的能显示,有的不能显示,而有的显示乱码,会不会和编码有关?
58_avatar_middle
最佳答案
43 
online_vip 发表于 2020-1-8 15:27:18 | 显示全部楼层
test123mk123456 发表于 2020-1-8 14:31
我试了老师的源码,打开也是这样的。我的环境为:win7  sp1 64位旗舰版

可能是编码问题,
#include <locale>
setlocale(LC_ALL,"chs");
增加这两句试试。
75_avatar_middle
最佳答案
18 
online_supermod 发表于 2020-1-8 15:43:26 | 显示全部楼层
thzzl 发表于 2020-1-8 15:27
可能是编码问题,
#include  
setlocale(LC_ALL,"chs");

这两句是干啥的啊    科普一下
16_avatar_middle
最佳答案
0 
ico_lz  楼主| 发表于 2020-1-8 17:16:58 | 显示全部楼层
本帖最后由 test123mk123456 于 2020-1-8 17:26 编辑
wl1383838438 发表于 2020-1-8 15:41
不要找了是系统平台的问题 改图是xp环境测试下的问题,(syc的代码没有任何问题, ...


好的好的,谢谢!我没有说syc的代码有问题,我是在找我的问题。。。

终于找到了,确实如你所说,老师使用的是XP系统环境。win7的权限限制不同。。。
感谢你,也谢谢syc老师
16_avatar_middle
最佳答案
0 
ico_lz  楼主| 发表于 2020-1-8 17:18:07 | 显示全部楼层
本帖最后由 test123mk123456 于 2020-1-8 17:28 编辑
thzzl 发表于 2020-1-8 15:27
可能是编码问题,
#include  
setlocale(LC_ALL,"chs");


试过了,但是显示这个:
  1. 1>------ 已启动生成:  项目: 简单任务管理器, 配置: Release Win32 ------
  2. 1>  简单任务管理器Dlg.cpp
  3. 1>简单任务管理器Dlg.cpp(11): error C4430: 缺少类型说明符 - 假定为 int。注意:  C++ 不支持默认 int
  4. 1>简单任务管理器Dlg.cpp(11): error C2365: “setlocale”: 重定义;以前的定义是“函数”
  5. 1>          C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\include\locale.h(108) : 参见“setlocale”的声明
  6. 1>简单任务管理器Dlg.cpp(11): error C2078: 初始值设定项太多
  7. 1>简单任务管理器Dlg.cpp(11): error C2440: “初始化”: 无法从“const char [4]”转换为“int”
  8. 1>          没有使该转换得以执行的上下文
  9. ========== 生成:  成功 0 个,失败 1 个,最新 0 个,跳过 0 个 ==========
复制代码

不过还是谢谢你的热心解答!
58_avatar_middle
最佳答案
43 
online_vip 发表于 2020-1-8 20:19:41 | 显示全部楼层
test123mk123456 发表于 2020-1-8 17:18
试过了,但是显示这个:
不过还是谢谢你的热心解答!

用管理员模式试一下,先学着吧,以后会学到提权。
16_avatar_middle
最佳答案
0 
ico_lz  楼主| 发表于 2020-1-8 20:44:53 | 显示全部楼层
thzzl 发表于 2020-1-8 20:19
用管理员模式试一下,先学着吧,以后会学到提权。

好的,谢谢你
58_avatar_middle
最佳答案
43 
online_vip 发表于 2020-1-8 20:48:28 | 显示全部楼层

提权,要分不同的情况,一般只是多加5、6行代码的事,不用担心,放心学嘿。
58_avatar_middle
最佳答案
43 
online_vip 发表于 2020-1-8 20:49:43 | 显示全部楼层

syc后面的课,也会讲解一些提权,等有一定基础,不难解决。
58_avatar_middle
最佳答案
43 
online_vip 发表于 2020-1-9 09:52:14 | 显示全部楼层
里面有种通用提权方式,测试一下:https://www.cctry.com/thread-298990-1-1.html
16_avatar_middle
最佳答案
0 
ico_lz  楼主| 发表于 2020-1-9 14:56:04 | 显示全部楼层
thzzl 发表于 2020-1-9 09:52
里面有种通用提权方式,测试一下:https://www.cctry.com/thread-298990-1-1.html

谢谢。现在还没有开始研究提权,头有点大
58_avatar_middle
最佳答案
43 
online_vip 发表于 2020-1-9 15:11:28 | 显示全部楼层
test123mk123456 发表于 2020-1-9 14:56
谢谢。现在还没有开始研究提权,头有点大

就按他帖子中的红字试试。
58_avatar_middle
最佳答案
43 
online_vip 发表于 2020-1-9 15:12:30 | 显示全部楼层
test123mk123456 发表于 2020-1-9 14:56
谢谢。现在还没有开始研究提权,头有点大

别头大,遇不懂的就先跳过,不影响学后面的。
您需要登录后才可以回帖 登录 | 加入驿站 qq_login

本版积分规则

×【发帖 友情提示】
1、请回复有意义的内容,请勿恶意灌水;
2、纯数字、字母、表情等无意义的内容系统将自动删除;
3、若正常回复后帖子被自动删除,为系统误删的情况,请重新回复其他正常内容或等待管理员审核通过后会自动发布;
4、感谢您对VC驿站一如既往的支持,谢谢合作!

关闭

站长提醒上一条 /2 下一条

QQ|小黑屋|手机版|VC驿站 ( 辽ICP备09019393号 )|网站地图wx_jqr

GMT+8, 2020-9-23 16:24

Powered by CcTry.CoM

© 2009-2020 cctry.com

快速回复 返回顶部 返回列表