快捷搜索:  汽车  科技

win32怎么编程?win32编程--进程

win32怎么编程?win32编程--进程4、每个进程当中至少包含一个线程3、每个进程都有自己的安全属性 二、Windows进程的特点: 1、每个进程都有自己的ID号 2、每个进程都有自己的地址空间,进程之间无法访问对方的地址空间。

年轻的时候爱上什么都不为过,成熟了以后放弃什么都理解,我们终其一生,不过是想找一个能一起吃饭的人。。。

---- 网易云热评

一、Windows进程介绍

一个容器,包含程序执行需要的代码、数据、资源等等信息。Windows是多任务操作系统,可以同时执行多个进程。

二、Windows进程的特点:

1、每个进程都有自己的ID号

2、每个进程都有自己的地址空间,进程之间无法访问对方的地址空间。

3、每个进程都有自己的安全属性

4、每个进程当中至少包含一个线程

三、环境信息获取

1、多字节格式

void 环境() { LPCH pEnv = GetEnvironmentStrings();//返回一个地址,存放的环境变量首地址 LPSTR pText = (LPSTR)pEnv;//为了打印,重新定义一个,原来的需要释放 for (pText;*pText;pText ) { while (*pText) { putchar(*pText ); } putchar('\n'); } FreeEnvironmentStrings(pEnv); } int main() { 环境(); return 0; }

2、unicode格式

void 环境() { LPWCH pEnv = GetEnvironmentStrings(); LPCWSTR pText = (LPCWSTR)pEnv;//为了打印重新定义一个,原来的用来释放 for (pText; *pText; pText ) { while (*pText) { putchar(*pText ); } putchar('\n'); } FreeEnvironmentStrings(pEnv); } int main() { 环境(); return 0 }

3、设置和读取环境变量

void sz设置和读取环境() { SetEnvironmentVariable(L"aiyou" L"bucuoo");//变量名字和路径 wchar_t s1[256] = { 0 }; GetEnvironmentVariable(L"aiyou" s1 256); LPCWSTR pText = s1; for (pText; *pText; pText ) { while (*pText) { putchar(*pText ); } putchar('\n'); } }

四、进程信息

1、进程ID

GetCurrentProcessId()

2、进程句柄,打印出来是-1,他只是内部使用的

GetCurrentProcess()

3、创建进程

void jc信息() { STARTUPINFO s = { 0 }; PROCESS_INFORMATION p = { 0 }; CreateProcess(L"C:/Windows/System32/notepad.exe" (LPTSTR)"" NULL NULL FALSE 0 NULL NULL &s &p); printf("进程ID:%d 进程句柄:%d\n" (wchar_t)p.dwProcessId (wchar_t)p.hProcess); }

4、结束进程

void js结束进程() { HANDLE hproc = OpenProcess(PROCESS_ALL_ACCESS FALSE 18332);//通过ID获取句柄 TerminateProcess(hproc 0);//通过句柄杀死进程 }

5、等候函数

WaitForSingleObject(p.hProcess INFINITE);//进程运行,进程句柄无信号,进程结束,才会执行这句话,只有进程句柄才是可等候句柄,infinite无限大时间

阻塞函数,等候句柄的信号,只在句柄有信号或超出等候时间,才会结束等候,

win32怎么编程?win32编程--进程(1)

猜您喜欢: