当前位置: 首页 > news >正文

搜索引擎优化是什么意思啊网站seo教程

搜索引擎优化是什么意思啊,网站seo教程,不同类型网站比较,网站运营发展前景我先给一个代码#xff0c;你可以直接用#xff0c;什么不用管了 static void kill_process_by_name(char *name) {PROCESSENTRY32 pe32 {0};//声明一个结构体#xff0c;用来存放快照进程信息的一个结构体HANDLE hsnap NULL;pe32.dwSize sizeof(pe32);//指定结…我先给一个代码你可以直接用什么不用管了 static void kill_process_by_name(char *name) {PROCESSENTRY32 pe32 {0};//声明一个结构体用来存放快照进程信息的一个结构体HANDLE hsnap NULL;pe32.dwSize sizeof(pe32);//指定结构体的大小hsnap CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS, 0); //得到系统进程快照的句柄if (hsnap INVALID_HANDLE_VALUE) return; //获取句柄失败BOOL ret Process32First(hsnap, pe32);//查找系统进程快照中的第一个进程while (ret) {if (stricmp(pe32.szExeFile, name) 0) {//判断进程的名称是不是一样HANDLE h OpenProcess(PROCESS_TERMINATE, FALSE, pe32.th32ProcessID); //打开一个已存在的进程对象并返回进程的句柄TerminateProcess(h, 0); //终止进程CloseHandle(h); //关闭句柄}ret Process32Next(hsnap, pe32); //查找下一个}CloseHandle(hsnap); }从此之后你只有传入进程的名称就可以强制关闭这个进程了。如果你有空并且还想深究请认真往下看定会让你获益匪浅。 查看系统所有进程的ip和名字 void CTestDlg::OnBnClickedButton1() {// TODO: 在此添加控件通知处理程序代码//打开控制台设置可以往控制台写入显示数据AllocConsole();freopen(CON, r, stdin);freopen(CON, w, stdout);freopen(CON, w, stderr); char name[50]{};int i{};PROCESSENTRY32 pe32 { 0 };//声明一个结构体HANDLE hsnap NULL; pe32.dwSize sizeof(pe32); //指定结构体大小hsnap CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS, 0); //得到系统进程快照的句柄if (hsnap INVALID_HANDLE_VALUE) return; //获取句柄失败BOOL ret Process32First(hsnap, pe32);//查找系统进程快照中的第一个进程while (ret) {i;couti : pe32.szExeFile :pe32.th32ProcessID endl;//输出进程IDret Process32Next(hsnap, pe32); //查找下一个}CloseHandle(hsnap);}运行结果如下图 下面详尽地说明上面两个例子出现的结构体以及函数的用法。 PROCESSENTRY32结构体 结构体的作用 用来存放快照进程信息的一个结构体。存放进程信息和调用成员输出进程信息用来 Process32First指向第一个进程信息并将进程信息抽取到PROCESSENTRY32中。用 Process32Next指向下一条进程信息。 结构体的声明 typedef struct tagPROCESSENTRY32{DWORD dwSize;DWORD cntUsage;DWORD th32ProcessID;ULONG_PTR th32DefaultHeapID;DWORD th32ModuleID;DWORD cntThreads;DWORD th32ParentProcessID;LONG pcPriClassBase;DWORD dwFlags;TCHAR szExeFile[MAX_PATH];} PROCESSENTRY32, *PPROCESSENTRY32;参数说明 dwSize 结构的大小这个结构的长度以字节为单位初始化一个实例以后调用Process32First函数设置成员的大小sizeof(PROCESSENTRY32).如果你没用PROCESSENTRY32中的成员dwSize初始化pricess32First将会失败。 cntUsage 此进程的引用计数这个成员已经很久没有使用总是设置为零。 th32ProcessID 进程ID这个就是任务管理器里面的进程的PID打开任务管理器–查看—选择列—PID勾选就可以显示进程的标示符PID th32DefaultHeapID 进程默认堆ID这个成员已经很久没有使用总是设置为零。 th32ModuleID 进程模块ID这个成员已经很久没有使用总是设置为零。 cntThreads 此进程开启的线程计数这个成员执行线程开始的进程。 th32ParentProcessID 父进程的ID。 pcPriClassBase .线程优先权当前进程创建的任何一个线程的基础优先级即在当前进程内创建线程的话其基本优先级的值。 dwFlags 这个成员已经很久没有使用总是设置为零。 szExeFile 一个数组进程全名进程的可执行文件名称。要获得可执行文件的完整路径应调用Module32First函数再检查其返回的MODULEENTRY32结构的szExePath成员。但是如果被调用进程是一个32位程序您必须调用QueryFullProcessImageName函数去获取64位进程的可执行文件完整路径名。 CreateToolHelp32Snapshot函数 函数作用 列出所有进程需要调用CreateToolHelp32Snapshot函数先得到系统进程快照的句柄函数包含在tlhelp32.h头中。 函数声明 HANDLE_WINAPI CreateToolHelp32Snapshot(DWORD dwFlags,DWORD th32ProcessID);参数说明 dwFlags指定了获取系统进程快照的类型 th32ProcessID指向要获取进程快照的ID获取系统内所有进程快照时是0 函数返回值 如果函数调用成功返回快照句柄否则返回INVALID_HANDLE_VALUE。 Process32Next函数 函数作用 再调用Process32Next函数列出系统中其它进程 函数原型 BOOL Process32Next(HANDLE hSnapshot,LPROCESSENTRY32 lppe);参数说明 其中hSnapshot是由CreateToolHelp32Snapshot函数返回的系统进程快照的句柄 而lppe是指向PROCESSENTRY的结构体指针进程的详细信息保存在结构体中。 OpenProcess 函数 函数作用 OpenProcess 函数用来打开一个已存在的进程对象并返回进程的句柄。 函数原型 HANDLE OpenProcess( DWORD dwDesiredAccess, BOOL bInheritHandle, DWORD dwProcessId );参数说明 1.dwDesiredAccess想拥有的该 进程访问权限 PROCESS_ALL_ACCESS //所有能获得的权限 PROCESS_CREATE_PROCESS //需要创建一个进程 PROCESS_CREATE_THREAD //需要创建一个线程 PROCESS_DUP_HANDLE //重复使用DuplicateHandle句柄 PROCESS_QUERY_INFORMATION //获得进程信息的权限如它的退出代码、优先级 PROCESS_QUERY_LIMITED_INFORMATION /获得某些信息的权限如果获得了PROCESS_QUERY_INFORMATION也拥有PROCESS_QUERY_LIMITED_INFORMATION权限/ PROCESS_SET_INFORMATION //设置某些信息的权限如进程优先级 PROCESS_SET_QUOTA //设置内存限制的权限使用SetProcessWorkingSetSize PROCESS_SUSPEND_RESUME //暂停或恢复进程的权限 PROCESS_TERMINATE //终止一个进程的权限使用TerminateProcess PROCESS_VM_OPERATION //操作进程内存空间的权限(可用VirtualProtectEx和WriteProcessMemory) PROCESS_VM_READ //读取进程内存空间的权限可使用ReadProcessMemory PROCESS_VM_WRITE //读取进程内存空间的权限可使用WriteProcessMemory SYNCHRONIZE //等待进程终止 2.bInheritHandle表示所得到的进程句柄是否可以被继承 3.dwProcessId被打开进程的PID 返回说明 如成功返回值为指定进程的句柄。 如失败返回值为NULL可调用GetLastError()获得错误代码。 TerminateProcess函数 函数作用 个函数可以用来终止或者说杀死一个进程它不会留给进程及其所有线程清理的时间系统会马上终止(杀死)这个进程的所有线程致使进程终止。在使用此函数前我们必须要调用OpenProcess函数来获得我们要终止(杀死)进程的句柄并且要获得进程的PROCESS_TERMINATE权限。 函数原型 BOOL TerminateProcess(HANDLE hProcess,UINT uExitCode)参数说明 1、hProcess要终止(杀死)进程的句柄需要有PROCESS_TERMINATE权限。 2、uExitCode设置进程的退出值。可通过GetExitCodeProcess函数得到一个进程的退出值。 返回值说明 如果失败将返回FALSE(0)而成功将返回一个非零值。 注不要用if(retTRUE)去检测函数是否调用成功因为函数调用成功会返回一个非零值但不一定是TRUE(1) CloseHandle函数 函数原型 BOOL CloseHandle(HANDLE hObject);参数说明 hObject 代表一个已打开对象handle。 返回值说明 TRUE执行成功 FALSE执行失败可以调用GetLastError()获知失败原因。    函数说明   关闭一个内核对象。其中包括文件、文件映射、进程、线程、安全和同步对象等。在CreateThread成功之后会返回一个hThread的handle且内核对象的计数加1CloseHandle之后引用计数减1当变为0时系统删除内核对象。   若在线程执行完之后没有调用CloseHandle在进程执行期间将会造成内核对象的泄露相当于句柄泄露但不同于内存泄露这势必会对系统的效率带来一定程度上的负面影响。但当进程结束退出后系统会自动清理这些资源。
http://www.hkea.cn/news/14334976/

