HWzoneHWzoneHWzone
  • ראשי
  • כתבות פופולריות
  • הגדרת התראות
  • מחשבים
    מחשבים
    הצג עוד
    כתבות מובילות
    משטח משלוח של כרטיסי מסך יוקרתיים במחסן מטענים בנמל תעופה, עם אריזות חסרות וניילון עטיפה קרוע
    חצי מיליון דולר נעלמו בשדה התעופה: שני משטחים של RTX 5090 אבדו
    20/10/2026
    הדרך להפסיק לשלם ולקחת בעלות: בנינו שרת AI מפלצתי מקומי
    22/08/2026
    מעבד שרתים גדול מועבר למגש בדיקה במפעל שבבים, כשמעבדי מחשבים ניידים ממתינים ברקע
    אינטל מעדיפה שרתים על מחשבים אישיים ומשנה את תוכניות הייצור
    02/11/2026
    כתבות אחרונות
    סם אלטמן רוצה זיכרון ל-AI, ונפגש עם 50 בכירי סמסונג
    03/11/2026
    מיקרוסופט מציגה חיסכון של 90% בזיכרון Ray Tracing
    03/11/2026
    אינטל מעדיפה שרתים על מחשבים אישיים ומשנה את תוכניות הייצור
    02/11/2026
    בלי דיסק-און-קי: Windows 11 מקבלת כלי חדש להתקנה מהענן
    02/11/2026
  • גאדגטים
    גאדגטים
    הצג עוד
    כתבות מובילות
    ניסיתי סמארטפון מתקפל בפעם הראשונה – התרשמויות משימוש Galaxy Z Fold8
    27/09/2026
    שחזור דיגיטלי של ה-iPod המקורי משנת 2001 מופיע בתוך דף אינטרנט במחשב נייד
    אפל מחזירה את ה-iPod המקורי לחיים, ומחביאה אותו באתר שלה
    25/10/2026
    הדמיה של מערכת הבית החכם החדשה של אפל עם מסך HomePad, רמקול HomePod mini ומזרים Apple TV 4K
    אפל חוזרת לסלון: שלושה מוצרים חדשים בדרך, כולל מסך חכם שיתחרה באמזון ובגוגל
    10/10/2026
    כתבות אחרונות
    סיכום השבוע: Gemini 4 Carbon, GeForce ועוד
    30/10/2026
    אמזון מציגה את התשובה שלה לגוגל ולאפל עם חמישה מכשירים חדשים
    29/10/2026
    אפל מחזירה את ה-iPod המקורי לחיים, ומחביאה אותו באתר שלה
    25/10/2026
    סיכום השבוע: Claude, GTA 6 ועוד
    23/10/2026
  • גיימינג
    גיימינג
    הצג עוד
    כתבות מובילות
    קונסולת PlayStation 5 לצד מסך המציג משחקי PC בתוך ממשק הקונסולה באמצעות Playden
    בלי מחשב ובלי סטרימינג: משחקי PC רצים ישירות על PlayStation 5
    27/10/2026
    המחשה של לוח אם בקונסולת משחקים עתידית עם שבבי זיכרון ואחסון חשופים
    ה-PlayStation 6 עשויה לעלות יותר מ-1,000 דולר
    20/10/2026
    GIGABYTE GAMING A16 עם RTX 5060 – מה תקבלו בקטגוריה הזולה של מחשבי גיימינג ניידים?
    12/09/2026
    כתבות אחרונות
    סלייר, באד באני ואפילו לנה דל ריי: תחנות הרדיו של GTA 6 נחשפות
    02/11/2026
    משחקי PlayStation 3 נראים טוב יותר במק בזכות דרייבר חדש
    02/11/2026
    ה-Xbox Series S התייקרה ב-67%, ועדיין קשה להתחרות במחירה
    02/11/2026
    נטפליקס הופכת את PUBG לסדרה, ודונלד גלובר מקבל ארבעה תפקידים
    30/10/2026
  • טכנולוגיה
    טכנולוגיה
    הצג עוד
    כתבות מובילות
    Google's Gemini 4 Carbon Tops Every Other Model In All But Two Of Google's Benchmarks, Scoring 88.2 Percent On SEC-bench Pro Vulnerability Discovery
    גוגל מציגה את Gemini 4 Carbon: ראשון בדירוג, סגור לציבור
    29/10/2026
    מודל 44 טריליון הדולר של אנתרופיק: כשהמתכנתים יפנו את מקומם לחשמלאים
    14/09/2026
    לווייני תקשורת של Starlink מעל רשת סלולרית עירונית עם אנטנות קרקעיות וסמארטפון המחובר לרשת
    מאסק בונה חברת סלולר עם 15 אלף לוויינים ואנטנות קרקעיות
    11/10/2026
    כתבות אחרונות
    גוגל מציבה תנאי חדש: רוצים חיפוש? תקבלו גם AI
    04/11/2026
    ככה הגדרתי סביבת עבודה עבור שרת AI מפלצתי מקומי מבוסס Intel ARC
    03/11/2026
    אבו דאבי משקיעה 3.5 מיליארד דולר בממשלה מבוססת AI
    03/11/2026
    מאסק: השתל של Neuralink מוכן להעניק ראייה גם לעיוורים מלידה
    02/11/2026
  • ביקורות
    ביקורות
    הצג עוד
    כתבות מובילות
    הדרך להפסיק לשלם ולקחת בעלות: בנינו שרת AI מפלצתי מקומי
    22/08/2026
    ניסיתי סמארטפון מתקפל בפעם הראשונה – התרשמויות משימוש Galaxy Z Fold8
    27/09/2026
    מחשב ASUS Ascent GX10 מבוסס NVIDIA DGX Spark בסקירה: דמוקרטיזציה של מודלים מקומיים
    04/10/2026
    כתבות אחרונות
    ככה הגדרתי סביבת עבודה עבור שרת AI מפלצתי מקומי מבוסס Intel ARC
    03/11/2026
    מחשב ASUS Ascent GX10 מבוסס NVIDIA DGX Spark בסקירה: דמוקרטיזציה של מודלים מקומיים
    04/10/2026
    ניסיתי סמארטפון מתקפל בפעם הראשונה – התרשמויות משימוש Galaxy Z Fold8
    27/09/2026
    GIGABYTE GAMING A16 עם RTX 5060 – מה תקבלו בקטגוריה הזולה של מחשבי גיימינג ניידים?
    12/09/2026
  • ספיישלים
    • CES
      • CES 2026
      • CES 2025
      • CES 2024
      • CES 2023
      • CES 2022
      • CES 2020
      • CES 2019
      • CES 2018
      • CES 2017
      • CES 2016
      • CES 2015
      • CES 2013
      • CES 2012
      • CES 2011
      • CES 2009
    • Computex
      • Computex 2019
      • Computex 2018
      • Computex 2016
      • Computex 2014
      • Computex 2013
      • Computex 2012
      • Computex 2011
      • Computex 2010
      • Computex 2009
      • Computex 2008
      • Computex 2007
    • E3 2016
    • עשור לאתר המחשבים
    • CeBIT 2008
    • CeBIT 2007
  • פורומים
  • זכרונות
  • הפיד שלי
  • ניהול העדפות
  • ערוצים פרסומיים
