① VC 关闭 进程
首先根据进程名找到该进程的ID,如已知某进程的进程名为Application.exe,可以用列举进程的办法找的该进程的ID(前提是系统中有且只有一个这样的进程):
HANDLE hProcessSnap;
TCHAR ProcessName[]="Application.exe"败前;
DWORD ProcessID=0x00;
hProcessSnap = CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS, 0);
if(hProcessSnap==INVALID_HANDLE_VALUE)
{
printf("列举进程失败\n");
return ;
}
PROCESSENTRY32 pe32;
pe32.dwSize = sizeof(pe32);
BOOL bProcess = Process32First(hProcessSnap, &pe32);
TCHAR buff[1024];
while(bProcess)
{
if(strcmp(ProcessName,pe32.szExeFile)==0)
{
ProcessID= pe32.th32ProcessID;
break;
}
memset(buff, 0x00, 1024);
bProcess=Process32Next(hProcessSnap, &pe32);
}
if(ProcessID==0)
{
printf("没有找到进程%s", ProcessName);
return;
}
然后把ProcessID作为参数,按照下面这篇文章所说的方法得到该进程的主窗口句柄:http://www.vckbase.com/document/viewdoc/?id=404
假设得到的句柄为pWnd,然后直接向该窗口发送关闭消息即可:
pWnd->PostMessage(WM_CLOSE); //这种方法是让目标进程自己退出,所以属于安全退出
一般程序会默认处理WM_CLOSE消息,所以当向一个进程的主窗口窗口发送WM_CLOSE消息时就可以关闭该进程,不信你可以试试用下面的代码向任务管理器发送WM_CLOSE消息:
HWND hwnd = ::FindWindow("#32770","Windows 任务管理器");
if(hwnd)
{
::PostMessage(hwnd , WM_CLOSE, 0, 0);
}
要想让被关闭程序在退出之前完成当前任务,则只有在被关闭程序中添加WM_CLOSE的消息函数OnClose(),在里庆乎面作出规定:只有在完成任务后才能退出。
希望能帮察差清到你
② 如何用c#遍历wince进程并终止指定进程
用WMI遍历...
Imports System
Imports System.Management
Imports System.Windows.Forms
Namespace VBdotNetExample
Public Class MyWMIQuery
Public Overloads Shared Function Main() As Integer
Try
Dim searcher As New ManagementObjectSearcher( _
"root\CIMV2", _
"SELECT * FROM Win32_Process")
For Each queryObj As ManagementObject in searcher.Get()
Console.WriteLine("-----------------------------------")
Console.WriteLine("Win32_Process instance")
Console.WriteLine("-----------------------------------")
Console.WriteLine("ProcessId: {0}", queryObj("ProcessId"))
Next
Catch err As ManagementException
MessageBox.Show("An error occurred while querying for WMI data: " & err.Message)
End Try
End Function
End Class
End Namespace
③ WinCE操作系统中,在DOS命令提示符里可以结束进程吗WnCE里没有类似任务管理器的东西。谢谢!
DOS下可以结束进程,但是必须要有进程的PID号,不过你连任务管理器都没。。我也没办法了
④ windows ce关闭自启动
WinCE实现开机自启动应用程序有两种方法:
a). AutoRun文件夹启动
./ 在WinCE系统内 ”FlashDisk” 目录下,或者外部SD/USB盘根目录下,创建名为 ”AutoRun” 的目录,将所需要开机启动的应用放进去即可,“Launcher.exe”每次开机或者外部SD/USB盘插入时候会自动执行这个目录里面的程序。
./ “AutuRun” 文件夹里面的应用程序可以直接是可执行程序(.exe),也可以是快捷方式(.lnk),或者是批处理文件(.bat)。如何在WinCE下创建快捷方式请参考这里。
./ 最后,如果同时需要隐藏WinCE原始桌面,请如下修改注册表;如需重新恢复桌面,请参考这里。
⑤ 如何关闭WINCE系统内的任意进程
那些是烧录的rom文件,没法增删,即使改动了,下次重启有还原了。