घर
Top.Mail.Ru Yandeks.Metrika
फोरम: "विनएपीआई";
वर्तमान संग्रह: 2004.12.12;
डाउनलोड करें: [xml.tar.bz2];

नीचे

रिमोट कंट्रोल इसी तरह की शाखाएँ खोजें


Роман   (2004-10-25 12:16) [0]

सभी को नमस्कार।
मेरा एक सवाल है। यह कोड एक विंडो के लिए दिखना चाहिए, फिर उस पर एक बटन। हालाँकि, बटन स्थित नहीं है।
जबकि HndBtn = 0 करते हैं HndBtn: = FindWindowEx (HndDialog, 0, "Button", "OK"); अगर (HndBtn <> 0) और (io <> 0) तब शुरू करना IdBtn: = GetDlgCtrlID (HndBtn); अगर IdBtn <> 0 तो शुरू करना SendMessage (HndAsc, WM_Command, MakeWParam (IdBtn, BN_CLICKED), HndBtn); अंत; अंत; <\ code>



4e6ypaTop _@(o,o)@_ ©   (2004-10-25 12:44) [1]

यह कोशिश करो ...

प्रक्रिया ClickOnForm (wnd: HWND; कैप्शन: स्ट्रिंग); वर TheChildHandle: HWND; शुरू करना TheChildHandle: = FindWindowEx (wnd, 0, nil, PChar (कैप्शन)); SendMessage (TheChildHandle, WM_LButtonDown, 1,1); SendMessage (TheChildHandle, WM_LButtonUP, 1,1); अंत; प्रक्रिया TForm1.Button1 क्लिक करें (प्रेषक: TObject); वर wnd: HWND; कैप्शन: स्ट्रिंग; शुरू करना wnd: = GetTopWindow (0); दोहराना सेटलॉग्रोट (कैप्शन, गेटविंडोक्स्टलक्लिफ्ट (wnd)); GetWindowText (wnd, @ कैप्शन [1], लंबाई (कैप्शन) + 1); if (ट्रिम (कैप्शन) = pchar (edit1.text)) तो ClickOnForm (wnd, pchar (edit2.text)); wnd: = GetNextWindow (wnd, GW_HWNDNEXT); wnd = 0 तक; अंत;



Роман   (2004-10-25 13:32) [2]

और बटन की तलाश कहां है?



4e6ypaTop _@(o,o)@_ ©   (2004-10-25 13:38) [3]

बटन खोजा नहीं गया है, आप उसका नाम दर्ज करें (ठीक है, वह है, उसका कैप्शन) और वह यह है। और आपको बस किसी और की खिड़की और सभी चीजों के सभी बटन ढूंढने के लिए कुछ चाहिए?
FindWindowEx (HndDialog, 0, "Button" , "OK");
आप उदाहरण के लिए बटन या स्पीडबटन नहीं जानते हैं।



Роман   (2004-10-25 13:49) [4]

मुझे बटन के हैंडल को खोजने की जरूरत है, फिर उस पर क्लिक करें।



Unknown Mystic ©   (2004-10-25 14:07) [5]

और तुम भी खिड़की के लिए कैसे लग रहे हो? मैंने इसे अभी तक प्रोग्राम नहीं किया है, लेकिन MSDN ने इसे पहले ही पढ़ लिया है और मुझे इसकी आवश्यकता है:

WindowHandle: = FindWindow (nil, <फॉर्म हेडर>); ControlHandle: = FindWindowEx (WindowHandle, nil, "Button", <बटन हैडर>);
और फिर
SendMessage (ControlHandle, BM_CLICK, 1, 1);
या
SendMessage (ControlHandle, WM_LBUTTONDOWN, 1, 1); SendMessage (ControlHandle, WM_LBUTTONUP, 1, 1);
ठीक है, चेक जोड़ें ...

और यह भी, अगर आपको केवल ओके क्लिक करने की आवश्यकता है - आप कोशिश कर सकते हैं:
SendDlgItemMessage (WindowHandle, ID_OK, WM_LBUTTONDOWN, 1, 1); SendDlgItemMessage (WindowHandle, ID_OK, WM_LBUTTONUP, 1, 1);



Роман   (2004-10-25 14:17) [6]