עקבו אחרינו ברשתות
  • אודות האתר
  • צרו קשר
  • פרסם אצלנו
  • תנאי שימוש ומדיניות פרטיות
  • הצהרת נגישות
בקריאה עכשיו: להתממשק בקלות עם WinAPI
HWzoneHWzone
  • ראשי
  • כתבות פופולריות
  • הגדרת התראות
  • מחשבים
  • גאדגטים
  • גיימינג
  • טכנולוגיה
  • ביקורות
  • ספיישלים
    • CES
    • Computex
    • E3 2016
    • עשור לאתר המחשבים
    • CeBIT 2008
    • CeBIT 2007
  • פורומים
  • זכרונות
עקבו אחרינו
  • אודות האתר
  • צרו קשר
  • פרסם אצלנו
  • תנאי שימוש ומדיניות פרטיות
  • הצהרת נגישות
טכנולוגיהמדריכים

להתממשק בקלות עם WinAPI

עדכון אחרון: 03/08/2014 בשעה 03:14
04/02/2012
23 דקות קריאה
שיתוף
רוצים לראות יותר מ-HWzone בתוצאות של Google?הוסיפו אותנו כמקור מועדף ב-Google

כתיבת תוכנות אשר משתלבות עם מערכת ההפעלה עלולה להוות תסכול רב למתכנתים שאינם מנוסים. כל מתכנת אשר ברצונו לפתח תוכנה שתבצע אינטראקציה עם תוכנות אחרות/הסביבה שבה היא נמצאת (מערכת ההפעלה) צריך לדעת מה המונח "להתממשק" אומר ולמה הוא כל כך חשוב. במדריך זה נלמד מה המונח "להתממשק" אומר וכיצד הוא עוזר לנו לבצע אינטראקציה עם הסביבה.
 
מה הוא API?


ה-API כולל בתוכו ערכות של ספריות קוד, פקודות, פונקציות ופרוצדורות מן המוכן, בהן יכולים המתכנתים לעשות שימוש פשוט, בלי להידרש לכתוב אותן בעצמם. במילים אחרות, ממשקי תכנות יישומים מאפשרים לנו לקבל מידע מן הסביבה שאיתה אנו רוצים לתקשר ולבצע בה שינויים בקלות.
 
