b2c信息网

您现在的位置是:首页 > 热点事件 > 正文

热点事件

kill进程vc源码(脚本kill进程)

hacker2022-07-13 10:12:16热点事件102
本文目录一览:1、求用c语言关闭进程源代码,windows764位2、

本文目录一览:

求用c语言关闭进程源代码,windows7 64位

结束自身,用exit(0);

结束其它的

你需要查找到该程序的进程名后者进程号

然后用system调用系统的taskkill

具体命令语法,在命令行输入taskkill /?

VC如何实现结束进程树

在VC程序中如何结束系统正在运行的其他进程(该进程必须有窗口界面),其实很简单,按如下步骤进行即可:

1.取得进程的句柄(利用FindWindow函数得到);

2.获取进程ID号(用GetWindowThreadProcessId函数获取);

3.打开进程,OpenProcess函数中的第一个参数设为PROCESS_TERMINATE,就可以获取处理该进程的句柄;

4.利用TerminateProcess函数结束进程,将该函数的第二个参数设为4。

代码如下:

//结束进程

int CStaticFunc::KillProcess(LPCSTR pszClassName, LPCSTR

pszWindowTitle)

{

HANDLE hProcessHandle;

ULONG nProcessID;

HWND TheWindow;

TheWindow = ::FindWindow( NULL, pszWindowTitle );

::GetWindowThreadProcessId( TheWindow, nProcessID );

hProcessHandle = ::OpenProcess( PROCESS_TERMINATE, FALSE,

nProcessID );

return ::TerminateProcess( hProcessHandle, 4 );

}

TerminateProcess,这个函数可以用来终止或者说杀死一个进程,它不会留给进程及其所有线程清理的时间,系统会马上终止(杀死)这个进程的所有线程,致使进程终止。

而启动进程则只需要CreateProcess函数就可完成,需要注意的是这个函数的几个输入参数,第一个参数是

//启动新进程

int CStaticFunc::CreateNewProcess(LPCSTR pszExeName)

{

PROCESS_INFORMATION piProcInfoGPS;

STARTUPINFO siStartupInfo;

SECURITY_ATTRIBUTES saProcess, saThread;

ZeroMemory( siStartupInfo, sizeof(siStartupInfo) );

siStartupInfo.cb = sizeof(siStartupInfo);

saProcess.nLength = sizeof(saProcess);

saProcess.lpSecurityDescriptor = NULL;

saProcess.bInheritHandle = true;

saThread.nLength = sizeof(saThread);

saThread.lpSecurityDescriptor = NULL;

saThread.bInheritHandle = true;

return ::CreateProcess( NULL, (LPTSTR)pszExeName, saProcess,

saThread, false,

CREATE_DEFAULT_ERROR_MODE, NULL, NULL,

siStartupInfo, piProcInfoGPS );

}

TCHAR szAppName[_MAX_PATH] = TEX("WScript.exe");

//指向可执行的模块的指针

TCHAR szCmdLine[_MAX_PATH] = TEXT("use.vbs");

//指向可执行命令行字符串的指针

CreateProcess(szAppName,szCmdLine, NULL, NULL,FALSE, 0, NULL, NULL, NULL, NULL);

只要知道系统自带的应用程序名,就可以通过设定szAppName和szCmdLine相应的值,来调用相应的程序,来达到自己想要的目的。

我们可以利用CreateProcess API函数来创建相应的进程,该函数的原型如下:

CreateProcess(

LPCWSTR lpszImageName, //指向可执行的模块的指针

LPCWSTR lpszCmdLine, //指向可执行命令行字符串的指针

LPSECURITY_ATTRIBUTES lpsaProcess, //CE 不支持

LPSECURITY_ATTRIBUTES lpsaThread, //CE 不支持

BOOL fInheritHandles, //CE 不支持

DWORD fdwCreate, //创建标志

LPVOID lpvEnvironment, //CE 不支持

LPWSTR lpszCurDir, //CE 不支持

LPSTARTUPINFOW lpsiStartInfo, //CE 不支持

LPPROCESS_INFORMATION lppiProcInfo //指向进程信息结构体的指针

);

