1. 程式人生 > >windows上如何判斷一個程序是否正在執行

windows上如何判斷一個程序是否正在執行

很多時候我們做開發時涉及多個程序間互相配合才能完成一些任務,資料互動可以考慮共享記憶體、本地socket、檔案,操作同步或互斥可以考慮訊號量,但是這些的前提是你另一個程序存在你才能正常執行,那麼怎麼判斷另一個程序是否存在呢?下面的程式碼就可以根據程序名稱去判斷任意一個程序是否正在執行。如引數為"QQ.exe",就可以判斷QQ是否正在運行了。

bool IsProcessRun(char *pName)
{
	HANDLE hProcessSnap;
	HANDLE hProcess;
	PROCESSENTRY32 pe32;
	DWORD dwPriorityClass;

	bool bFind = false;
	// Take a snapshot of all processes in the system.
	hProcessSnap = CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS, 0);
	if (hProcessSnap == INVALID_HANDLE_VALUE)
	{
		return false;
	}

	// Set the size of the structure before using it.
	pe32.dwSize = sizeof(PROCESSENTRY32);

	// Retrieve information about the first process,
	// and exit if unsuccessful
	if (!Process32First(hProcessSnap, &pe32))
	{
		CloseHandle(hProcessSnap);          // clean the snapshot object
		return false;
	}

	// Now walk the snapshot of processes, and
	// display information about each process in turn
	do
	{
		// Retrieve the priority class.
		dwPriorityClass = 0;
		if (::strstr(pe32.szExeFile, pName) != NULL)
		{
			bFind = true;
			break;
		}
	} while (Process32Next(hProcessSnap, &pe32));

	CloseHandle(hProcessSnap);
	return bFind;
}


相關推薦

windows如何判斷一個程序是否正在執行

很多時候我們做開發時涉及多個程序間互相配合才能完成一些任務,資料互動可以考慮共享記憶體、本地socket、檔案,操作同步或互斥可以考慮訊號量,但是這些的前提是你另一個程序存在你才能正常執行,那麼怎麼判斷另一個程序是否存在呢?下面的程式碼就可以根據程序名稱去判斷任意一個程序是

利用threading模組和queue模組在python3直譯器建立一個簡單的python執行緒池

python直譯器沒提供執行緒池模組,故在python3上自定義python執行緒池簡單版本,程式碼如下 #用threading queue 做執行緒池 import queueimport threadingclass ThreadPool(): def __init__(self,arg):#建

Java開發環境的安裝配置及在Eclipse一個Java程式的執行

首先,我們需要下載IDE開發環境,下面的網址 https://www.eclipse.org/downloads/download.php?file=/oomph/epp/2018-09/Ra/eclipse-inst-win64.exe 下載完成後,執行我們會看到下面的畫面 如果預設

如何在Windows製作一個包含.lib和.dll的Rust Crate包

製作釋出Rust Crate包 建立Rust lib工程: cargo new dbr --lib 在lib.rs中新增: pub mod reader; reader模組對應reader.rs檔案,所以需要建立reader.h, reader.c: //

linux下一個程序中多執行緒的資源共享

在說執行緒資源共享之前,我們先來說來說一下執行緒的概念,執行緒是程序內部的一條執行序列(即執行流),一個程序至少有一個執行緒,即main函式代表的執行流。當然我們也可以通過執行緒庫來建立新的執行緒,這種執行緒我們稱之為函式執行緒,同一個程序中的所有普執行緒是併發執行的。而這些

windows搭建一個SSH隧道Set up a Windows SSH tunnel in 10 minutes or less)

Here are step-by-step instructions for setting up a quick and dirty SSH tunnel to another network. This gives you the ability to connect to any machine an

windows使用vagrant,如何訪問執行在vagrant的工程

vagrantfile檔案中要有類似這一句 # accessing "localhost:8080" will access port 80 on the guest machine. config.vm.network "forwarded_port", gu

windows判斷磁碟是否為固態硬碟

遇到這個問題的時候首先就將windows的幾個直接獲取磁碟相關資訊的API函式給否決掉了,比如GetDiskType,返回型別只有幾個,並且固態硬碟作為新生事物,這個多年前就存在的API應該是不可能有相關資訊的。 下面就想到了WMI來獲取磁碟的相關資訊來判斷,WMI獲取的磁

MFC如何判斷一個程序已經存在

