سألت فى موضوع سابق عن التأكد ما اذا كان برنامج معين يعمل ام لا و اخى Mr B لم يقصر ف الاجابه لكن الان هل يمكن تعديل الكود الذى اعطاه لى او كتابه غيره للتحصول على عنوان النافذه من خلال ال process name لها
مثال للتوضيح
مدخلات البرنامج : notepad.exe
المخرجات : New Text Document - Notepad ( بفرض ان هناك ملف نصى بهذا الاسم مفتوح بواسطه ال نوت باد )
كود Mr B
#define UNICODE
#include <Windows.h>
#include <TlHelp32.h>
#include <stdio.h>
int
main(void)
{
HANDLE Snapshot;
Snapshot = CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS, 0);
if(Snapshot != INVALID_HANDLE_VALUE) {
PROCESSENTRY32 ProcessEntry;
BOOL Succeed;
ProcessEntry.dwSize = sizeof(PROCESSENTRY32);
Succeed = Process32First(Snapshot, &ProcessEntry);
while(Succeed) {
if(lstrcmp(ProcessEntry.szExeFile, L"notepad.exe") == 0) {
printf("notepad.exe found, id %ld\n", ProcessEntry.th32ProcessID);
}
Succeed = Process32Next(Snapshot, &ProcessEntry);
}
CloseHandle(Snapshot);
}
return 0;
}ملحوظه : السؤال لغرض تعليمى لا للاستخدام فى عمل برنامج ,, بمعنى انى لم اخالف قوانين المنتدى