לדוגמא, כאשר אנו אומרים כי אנו רוצים לכתוב תוכנה אשר תשלח דואר אלקטרוני מה-Outlook אנו בעצם מתכוונים לכך שאנו רוצים "להתממשק" עם ה-Outlook ולנצל תכונות מסוימות שהוא מכיל. לדוגמא, אם נרצה לפתח תוכנה אשר תשווה לנו מספר חלונות שאינם חלק מן התוכנה שלנו (חלונות של הדפדפן, חלונות של מסמכי טקסט ועוד) על ידי לחיצה על קיצור מקשים מסוים אפילו אם התוכנה שלנו ממוזערת. מכאן נגיע ל-WinAPIs, ממשק תכנות היישומים של Windows.
 
הכרת WinAPIs


WinAPI מאפשר לנו להתממשק עם מערכת ההפעלה ולבצע פעולות כמו: פתיחת תהליכים, סגירת חלונות, שינוי מיקום העכבר ולחיצה על כפתורים במקלדת. כאשר אנו רוצים להתממשק עם סביבה מסוימת עלינו לקרוא את התיעוד (Documentation) של ה-API שבו אנו מעוניינים להשתמש. תיעוד זה מכיל בתוכו מידע על פונקציות וספריות שאותו ה-API מכיל וכך עוזר לנו למצוא מידע שיעזור לנו להשתמש באותו הממשק.
 
בכדי שנוכל למצוא מידע על ממשק התכנות של Windows עלינו לגשת ל-MSDN (רשת המפתחים של מיקרוסופט) שם ניתן למצוא מידע רב על פונקציות שונות שהממשק מכיל. בכדי להקל עלינו קצת ניתן לגשת לפונקציות (מסודרות לפי קטגוריות) בקישור הבא.
 
לפני שנתחיל להתתמשק עם מערכת ההפעלה עלינו להבין כיצד מערכת ההפעלה עובדת. מערכת ההפעלה מורכבת מחלונות (Windows), כל חלון משויך לתהליך מסוים (Process). בכדי שנוכל לגרום לשינויים בחלונות מסוימים עלינו להשיג את ה-Handle שלו, מספר המייצג חלון מסוים או אם תרצו מעין תעודת זהות של אותו החלון שאיתו אנו רוצים לתקשר. כאשר למשל נרצה לסגור חלון מסוים, עלינו קודם כל להשיג את ה-Handle של אותו החלון ורק אחר כך לשלוח לו הודעת סגירה. ניתן לקרוא על הודעות וסוגי הודעות בקישור הבא. הפונקציה הבסיסית המשמשת לשליחת הודעות נקראת SendMessage. פונקציה זו מכילה 4 פרמטרים:
 
  • HWND – ה-Handle (תעודת הזהות) של החלון שאליו נרצה לשלוח את ההודעה.
  • Msg – ההודעה שנרצה לשלוח לאותו החלון (מתוך רשימת ההודעות).
  • WPARAM – מידע נוסף השייך להודעה (פרמטר אופציונאלי).
  • LPARAM – מידע נוסף השייך להודעה (גם כן, פרמטר אופציונאלי).
 
בהנחה שנרצה לסגור את חלון ה-Media Player שפתוח באמצעות התוכנה שלנו, עלינו לבצע את השלבים הבאים:
  • להשיג את ה-Handle של אותו החלון (בהמשך המדריך נסביר איך ניתן להשיג Handle של חלונות שונים).
  • להשתמש בפונקצית ה-SendMessage עם הודעת ה-WM_CLOSEבכדי לשלוח לחלון הודעת סגירה.
 
הפרמטר 110 הוא ה-Handle של חלון ה-Media Player, הפרמטר WM_CLOSE הוא בעצם מספר (השתמשנו בו כאן בתור משתנה) אשר אומר למערכת לסגור את החלון. מפני שאיננו צריכים פרמטרים נוספים, את שאר הפרמטרים נשאיר בעלי ערך של 0. נקרא לפונקציה באופן הבא:
  
SendMessage(110, WM_CLOSE, 0,  0);
  
אם נכתוב את הקוד הנ"ל בפרויקט שלנו, תופיע לנו שגיאה. הסיבה לכך היא שלא הכרזנו על הפונקציה SendMessage, ובהמשך המדריך עוד נלמד כיצד להכריז על פונקציות מתוך WinAPI.
 
שינוי שקיפות חלונות באמצעות צירוף מקשים

כעת ניקח את הידע שצברנו ונממש אותו בסביבת הפיתוח של .Net ב-C#.

אייקון התוכנה שנכתוב
 
