سؤال

هناك عدد قليل من أدوات المجانية هناك (على سبيل المثال، مراوغة شريط المهام، XNeat، إلخ.) والتي لديها القدرة على تغيير ترتيب الأزرار الموجودة على شريط المهام، دون إغلاق أو فتح أي نوافذ بالفعل. لسوء الحظ، يبدو أن أي منهم مفتوح المصدر.

ما هي مكالمات API اللازمة لتغيير ترتيب الأزرار في شريط المهام؟

هل كانت مفيدة؟

المحلول

الجواب هو استخدام TB_MOVEBUTTON في مكالمة SendMessage(), ، كما هو موضح في وثائق Winapi هنا.

المعلمة الأولى ل SendMessage() (hWndControl) يجب أن يكون مرجعا إلى شريط الأدوات الذي يحتوي على أزرار شريط المهام. هذا غير تافه لاسترداد، ولكن إدخال التعليمات البروية المشار إليها في إجابة كريس كلارك لديه كل الكود المطلوب لاسترداد هذا المقبض.

wParam و lParam يجب ضبطه على معرف الزر الزر للتنقل، والموضع لتحريكه إلى، على التوالي. هذه المعرفات هي idCommand الحقل في TBBUTTON هيكل يمثل كل زر؛ كيفية استرداد هذه الهياكل للأزرار يمكن أيضا أخذها من أعلاه إدخال التعليمات البروية.

نصائح أخرى

حقيقة أن Windows API لا يعرض طرق لإعادة ترتيب أزرار شريط المهام متعمدة. لا توجد طريقة مدعومة للقيام بذلك.

يرى هذه المادة (والأخرى التي يرتبط بها) للتفكير وراء لماذا لا يعرض مطورو القذائف هذه الوظيفة.

ومع ذلك، لقد ابتكر الناس الحيلة اختراق هذا الإنجاز (انظر الإجابات الأخرى). أظن أن هذه الأساليب ستنهار حيث تطور Windows (Windows 7، 64 بت، إلخ ...). لا تفاجأ عندما تتوقف هذه التقنيات عن العمل.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top