በዊንዶውስ ውስጥ የተጠቃሚ በይነገጽ ፅንሰ-ሀሳብ በመስኮት ፅንሰ-ሀሳብ ላይ የተመሠረተ ነው ፡፡ ውይይቶች ፣ አዝራሮች ፣ የመቆጣጠሪያ ፓነሎች ፣ ዝርዝሮች ሁሉም መስኮቶች ናቸው። ስለሆነም የራስዎን ወይም የሌላ ሰው መተግበሪያን በይነገጽ ከማንኛውም አካል ጋር ማንኛውንም እርምጃ ለማከናወን የመስኮት እጀታ ማግኘት አለብዎት ፡፡
አስፈላጊ
- - የመሣሪያ ስርዓት SDK ጥቅል;
- - አቀናባሪ.
መመሪያዎች
ደረጃ 1
እጀታውን በመፍጠር ወደ መስኮቱ ያግኙ ፡፡ በዊንዶውስ ዊንዶውስ ወይም ፍጠር ዊንዶውስ ኤፒአይ ተግባራት ላይ ጥሪዎችን ያድርጉ ፣ ወይም በመስኮቶች ወይም በመቆጣጠሪያዎች የመስራትን ተግባራዊነት የሚያካትቱ ጥቅም ላይ የዋለው ማዕቀፍ ወይም ቤተ-መጽሐፍት ክፍሎች ተገቢውን መጠቅለያ ዘዴዎችን (አስፈላጊ በሆኑ ነገሮች ላይ) ይደውሉ ፡፡ በተሳካ ፈጠራ ላይ የመስኮት እጀታ። ያልተሳካላቸው ከተጠሩ NULL ን ይመለሳሉ ፡፡ የስህተት ምክንያት ኮድ የ GetLastError ኤፒአይ ተግባርን በመጠቀም ሊጠየቅ ይችላል። የ “CreateWindow” እና “CreateWindowEx” ተግባራት መለኪያዎች ፕሮቶታይፕስ እና ዝርዝር መግለጫዎች ከአገናኞች ሊገኙ ይችላሉ https://msdn.microsoft.com/en-us/library/windows/desktop/ms632679%28v=vs.85%29.aspx እና https:// msdn.microsoft.com / en-us / ቤተመፃህፍት / windows / desktop / ms632680% 28v = vs.85% 29.aspx የተለያዩ ማዕቀፍ ክፍሎችን ሲጠቀሙ የክወና ስርዓት የመስኮት ነገሮች መፈጠር በግልፅ ሊከሰት ይችላል ፡ (ዘዴን በመጥራት) ወይም በተዘዋዋሪ (የ RAII ስትራቴጂ አተገባበር) ፡ ስለዚህ ዝግጁ በሆነ በተዘጋጀ ነገር ላይ የዊንዶውን እጀታ ማግኘት የተሻለ ነው ፡፡ በተጓዳኙ ማዕቀፍ ሰነዶች ውስጥ ባለው ነገር የታጠረውን የዊንዶው እጀታ ስለሚመልሱት ክፍሎች ዘዴዎች ማወቅ ይችላሉ ፡፡ ለምሳሌ ፣ በኤምኤፍሲ ውስጥ ተመሳሳይ ዘዴ የ “CWnd” ክፍል GetSafeHwnd ነው።
ደረጃ 2
በመፈለግ በመስኮት ላይ አንድ እጀታ ያግኙ ፡፡ ለሚጠቀሙት ማዕቀፍ የ FindWindow እና FindWindowEx ኤፒአይ ተግባራትን ወይም ተገቢውን የክፍል ዕቃ መጠቅለያዎችን ይጠቀሙ ፡፡ FindWindow ከተገኘ እጀታውን ወደ ከፍተኛ-ደረጃው መስኮት ይመልሳል ፣ ወይም ደግሞ ውድቀት ላይ NULL ፡፡ ፍለጋው የሚከናወነው በክፍል ስም እና በመስኮት ርዕስ ነው። የተግባሩ መለኪያዎች እና ገጽታዎች መግለጫ በአገናኝ https://msdn.microsoft.com/en-us/library/windows/desktop/ms633499%28v=vs.85%29.aspx ላይ ይገኛል ፡፡ የ FindWindowEx ተግባሩ ከ FindWindow ጋር ተመሳሳይ ነው ልዩነቱ የልጆችን መስኮቶች መፈለግ ነው ፡ የ FindWindowEx ሰነዶች በ https://msdn.microsoft.com/en-us/library/windows/desktop/ms633500%28v=vs.85%29.aspx ላይ ይገኛሉ ፡፡
ደረጃ 3
ስብስቦቻቸውን በሚዘረዝሩበት ጊዜ መያዣውን ወደ መስኮቱ ይፈልጉ ፡፡ የሚጠቀሙባቸውን ማዕቀፍ የኤፒአይ ተግባራት EnumWindows ፣ EnumChildWindows ፣ EnumThreadWindows ወይም የክፍል ዕቃዎች ዘዴዎችን ይጠቀሙ ፡፡ EnumWindows እና EnumChildWindows ተግባሮች በቅደም ተከተል የከፍተኛ ደረጃ መስኮቶችን እና የልጆች መስኮቶችን ይዘረዝራሉ ፡፡ የ EnumThreadWindows ተግባር የተጠቀሰው ክር ሁሉንም ልጅ ያልሆኑ መስኮቶችን ይቆጥራል። እያንዳንዳቸው እነዚህ ተግባሮች ጠቋሚ ወደ መልሶ ጥሪ አሠራር መተላለፍ አለባቸው ፣ ይህም በሚሠሩበት ጊዜ የተገኙትን የዊንዶውስ እጀታዎች እንደ መለኪያዎች ይተላለፋል ፡፡ የመቁጠር ተግባራትን በማጣመር ፣ በመልሶ መደወያው አሠራር ውስጥ የመስኮት ንብረቶችን ማግኘት እና መተንተን ይችላሉ ፡፡ የሚያስፈልገውን መስኮት. ለተገለጹት ተግባራት የተሰጠው ሰነድ በአገናኞች ተሰጥቷል- - EnumWindows: https://msdn.microsoft.com/en-us/library/windows/desktop/ms633497%28v=vs.85%29.aspx; - EnumChildWindows: https:// msdn.microsoft.com/en-us/library/windows/desktop/ms633494%28v=vs.85%29.aspx; - EnumThreadWindows: https://msdn.microsoft.com/en-us/library / windows / desktop /ms633495%28v=vs.85%29.aspx.
ደረጃ 4
በሚታወቁ መጋጠሚያዎች ላይ አንድ እጀታ ወደ መስኮት ያግኙ ፡፡ የ “WindowFromPoint” ፣ “ChildWindowFromPoint” ፣ “ChildWindowFromPointEx” ተግባራት የተጠቀሰው ነጥብ ባለቤት ለሆኑት መስኮቶች መያዣዎችን ይመለሳሉ። የ WindowFromPoint ተግባር ለመጠቀም ቀላሉ ነው ፣ ነገር ግን ለተደበቁ ወይም ለአካል ጉዳተኛ መስኮቶች መያዣዎችን አይመልስም። በአጠቃቀሙ ላይ ሰነዶችን በ https://msdn.microsoft.com/en-us/library/windows/desktop/ms633558%28v=vs.85%29.aspx ማግኘት ይችላሉ ፡፡ የ ChildWindowFromPoint እና ChildWindowFromPointEx ተግባራት ለልጁ መያዣዎችን ያገኛሉ ከተሰጠው ነጥብ ንብረት የሆነ የአንድ የተሰጠ የወላጅ መስኮት። በዚህ ሁኔታ ፣ የ ChildWindowFromPointEx ባህሪ ተጨማሪ ልኬትን በመጠቀም በተለዋጭ ቁጥጥር ሊደረግበት ይችላል። ለእነዚህ ተግባራት የሚቀርበው ሰነድ በአገናኞች ቀርቧል-- ChildWindowFromPoint: https://msdn.microsoft.com/en-us/library/windows/desktop/ms632676%28v=vs.85%29.aspx;: // msdn.microsoft.com/en-us/library/windows/desktop/ms632677%28v=vs.85%29.aspx.