写一个基于对话框的MFC程序,目的是监视另外一个.exe程序是否正在运行,如果运行,则什么也不做,
如果被监视的程序没有运行,则启动它,让它运行。
不知道该怎么做,用到什么东西?
如果被监视的程序没有运行,则启动它,让它运行。
不知道该怎么做,用到什么东西?
解决方案 »
- 关于float精度问题,如何使float成为指针
- 虚拟键盘的问题
- 对话框的Picture控件重绘
- 这是怎么搞得啊,怎么全是我那个帖子???
- 创建一个AtlAxWin窗口不成功? 请教
- BHO中,如何禁止javascript和vbscript的运行啊?
- 关于得到程序路径的问题!
- 在网络抓包程序中完成IP到域名的转换
- 为什么在vista business 版本中不能运行directshow程序?
- 如何使用CListCtrl::SetBkImage
- 请大家给介绍一下,北京好的租房网站。跟贴有分,对自己将来找房也很有帮助。(那种收费的不算,都是黑心的中介)
- 如何创建一个程序只在后台运行,在前面看不到它.在进程里面能看到它在运行?
怎么没人理了,应该不难的吧?
还有没有人在啊?
自己Uping
如果不存在,就是用ShellExecute启动它 HINSTANCE ShellExecute(
HWND hwnd, //父窗口句柄
LPCTSTR lpOperation, //操作, 打开方式"edit","explore","open","find","print","NULL" LPCTSTR lpFile, //文件名,前面可加路径
LPCTSTR lpParameters, //参数
LPCTSTR lpDirectory, //默认文件夹
INT nShowCmd //显示方式);
使用方法如下:
ShellExecute(NULL,"open","C:\\Test.txt",NULL,NULL,SW_SHOWNORMAL); // 打开C:\Test.txt 文件
ShellExecute(NULL, "open", "http://www.google.com", NULL, NULL, SW_SHOWNORMAL); // 打开网页www.google.com
ShellExecute(NULL,"explore", "D:\\C++",NULL,NULL,SW_SHOWNORMAL); // 打开目录D:\C++
ShellExecute(NULL,"print","C:\\Test.txt",NULL,NULL, SW_HIDE); // 打印文件C:\Test.txt
--------
有别的方法!---需要有个定量,如参数,
static CWnd* PASCAL FindWindow(
LPCTSTR lpszClassName, // 类名,用SPY++可以看到,
LPCTSTR lpszWindowName // 必须是不变的,也是唯一的!
);
是什么意思了?
谢谢楼上的
#include <windows.h>
#include <tlhelp32.h>
#include <stdio.h>BOOL IsExeInProcess( )
{
BOOL bRet = FALSE;
HANDLE hProcessSnap;
PROCESSENTRY32 pe32; // Take a snapshot of all processes in the system.
hProcessSnap = CreateToolhelp32Snapshot( TH32CS_SNAPPROCESS, 0 );
if( hProcessSnap == INVALID_HANDLE_VALUE )
{
return( FALSE );
}
pe32.dwSize = sizeof( PROCESSENTRY32 ); if( !Process32First( hProcessSnap, &pe32 ) )
{
printError( "Process32First" ); // Show cause of failure
CloseHandle( hProcessSnap ); // Must clean up the snapshot object!
return( FALSE );
} do
{
printf( "\n\n=====================================================" );
printf( "\nPROCESS NAME: %s", pe32.szExeFile );
printf( "\n-----------------------------------------------------" ); if(stricmp(pe32.szExeFile, "yourexe.exe") == 0)
{
bRet = TRUE;
break;
}
} while( Process32Next( hProcessSnap, &pe32 ) ); CloseHandle( hProcessSnap );
return bRet;
}