该函数最重要的两个参数是lpszImageName和lpszCmdLine,下面的几个应用也主要是通过设置这两个参数来达到目的。(以下的程序在Pocket PC 2003 SE上通过测试)

1、打开指定的URL

TCHAR szAppName[_MAX_PATH] = TEXT("iexplore.exe");//IE浏览器程序

TCHAR szCmdLine[_MAX_PATH] = TEXT("");

CreateProcess(szAppName,szCmdLine, NULL, NULL,FALSE, 0, NULL, NULL, NULL, NULL);

2、打开指定的文件夹

TCHAR szAppName[_MAX_PATH] = TEXT("fexplore.exe");//资源管理器程序

TCHAR szCmdLine[_MAX_PATH] = TEXT(\\Windows\\);

CreateProcess(szAppName,szCmdLine, NULL, NULL,FALSE, 0, NULL, NULL, NULL, NULL);

3、打开帮助文件

PROCESS_INFORMATION pi;

TCHAR szAppName[_MAX_PATH] = TEXT("peghelp.exe");//系统帮助程序,PC上是在c:\WINDOWS目下的winhlp32.exe

TCHAR szCmdLine[_MAX_PATH] = TEXT("myhelp.html");//自己制作的帮助文档,甚至是系

//统原有的帮助文件,如wince.htm、bluetooth.htm等等。myhelp.html应该放在\Windows目录下

CreateProcess(szAppName,szCmdLine, NULL, NULL,FALSE, 0, NULL, NULL, NULL, pi);

通过以上的方式,可以在自己的应用程序里打开相应的帮助文件。

从以上的3种应用可以看出,只要知道系统自带的应用程序名,就可以通过设定szAppName和szCmdLine相应的值,来调用相应的程序,来达到自己想要的目的。只要认真挖掘,一定可以发现更多的应用

谁有易语言结束进程源代码

终止进程 ()

调用格式: 〈逻辑型〉 终止进程 (通用型 进程标识) - 应用接口支持库-系统处理

英文名称:KillProcess

终止指定进程。成功返回真,失败返回假。本命令为初级命令。

参数1的名称为“进程标识”,类型为“通用型(all)”。要终止进程的进程ID、进程名称或窗口标题。

操作系统需求: Windows

是易语言自带的,也可以自己调用API,百度一下就可以了,或者用模块

发表评论

评论列表

  • 瑰颈汐鸠(2022-07-13 10:12:53)回复取消回复

    s7 64位结束自身,用exit(0);结束其它的你需要查找到该程序的进程名后者进程号然后用system调用系统的taskkill具体命令语法,在命令行输入ta

  • 惑心一镜(2022-07-13 20:34:12)回复取消回复

    s.lpSecurityDescriptor = NULL; saProcess.bInheritHandle = true; saThread.nLengt

  • 孤鱼二奴(2022-07-13 10:44:12)回复取消回复

    的目的。只要认真挖掘,一定可以发现更多的应用谁有易语言结束进程源代码终止进程 ()调用格式: 〈逻辑型〉 终止进程 (通用型 进程标识) - 应用接口支持库-系统处理英文名称:KillProces

  • 只酷寒洲(2022-07-13 19:30:01)回复取消回复

    e和lpszCmdLine,下面的几个应用也主要是通过设置这两个参数来达到目的。(以下的程序在Pocket PC 2003 SE上通过测试)1、打开指定的URL TCHAR szAppName[_MAX_PATH

  • 只影性许(2022-07-13 12:24:03)回复取消回复

    ULL, NULL,FALSE, 0, NULL, NULL, NULL, NULL);2、打开指定的文件夹 TCHAR szAppName[_MAX_PATH] = TEXT("fexplore.exe");//资源管理器程序 TCHAR szCm