通俗的講,CreateMutex就是用來判定是否存在一個指定的程序。呵呵,這樣就很好理解了。【MFC】判斷一個指定的程序是否存在--CreateMutex() CreateMutex() 說明: 建立一個互斥體(MUTEX) 返回值: Long,如執行成功,就返回互斥體物件

windows 下在一個程序中使用createprocess建立一個視窗程序,並獲取這個視窗的HWND控制代碼

// Process.cpp : Defines the entry point for the console application. // #include "stdafx.h" #include <windows.h>  #include <ios

怎樣判斷一個exe可執行程序(dll文件)是32位的還是64位的

pan pad 一個 str exe inf 文件 dll文件 方式 看到一個比較簡單粗暴的方式,做個記錄。 直接用記事本或者notepad++(文本編輯軟件都可)打開exe文件(dll文件), 會有很多亂碼,接下來只需要在第二段中找到PE兩個字母,在其後的不遠出會出現

事務(程序 ID 66)與另一個程序被死鎖在 鎖 資源,並且已被選作死鎖犧牲品。請重新執行該事務

做Silverlight+domainservice+EF程式時,介面實時刷新出現的一個問題。 這個介面中的這幾個列表都是訪問同一個資料表,每隔10秒訪問一次。所以就在執行一段時間的時候出現死鎖的情況 查了查產生死鎖的原因,常見的死鎖情況,修改了一下程式碼   #regi

梯有N階,上樓可以一步一階,也可以一步二階。編寫一個程序,計算共有多少中不同的走法?

技術 告訴 不同的 mis misc 技術分享 blog main print c語言實現,小夥伴們誰要有更好的實現方法,要告訴我呦 #include int main(void) { int f,i,f1=1,f2=2; printf("請輸入樓梯數"); scanf(

最近開始努力學python 寫了一個python小代碼:判斷一個登陸程序,如果賬號密碼輸錯3次,鎖定賬號無法再登陸

登陸 readlines 輸入 連續 nbsp 努力 一個 取數據 lis 1 count = 0 2 username = ‘zhangsan‘ 3 userpassword = ‘111111‘ 4 5 f = open(‘lock.txt‘,‘r+‘

gcc和MinGW的異同(在cygwin/gcc做的東西可以無縫的用在linux下,沒有任何問題,是在windows下開發linux程序一個很好的選擇)

實現 o-c tool 交叉 lin 分析 模擬 gcc編譯器 還要 cygwin/gcc和MinGW都是gcc在windows下的編譯環境,但是它們有什麽區別,在實際工作中如何選擇這兩種編譯器。 cygwin/gcc完全可以和在linux下的gcc化做等號,這個可以從bo

一個程序判斷運行程序的系統的是大字節序還是小字節序

系統大小字節#include <stdio.h> void checkSystem() { union check { int i; char ch; }c; c.i = 1; if ((char)1 == c.ch)

windows快速調用自己寫的python小程序

python 密碼箱 工具制作 windows平臺上快速調用python程序 場景1:某雲平臺的賬號/或密碼比較長,一旦瀏覽器緩存失效,就要去郵件/文件查找,費時費力 場景2:由於某些場景,強制每N天更換密碼。簡單密碼箱,密碼保存,自動copy到粘貼板 場景3:python功能強大,寫了個小程序,

PHP判斷一個文件是否傳成功

表單 部分 input 錯誤 == 常量 blank name ech 查看原文 $_FILES[‘myFile‘][‘error‘] 和該文件上傳相關的錯誤代碼。[‘error‘] 是在 PHP 4.2.0 版本中增加的。 // 下面是它的說明:(它們在PHP3.0

判斷一個點是否在三角形內部和邊界

三角形 分享圖片 是否 一個點 是不是 邊界 頂點 判斷 面積 三角形三個頂點(x1,y1,z1),(x2,y2,z2),(x3,y3,z3) 判斷z(x0,y0,z0)是不是在三角形內部或邊界上 判斷有效面積 判斷一個點是否在三角形內部和邊界上

c#版的WinExecAndWait32,執行一個程序,等待他運行完畢,並回顯他的顯示

realtime services sage 參數 work lec tostring 簡單 這一 需要定義部分和執行部分,定義部分基本上是從delphi改過來的,把他另存命名為dWindows.cs,代碼如下: using System; using System.Co