मैं यही करता हूं, केवल फॉर्म खोज कोड जो मैंने याद किया है।
WinExec (PChar ("C: \ Program Files \ Common Files \ Borland Shared \ Database Desktop \ dbd32.exe"), 1); नींद (2000); Hnd: = FindWindow (nil, "Database Desktop"); यदि Hnd <> 0 तो शुरू करें windows.etForegroundWindow (Hnd); HndMen: = GetMenu (Hnd); HndSMen: = GetSubMenu (HndMen, 0); idMen: = GetMenuItemID (HndSMen, 7); अगर idMen <> 0 तो शुरू करें पोस्टमासेज (Hnd, WM_COMMAND, idMen, 0); जबकि HndDialog = 0 HndDialog करते हैं: = FindWindow (nil, "निजी निर्देशिका सेट करें)"; अगर HndDialog <> 0 तो शुरू करें // ब्राउज़ बटन के लिए देखो ... जबकि HndBtn = 0 HndBtn करते हैं: = FindWindowEx (HndDialog, 0, "बटन", "ब्राउज़ करें ..."); अगर (HndBtn <> 0) और (io <> 0) तब शुरू करना IdBtn: = GetDlgCtrlID (HndBtn); अगर IdBtn <> 0 तो शुरू करना SendMessage (HndAsc, WM_Command, MakeWParam (IdBtn, BN_CLICKED), HndBtn); अंत; अंत; बाहर निकलने के;
काम नहीं कर रहा है यानी यह काम करता है लेकिन बटन नहीं लगता है।



Роман   (2004-10-25 15:14) [7]

> 4e6ypaTop _ @ (o, o) @_
ClickOnForm प्रक्रिया में, चर TheChildHandle अपना मान कभी नहीं बदलता है। क्यों?



4e6ypaTop _@(o,o)@_ ©   (2004-10-25 16:48) [8]

उपन्यास (25.10.04 15: 14) [7]

क्योंकि प्रेषित मूल्य
TheChildHandle: = FindWindowEx (wnd, 0, nil, PChar (शीर्षक))
हमेशा उस विंडो का नाम जिसकी मुझे आवश्यकता है।



Unknown Mystic ©   (2004-10-25 17:52) [9]

>> रोमांस (25.10.04 14: 17) [6]

जबकि HndDialog = 0 HndDialog करते हैं: = FindWindow (nil, "निजी निर्देशिका सेट करें)"; जबकि HndBtn = 0 HndBtn करते हैं: = FindWindowEx (HndDialog, 0, "बटन", "ब्राउज़ करें ...");

अगर मैं गलत नहीं हूँ, जबकि यहाँ बेकार है।

तुमने पीछा किया? और वह दूसरी बार बैठी? यदि हाँ, तो कुछ अन्य बटन देखने की कोशिश करें, हो सकता है ब्राउज़ करें ... कहीं अंतराल।

>> रोमांस (25.10.04 15: 14) [7]

FindWindow या FindWindowEx को फिर से कॉल करने से आपको अगली विंडो उसी नाम से नहीं मिलेगी।



Роман   (2004-10-26 12:16) [10]

कोई बटन नहीं खोजा है। मुख्य बात यह है कि मेरे द्वारा डेल्फी में बनाए गए अनुप्रयोगों के साथ सब कुछ काम करता है। बाकी के साथ नहीं चाहता। शायद इसलिए कि मुझे अपने कार्यक्रमों में सही कैप्शन का पता है।
और जब मैं उसका उपयोग करता हूं, जबकि मैं मुख्य खिड़की को चलाता हूं, उसे तब तक खोजता हूं जब तक वह नहीं मिल जाता। इतनी दूर और इतने पर।



Unknown Mystic ©   (2004-10-27 14:28) [11]

आज मैंने कुछ ऐसा लिखने की कोशिश की। नियंत्रण देखने के लिए शीर्षक के तहत भी काम नहीं किया। मैंने अभी तक नहीं देखा कि क्या हो रहा था और एमएसडीएन में आगे खुदाई नहीं की।

एक विकल्प के रूप में, आप उपयोग करने का प्रयास कर सकते हैं
GetWindow (WindowHandle, GW_CHILD);
या
EnumChildWindows



पन्ने: 1 पूरी शाखा

फोरम: "विनएपीआई";
वर्तमान संग्रह: 2004.12.12;
डाउनलोड करें: [xml.tar.bz2];

ऊपर









मेमोरी: 0.6 एमबी
समय: 0.054 c
14-1101111170
कॉम्प
2004-11-22 11:12
2004.12.12
MacOS


1-1101354943
कौन है
2004-11-25 06:55
2004.12.12
दो कॉम्बो बॉक्स के फोंट को एक्सचेंज करना कितना आसान है?


6-1096645116
Stef
2004-10-01 19:38
2004.12.12
नेटवर्क स्कैनिंग और इसके साथ समस्याएं


14-1101212056
VictorT
2004-11-23 15:14
2004.12.12
जल्दी से टर्बो सी (डॉसोवस्की) पर एक कार्यक्रम लिखने की आवश्यकता है


14-1101233171
igorek
2004-11-23 21:06
2004.12.12
वी। त्सोई को याद करें





अफ्रीकी अल्बानियन अरबी भाषा अर्मेनियाई आज़रबाइजानी बस्क बेलारूसी बल्गेरियाई कैटलन सरलीकृत चीनी) चीनी पारंपरिक) क्रोएशियाई चेक डेनिश डच अंग्रेज़ी एस्तोनियावासी फिलिपिनो फिनिश फ्रेंच
गैलिशियन् जॉर्जियाई जर्मन यूनानी हाईटियन यहूदी हिंदी हंगरी आइसलैंड का इन्डोनेशियाई आयरिश इतालवी जापानी कोरियाई लात्वीयावासी लिथुआनियाई मेसीडोनियन मलायी मोलतिज़ नार्वेजियन
फ़ारसी पोलिश पुर्तगाली रोमानियाई रूसी सर्बियाई स्लोवाक स्लोवेनियाई स्पेनिश स्वाहिली स्वीडिश थाई तुर्की यूक्रेनी उर्दू वियतनामी वेल्श यहूदी बंगाली बोस्नियाई
सिबुआनो एस्पेरांतो गुजराती हौसा हमोंग ईग्बो जावानीस कन्नड़ खमेर लाओ लैटिन माओरी मराठी मंगोलियन नेपाली पंजाबी सोमाली तामिल तेलुगु योरूबा
ज़ुलु
Английский Французский Немецкий Итальянский Португальский Русский Испанский