Ein programm das abfragen soll ob eine bestimmte .exe läuft
-
Also ich habe schon 1-2 Jahre Erfahrung mit
C++
habe mich aber noch nie mit Sachen wie dem hier beschäftigt also:
Ich wollte ein Programm schreiben das abfragt ob die (ich schreib jetzt die .exe die ich abfragen soll hin) arma2oa.exe läuft und das soll dann noch in eine .dll rein aber ich weiss nicht wie ich das machen soll den ich hab mich met dem teil von Programmieren noch nciht beschäftigt und ich hab auch schon das gegooglet aber hab nichts was mir hilft gefunden.
Danke für die Antworten im Vorraus
-
du solltest dich mit der PSAPI.lib und deren Funktionen beschäftigen dann kommst du zumindest was die auflistung der laufenden Prozesse angeht zum ziel und wie man eine DLL erstellt sollte es genügend beispiele im netz geben
-
Hallo ,
das machst Du so:
#include "winperf.h" #include <tlhelp32.h> bool CCamInspectSvrApp::DoublicateInstance(void) { typedef HANDLE (WINAPI *PFN_CREATETHELP32SNPSHT)(DWORD,DWORD); typedef BOOL (WINAPI *PFN_PROCESS32FIRST)(HANDLE,PROCESSENTRY32*); typedef BOOL (WINAPI *PFN_PROCESS32NEXT)(HANDLE,PROCESSENTRY32*); PFN_CREATETHELP32SNPSHT fnCreateToolhelp32Snapshot; PFN_PROCESS32NEXT fnProcess32Next; PFN_PROCESS32FIRST fnProcess32First; HMODULE hWin95Kernel=GetModuleHandle(_T("kernel32.dll")); if(!hWin95Kernel) return false; if(!(fnCreateToolhelp32Snapshot=(PFN_CREATETHELP32SNPSHT)GetProcAddress(hWin95Kernel,"CreateToolhelp32Snapshot")) ) return false; if(!(fnProcess32First=(PFN_PROCESS32FIRST)GetProcAddress(hWin95Kernel,"Process32First")) ) return false; if(!(fnProcess32Next=(PFN_PROCESS32NEXT)GetProcAddress(hWin95Kernel,"Process32Next")) ) return false; PROCESSENTRY32 process;process.dwSize=sizeof(PROCESSENTRY32); HANDLE handle = fnCreateToolhelp32Snapshot(TH32CS_SNAPPROCESS,0); if(!handle) return false; LPCSTR pAppName=AfxGetApp()->m_pszAppName; int n=0; fnProcess32First(handle,&process); do { if(!strncmp(process.szExeFile,pAppName,strlen(pAppName))) if(++n > 1) return true; }while(fnProcess32Next(handle,&process)); return false; }
-
kahn schrieb:
Hallo ,
das machst Du so:
#include "winperf.h" #include <tlhelp32.h> bool CCamInspectSvrApp::DoublicateInstance(void) { typedef HANDLE (WINAPI *PFN_CREATETHELP32SNPSHT)(DWORD,DWORD); typedef BOOL (WINAPI *PFN_PROCESS32FIRST)(HANDLE,PROCESSENTRY32*); typedef BOOL (WINAPI *PFN_PROCESS32NEXT)(HANDLE,PROCESSENTRY32*); PFN_CREATETHELP32SNPSHT fnCreateToolhelp32Snapshot; PFN_PROCESS32NEXT fnProcess32Next; PFN_PROCESS32FIRST fnProcess32First; HMODULE hWin95Kernel=GetModuleHandle(_T("kernel32.dll")); if(!hWin95Kernel) return false; if(!(fnCreateToolhelp32Snapshot=(PFN_CREATETHELP32SNPSHT)GetProcAddress(hWin95Kernel,"CreateToolhelp32Snapshot")) ) return false; if(!(fnProcess32First=(PFN_PROCESS32FIRST)GetProcAddress(hWin95Kernel,"Process32First")) ) return false; if(!(fnProcess32Next=(PFN_PROCESS32NEXT)GetProcAddress(hWin95Kernel,"Process32Next")) ) return false; PROCESSENTRY32 process;process.dwSize=sizeof(PROCESSENTRY32); HANDLE handle = fnCreateToolhelp32Snapshot(TH32CS_SNAPPROCESS,0); if(!handle) return false; LPCSTR pAppName=AfxGetApp()->m_pszAppName; int n=0; fnProcess32First(handle,&process); do { if(!strncmp(process.szExeFile,pAppName,strlen(pAppName))) if(++n > 1) return true; }while(fnProcess32Next(handle,&process)); return false; }
1.) danke für deine info
2.) könntest du mir das ein bisschen erklären
3.) was ist das dür ne sprache
4.) wo muss ich denn die gesuchte .exe eintragen
-
-
kahn schrieb:
Wenn ich das was die da geschrieben haben dann regnet es nur von Fehlern bei mir könntest du mir da pls helfen
-
Nein , dann mach erst was anderes Du bist noch nicht so weit.