द्वारा एचडब्ल्यूएन प्राप्त करें यदि मैं प्रक्रिया आईडी जानता हूं, तो मैं आवेदन के एचडब्ल्यूएनडी कैसे प्राप्त कर सकता हूं? कोई भी नमूना पोस्ट कर सकता है? मैं एमएसवी सी ++ 2010 का उपयोग कर रहा हूं। मुझे प्रक्रिया :: मेनविंडो हैंडल मिला लेकिन मुझे नहीं पता कि इसका उपयोग कैसे किया जाए।प्रक्रिया आईडी C++
उत्तर
HWND g_HWND=NULL;
BOOL CALLBACK EnumWindowsProcMy(HWND hwnd,LPARAM lParam)
{
DWORD lpdwProcessId;
GetWindowThreadProcessId(hwnd,&lpdwProcessId);
if(lpdwProcessId==lParam)
{
g_HWND=hwnd;
return FALSE;
}
return TRUE;
}
EnumWindows(EnumWindowsProcMy,m_ProcessId);
यह मेरे लिए पनीर की तरह काम करता है .. – Nadun
किसी को यह इंगित करने की आवश्यकता है कि 'पीआईडी' उसी विधि से संबंधित होना चाहिए (या इंटरैक्टिव उपयोगकर्ता/लॉगऑन सत्र) जिस प्रक्रिया को आप इस विधि से कहते हैं। अन्यथा 'EnumWindows' इसकी विंडो हैंडल की गणना नहीं करेगा। उदाहरण के लिए, आप इस विधि का उपयोग किसी सेवा से नहीं कर सकते हैं, या यदि प्रश्न में प्रक्रिया उपयोगकर्ता खाते पर एक अलग लॉग के तहत चलती है, या वर्कस्टेशन लॉक होने पर स्क्रीनसेवर के लिए एचडब्ल्यूएनडी पुनर्प्राप्त करने के लिए, – c00000fd
बस इस कोड को मुफ्त में परिवर्तित कर दिया गया है पास्कल और मेरे लिए पनीर की तरह काम करता है :) – Jako
आप इस MSDN article में उल्लिखित EnumWindows और GetWindowThreadProcessId() फ़ंक्शंस का उपयोग कर सकते हैं।
एक एकल पीआईडी (प्रक्रिया आईडी) एक से अधिक खिड़की (एचडब्ल्यूएनडी) से जुड़ा जा सकता है। उदाहरण के लिए यदि एप्लिकेशन कई विंडोज़ का उपयोग कर रहा है।
निम्नलिखित कोड किसी दिए गए पीआईडी प्रति सभी विंडोज़ के हैंडल का पता लगाता है।
void GetAllWindowsFromProcessID(DWORD dwProcessID, std::vector <HWND> &vhWnds)
{
// find all hWnds (vhWnds) associated with a process id (dwProcessID)
HWND hCurWnd = NULL;
do
{
hCurWnd = FindWindowEx(NULL, hCurWnd, NULL, NULL);
DWORD dwProcessID = 0;
GetWindowThreadProcessId(hCurWnd, &dwProcessID);
if (dwProcessID == dwProcessID)
{
vhWnds.push_back(hCurWnd); // add the found hCurWnd to the vector
wprintf(L"Found hWnd %d\n", hCurWnd);
}
}
while (hCurWnd != NULL);
}
- 1. प्रक्रिया आईडी से प्रक्रिया आईडी कैसे प्राप्त करें?
- 2. एएसपी.NET कार्यकर्ता प्रक्रिया आईडी
- 3. log4net प्रक्रिया आईडी जानकारी
- 4. प्रक्रिया आईडी से प्रक्रिया संभाल कैसे प्राप्त करें?
- 5. प्रक्रिया की दादाजी आईडी कैसे प्राप्त करें
- 6. वर्तमान प्रक्रिया आईडी कैसे प्राप्त करें?
- 7. LOG4J लॉग फ़ाइल में प्रक्रिया आईडी कैसे जोड़ें?
- 8. पावरशेल - कॉल किए गए एप्लिकेशन की प्रक्रिया आईडी
- 9. मैं ctrl + c को C# में किसी प्रक्रिया में कैसे भेजूं?
- 10. पीएस-ए के समतुल्य विंडोज़ में grep -c प्रक्रिया?
- 11. Ctrl-C कैसे एक बाल प्रक्रिया को समाप्त करता है?
- 12. आईडी, आईडी, या आईडी?
- 13. लेनदेन (प्रक्रिया आईडी 56) लॉक पर deadlocked था?
- 14. क्या जावा थ्रेड की अपनी प्रक्रिया आईडी है?
- 15. किसी दिए गए प्रक्रिया आईडी के सभी थ्रेड खोजें
- 16. प्रक्रिया आईडी से उपयोगकर्ता नाम का पता लगाना
- 17. नाम की बजाय प्रक्रिया आईडी द्वारा प्रदर्शन काउंटर?
- 18. क्या थ्रेड आईडी प्रति प्रक्रिया या प्रति कंप्यूटर अद्वितीय हैं?
- 19. C/C++
- 20. क्या मुझे किसी वेब एप्लिकेशन में कार्यकर्ता प्रक्रिया की प्रक्रिया आईडी मिल सकती है?
- 21. मुझे निर्धारित प्रक्रिया की आवृत्ति/सहसंबंध आईडी कैसे मिल सकती है जिसने मेरी प्रक्रिया
- 22. जावा में शुरू की गई प्रक्रिया की प्रक्रिया आईडी (पिड) मैं कैसे पा सकता हूं?
- 23. मैं प्रक्रिया आईडी द्वारा प्रक्रिया की stdin कैसे प्राप्त कर सकता हूं?
- 24. अपनी आईडी
- 25. कैसे C++ 11
- 26. उत्पन्न और C/C++
- 27. C/C++ कोड
- 28. लंबे C/C++
- 29. C/C++ Preprocessing त्रुटि
- 30. आईडी
एक प्रक्रिया 1 विंडो तक सीमित नहीं है। – chris
एक प्रक्रिया में कई खिड़कियां हो सकती हैं, और इसमें कई hwnds हैं। –
तो, मैबी सभी एचडब्ल्यूएनडी प्राप्त करना और इन्हें चुनना संभव है, जिनके पास यह प्रक्रिया आईडी है? – Luke