התוכנה שנכתוב תהיה פשוטה לשימוש ותהווה עזר למשתמש. היא תאפשר למשתמש להפוך את החלון הנוכחי שבו הוא צופה לשקוף (את רמת השקיפות המשתמש יבחר באמצעות קיצור מקשים). למשל, כאשר המשתמש ירצה לסכם מסמך שהוא קורא מן האינטרנט, הוא יוכל להפוך את חלון ה-Word לשקוף ולכתוב את הסיכום במקביל. התוכנה שנכתוב תפעל כך:

  • כאשר המשתמש לוחץ על הקיצור Win + X שקיפות החלון הנוכחי תרד.
  • כאשר המשתמש לוחץ על הקיצור Win + Z שקיפות החלון הנוכחי תעלה.
  • כאשר המשתמש לוחץ על הקיצור Win + C החלון יחזור למצב הרגיל (ללא שקיפות כלל).
עלינו לבצע שלושה פעולות בכדי לשנות את השקיפות של החלון הנוכחי באמצעות קיצורי מקשים:
  • לזהות צירופי מקשים כמו Win + X.
  • להשיג את ה-Handle של החלון הנוכחי בכדי שנוכל לשנות את השקיפות.
  • לשנות את שקיפות החלון.
כאשר נסיים לכתוב את התוכנה נוכל לעשות את הדבר הבא:
כתיבה וקריאה בו זמנית על ידי שינוי שקיפות החלון
להורדת התוכנה המוגמרת (קובץ ההרצה בלבד) בכדי לראות את המוצר המוגמר לחצו כאן.
 
לאחר שהבנו את שלושת הפעולות שאנו רוצים לבצע, נחפש פונקציות המאפשרות ל-Windows לשלוח לתוכנה שלנו הודעה כאשר נילחץ על קיצור מקשים מסוים. אם נחפש ב-MSDN פונקציה העונה לצורך שלנו נמצא תחת הקטגוריה Keyboard Input Functions את הפונקציה RegisterHotKey. פונקציה זו שולחת לחלון אשר משויך אליה הודעה כאשר צירוף מקשים מסוים נלחץ. באמצעות פונקציה זו נוכל לגרום ל-Windows לשלוח הודעות לחלון שלנו ולהודיע לו כי המשתמש לחץ על צירוף מקשים מסוים.
12העמוד הבא

הצטרפו לערוץ הטלגרם שלנו!

קבלו עדכונים שוטפים וחדשות מעולם הטכנולוגיה ישירות לטלפון שלכם.

הצטרפו עכשיו

מחיקת זיכרון: למה מיקרוסופט מסתירה פתאום את המלצת ה-32 גיגה-בייט למחשבים אישיים?
מיקרוסופט זונחת את האפליקציות ואת ווינדוס לטובת סוכני ענן חכמים – הכירו את Solara, מערכת הפעלה עבור סוכני AI
שומרת הסף הדיגיטלית: המערכה המשפטית שעלולה לשנות את פני האינטרנט בישראל, ואיגוד האינטרנט שהתייצב כנגדה
תקלה ארצית בסלקום ובגולן טלקום: שיבושים קשים בגלישה הסלולרית והביתית
מיקרוסופט משיקה גל שינויים בווינדוס 11 – והפעם היא באמת מקשיבה
תגיות:אינטרנטמיקרוסופטפיתוח
איך זה גורם לך להרגיש?
אהבתי!0
מצחיק!0
עצוב0
מופתע0
משועמם0
כועס0
טוען תגובות...

כתבות פופולריות

משטח משלוח של כרטיסי מסך יוקרתיים במחסן מטענים בנמל תעופה, עם אריזות חסרות וניילון עטיפה קרוע
חצי מיליון דולר נעלמו בשדה התעופה: שני משטחים של RTX 5090 אבדו
20/10/2026
הדרך להפסיק לשלם ולקחת בעלות: בנינו שרת AI מפלצתי מקומי
22/08/2026
Google's Gemini 4 Carbon Tops Every Other Model In All But Two Of Google's Benchmarks, Scoring 88.2 Percent On SEC-bench Pro Vulnerability Discovery
גוגל מציגה את Gemini 4 Carbon: ראשון בדירוג, סגור לציבור
29/10/2026
מעבד שרתים גדול מועבר למגש בדיקה במפעל שבבים, כשמעבדי מחשבים ניידים ממתינים ברקע
אינטל מעדיפה שרתים על מחשבים אישיים ומשנה את תוכניות הייצור
02/11/2026
HWzoneHWzone
עקבו אחרינו
  • אודות האתר
  • צרו קשר
  • פרסם אצלנו
  • תנאי שימוש ומדיניות פרטיות
  • הצהרת נגישות