
C:\Program Files\Microsoft Visual Studio\Common\MSDev98\Bin
或者,安装目录下:
D:\Program Files (x86)\Microsoft Visual Studio\MyProject
Microsoft Visual C++,(简称Visual C++、MSVC、VC++或VC)是Microsoft公司推出的开发Win32环境程序,面向对象的可视化集成编程系统。
它不但具有程序框架自动生成、灵活方便的类管理、代码编写和界面设计集成交互 *** 作、可开发多种程序等优点,而且通过简单的设置就可使其生成的程序框架支持数据库接口、OLE2,WinSock网络、3D控制界面。
你首先需要为VC下载一个MicrosoftPlatform
SDK
for
Windows
XP
SP2,有了这个包以后,将psapi.h和psapi.lib拷贝到VC的include和lib目录,采用PSAPI编程:
1、用EnumProcesses函数列出当前所有进程
2、用OpenProcess打开进程
3、用GetProcessImageFileName函数就可以获取程序的完整目录
上面三个函数的资料在互联网上很完整,你可以用函数名作为关键字搜索一下就知道了。
下面举个例子:
#include
<windows.h>
#include
<stdio.h>
#include
<tchar.h>
#include
<psapi.h>
#pragma
comment(lib,
"psapi.lib")
void
PrintProcessNameAndID(
DWORD
processID
)
{
TCHAR
szProcessName[MAX_PATH]
=
TEXT("<unknown>")
TCHAR
szProcessPath[MAX_PATH]
=
TEXT("<unknown>")
//
获取进程句柄
HANDLE
hProcess
=
OpenProcess(
PROCESS_QUERY_INFORMATION
|
PROCESS_VM_READ,
FALSE,
processID
)
//
获取进程名称和路径
if
(NULL
!=
hProcess
)
{
HMODULE
hMod
DWORD
cbNeeded
if
(
EnumProcessModules(
hProcess,
&hMod,
sizeof(hMod),
&cbNeeded)
)
{
GetModuleBaseName(
hProcess,
hMod,
szProcessName,
sizeof(szProcessName)/sizeof(TCHAR)
)
}
GetProcessImageFileName(hProcess,
szProcessPath,
MAX_PATH)
}
//
打印进程名、进程号和路径地址.
_tprintf(
TEXT("%s
(PID:
%u)
<%s>\n"),
szProcessName,
processID,
szProcessPath
)
CloseHandle(
hProcess
)
}
void
main(
)
{
//
获取进程列表.
DWORD
aProcesses[1024],
cbNeeded,
cProcesses
unsigned
int
i
if
(
!EnumProcesses(
aProcesses,
sizeof(aProcesses),
&cbNeeded
)
)
return
//
计算当前一共多少个活动进程
cProcesses
=
cbNeeded
/
sizeof(DWORD)
//打印进程信息
for
(
i
=
0
i
<
cProcesses
i++
)
if(
aProcesses[i]
!=
0
)
PrintProcessNameAndID(
aProcesses[i]
)
}
C++标准库头文件,不同的编译器默认路径不相同。
Vc6.0一般在安装目录下的\VC98\INCLUDE目录,比如C:\Program Files (x86)\Microsoft Visual Studio\VC98\INCLUDE。
Vs一般在位于$VSPATH\VC\include路径下面。
gcc一般默认在 /usr/include目录下
自定义头文件文件要么和源代码文件放在同一处,要么在编译的时候指明自定义头文件路径,这样编译器才能找到头文件,才能编译通过。
另外,一些头文件需要在工程里面添加与头文件相对应的DLL动态链接库的支持才能用,因为头文件大多都只是定义,具体地实现是在cpp中,但还有一些像windows自带的头文件,他们的实现都是在DLL里面,你必须添加对这些DLL的支持才能使用这个头文件。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)