服务管理,Dll查看
VOID CManageProcessDlg::ShowProcess()
{
m_ListProcess.DeleteAllItems();
HANDLE hSnap = CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS,NULL);
//...
PROCESSENTRY32 Pe32 = {0};
Pe32.dwSize = sizeof(PROCESSENTRY32);
int bRet = Process32First(hSnap,&Pe32);
//...
CString strTemp;
DWORD dwIndex = 0;
while(bRet)
{
//...
bRet = Process32Next(hSnap,&Pe32);
strTemp.Format("%d",Pe32.th32ProcessID);
m_ListProcess.InsertItem(dwIndex,strTemp);
m_ListProcess.SetItemText(dwIndex,1,Pe32.szExeFile);
dwIndex ++;
}
}
//列表控件的初始化
void CManageProcessDlg::InitList()
{
m_ListProcess.SetExtendedStyle(m_ListProcess.GetExtendedStyle() |
LVS_EX_GRIDLINES | LVS_EX_FULLROWSELECT);
m_ListProcess.InsertColumn(0,_T("NO"));
m_ListProcess.InsertColumn(1,_T("进程名"));
m_ListProcess.SetColumnWidth(0,LVSCW_AUTOSIZE_USEHEADER);
m_ListProcess.SetColumnWidth(1,LVSCW_AUTOSIZE_USEHEADER);
m_ListModule.SetExtendedStyle(m_ListModule.GetExtendedStyle() |
LVS_EX_GRIDLINES | LVS_EX_FULLROWSELECT);
m_ListModule.InsertColumn(0,_T("NO"));
m_ListModule.InsertColumn(1,_T("DLL名"));
m_ListModule.InsertColumn(2,_T("DLL路径"));
m_ListModule.SetColumnWidth(0,LVSCW_AUTOSIZE_USEHEADER);
m_ListModule.SetColumnWidth(1,LVSCW_AUTOSIZE_USEHEADER);
m_ListModule.SetColumnWidth(2,LVSCW_AUTOSIZE_USEHEADER);
}
void CManageProcessDlg::ShowModule()
{
DWORD error;
m_ListModule.DeleteAllItems();
int nPid = GetSelectPid();
MODULEENTRY32 Me32 = {0};
Me32.dwSize = sizeof(MODULEENTRY32);
HANDLE hSnap = CreateToolhelp32Snapshot(TH32CS_SNAPMODULE,nPid);
//...
error = GetLastError();
int bRet = Module32First(hSnap,&Me32);
error = GetLastError();
CString strTemp;
DWORD dwIndex = 0;
while( bRet)
{
//...
bRet = Module32Next(hSnap,&Me32);
strTemp.Format("%d",Me32.th32ProcessID);
m_ListModule.InsertItem(dwIndex,strTemp);
m_ListModule.SetItemText(dwIndex,1,Me32.szModule);
m_ListModule.SetItemText(dwIndex,2,Me32.szExePath);
dwIndex ++;
//MessageBox(Me32.szExePath);
}
}
int CManageProcessDlg::GetSelectPid()
{
POSITION pos = m_ListProcess.GetFirstSelectedItemPosition();
int nSelect = -1;
while( pos )
{
nSelect = m_ListProcess.GetNextSelectedItem(pos);
}
if(-1 == nSelect)
{
MessageBox("请选择要操作的项");
return 0;
}
//获取选中服务的服务名
char szServiceName[MAXBYTE] = {0};
m_ListProcess.GetItemText(nSelect,0,szServiceName,MAXBYTE);
int a = atoi(szServiceName);
return a;
}
//查看DLL
void CManageProcessDlg::OnBtnDll()
{
// TODO: Add your control notification handler code here
DebugPrivilege();
ShowModule();
}
//提升权限
void CManageProcessDlg::DebugPrivilege()
{
HANDLE hToken = NULL;
//打开当前进程的访问令牌
int hRet = OpenProcessToken(GetCurrentProcess(),TOKEN_ALL_ACCESS,&hToken);
if( hRet)
{
TOKEN_PRIVILEGES tp;
tp.PrivilegeCount = 1;
//取得描述权限的LUID
LookupPrivilegeValue(NULL,SE_DEBUG_NAME,&tp.Privileges[0].Luid);
tp.Privileges[0].Attributes = SE_PRIVILEGE_ENABLED;
//调整访问令牌的权限
AdjustTokenPrivileges(hToken,FALSE,&tp,sizeof(tp),NULL,NULL);
CloseHandle(hToken);
}
}
服务管理,Dll查看的更多相关文章
- 服务和进程管理及查看分区和cpu
查看分区:cat /proc/partitions [root@lbg init.d]# cat /proc/partitions major minor #blocks name ...
- 第11章 Linux服务管理
1. 服务分类 (1)Linux的服务 ①Linux中绝大多数的服务都是独立的,直接运行于内存中.当用户访问时,该服务直接响应用户,其好处是服务访问响应速度快.但不利之处是系统中服务越多,消耗的资源越 ...
- PC管理端与评委云打分配合步骤及疑难问题汇编,即如何使用PC管理端的云服务管理功能
一.前期环境及数据准备 A.PC管理端主要流程 1.进入菜单 编辑/选项/服务器 界面,如下图所示,采用我官方所提供的云服务,不采用自己假设的AppWeb服务. 切记:AppWeb服务和云服务只能二选 ...
- linux 学习 12 服务管理
第十二讲 Linux服务管理 12.1 Linux服务管理-服务分类 ——Linux服务 ----RPM包默认安装的服务 ————独立的服务 ————基于xinetd服务 ----源码包安装的服务 ...
- [MySQL Reference Manual] 5 MySQL 服务管理
5. MySQL 服务管理 5. MySQL 服务管理 5.1 The Mysql Server 5.2 Mysql 服务日志 5.2.1 选择General query log和slow query ...
- Powershell实例小结(服务管理)
有关服务管理的具体实例脚本如下: #$lists="1.1.1.1","2.2.2.2" #远程ip列表 foreach ($list in $lists){ ...
- Linux学习笔记(19) Linux服务管理
1. 服务的分类 Linux服务可分为RPM包默认安装的服务和源码包安装的服务.前者可细分为独立的服务(直接作用于内存中)和基于xinetd服务.xinetd本身是独立的服务,其唯一的功能是管理其他服 ...
- [Linux]服务管理:rpm包, 源码包
--------------------------------------------------------------------------------------------------- ...
- window7 输入什么命令可以快速打开服务管理?? 虚拟机设置了NAT网络连接方式,还是无法上网?
window7 输入什么命令可以快速打开服务管理?? 虚拟机设置了NAT网络连接方式,还是无法上网? 1.我遇到的问题? 在虚拟机安装了linux系统,并且把网络连接方式设置为NAT,如图: 意思就是 ...
- Linux学习 -- 服务管理
1 服务分类 服务管理内容 启动 自启动 查询已安装的服务 RPM包安装的服务 自启动的 chkconfig --list 2345中如果是启用,代表下次开机会自启动 正在运行的服务 p ...
随机推荐
- 【Java/Android性能优2】Android性能调优工具TraceView介绍
本文参考:http://www.trinea.cn/android/android-traceview/ Android自带的TraceView堪比java的性能调优工具visualvm线程视图,可以 ...
- 使用 xcode 8 构建版本 iTunes Connect 获取不到应用程序的状态
今天在提交 APP 审核版本的时候iTunes Connect 一直获取不到应用程序的状态,原因是,14号 xcode 8一出 直接升级使用 xcode 8 打包发布包,然后直接用 xcode8 构建 ...
- 原来腾讯还出过一个开源项目libco
虽然只能在OpenSUSE上使用,还是应该赞一个的.
- PHP计算中英混输字符串长度
最近做项目中碰到需要post value length check的这么一个情况 有这么一个需求, 需要backend来处理post过来的中英混输的数据. 对其限制的规则是中文10个字符, 英文20个 ...
- JavaScript--DOM基础(19)
// DOM(Document Object Model)即文档对象模型,针对HTML和XML文档的API(应用程序接口); // DOM描绘了一个层次化的节点树,运行开发人员可以添加/移除和修改页面 ...
- Handler发送Message
用Handler更新UI package activity.cyq.handlermessage; import android.content.res.Resources; import andro ...
- Java注解(自定义注解、view注入)
注解这东西虽然在jdk1.5就加进来了,但他的存在还是因为使用Afinal框架的view注入才知道的.一直觉得注入特神奇,加了一句就可以把对应view生成了. 下面我们来认识一下注解这个东西 一.注解 ...
- SQLite&&SharedPreferences&&IO读写Sdcard学习笔记
SQLite 轻量级的.嵌入式的.关系型数据库 Android.IOS等广泛使用的的数据库系统 SQLite数据库之中可以方便的使用SQL语句,实现数据的增加.修改.删除.查询等操作 SQLiteOp ...
- linux安装配置sendmail实现邮件发送
sendmail配置 yum -y update sendmail sendmail-cf SendMail相关目录1. 设定档目录:/etc/mail2. 记录档:/var/log/maillog3 ...
- CoreAnimation 核心动画一 (一些常用属性 和 方法)
1.常用属性: frame bounds center alpha Transition 过渡 transform 动画效果 2.常用方法: +(void)setAnimati ...