相关文章:

  • 中文logo设计网站湖南seo优化哪家好
  • 网站设计与管理的软件提高网站安全性
  • 免费 企业网站管理系统申论万能模板
  • 网站申请备案流程友情网站
  • 用vs2013做网站案例广告发布包括哪些
  • 反馈网站制作wordpress的分类id
  • 网站搭建系列教程杭州洛可可设计公司
  • 钦州网站建设公司大学生创新项目申报书 做网站
  • 旅游类网站建设教案wordpress 主题更改语言包
  • 网站建设优化重庆佛山网站建设设计
  • 便宜旅游机票网站建设wordpress搜索框插件
  • 各省备案网站拉企业做网站好干吗
  • 优秀网站网页设计免费私人网站建设平台
  • 电子商务网站开发进什么科目开源镜像网站怎么做
  • 网站主页面设计模板郑州网站建设 智巢
  • 首钢建设二建设公司网站网址导航哪个好
  • 做网站需要写程序wordpress 页面和分类目录
  • 盐城公司做网站猪八戒网站建设公司
  • 贵阳网站设计多少钱清远住房和城乡建设局网站
  • 徐州东站微网站制作提供商推荐
  • eclipse做购物网站phpcms v9 网站建设设计制作网络科技模板
  • 网站布局内容58同城招聘网 找工作
  • 顺的网站建设报价centos 如何建立网站
  • 视频微网站开发小程序哪家公司代理
  • 旅游网站设计论文摘要百度广告电话号码是多少
  • 网站推广软件免费版下载wordpress积分充值
  • 怎么增加网站反链vs网站开发建表怎么肩啊
  • 郑州做网站齿轮广告设计与制作专升本考试科目
  • 网站建设网站的好处建筑人才网app下载
  • 怎么做套板网站公司要找网站公司