עזרה פרוייקט שלקחתי על עצמי - קשור בשינוי המידע הויזואלי על המסך - תכנות - HWzone פורומים
עבור לתוכן
  • צור חשבון

עזרה פרוייקט שלקחתי על עצמי - קשור בשינוי המידע הויזואלי על המסך


Mazumotte

Recommended Posts

אוקיי נפל עלי יום אחד רעיון שאני רוצה לממש, אך אין לי ממש רקע בנושא. אם למישהו פה יש רעיון הוא יתקבל בברכה.

הרעיון הוא לכתוב תוכנה שתוכל לגרום לטשטוש שכל חלון אחר, כך שלא יהיה אפשר לראות מה כתוב/מה מוצג באותו חלון(כשחלון יכול להיות תיקייה, משחק, חלון שיחה וכו'.

את הUI אין לי בעייה לתכנת. ליצור רשימה של החלונות הפתוחים ולאפשר בחירה של חלון מתוכם בעזרת C# היא משימה פשוטה יחסית.

הבעיה היא כיצד לגשת למידע שכל תוכנה שולחת למערכת ההפעלה כדי שתוכל להציג אותו על המסך.

אני מאמין שזה עובד ככה, אבל אין לי ממש מושג איך עובדת מע' חלונות(אני על XP) בקטע הזה.

בקיצור שאלתי אליכם - כיצד אתם חושבים שהכי טוב לטשטש חלון?(בלי סתם לצייר מעליו חלון חדש שחור שמסתיר אותו או משהו xD)

לרקורד יש לי ידע סביר בASM ובC#, אני מכיר את הסינטקסט ודרך העבודה בC כך שאשמח אם דרך הפתרון תהייה באמצעות אחת מהשפות האלו.

קישור לתוכן
שתף באתרים אחרים

נשמע רעיון מעניין. אני לא חושב שיש פתרון פשוט יחסית לזה, כי אני מניח שזה משהו שה-API של חלונות לא ממש חושף.

זה קצת מזכיר לי את העקרון של WindowBlinds, שזו תוכנה שמשנה את ה-UI הסטנדרטי של חלונות. חיפשתי קצת ומצאתי הסבר על איך הוא עובד:

http://www.osnews.com/story/879/Interview_with_Stardock_s_Brad_Wardell

קרא את סעיף 3.

אולי כדאי לך דווקא לנסות לעשות את זה בלינוקס, שם יש הפרדה יותר חזקה בין מערכת ההפעלה וה-GUI, ויש לך גישה מלאה לקוד המקור.

קישור לתוכן
שתף באתרים אחרים

חשבתי לעשות את זה בלינוקס, אבל אני רוצה גם להשתמש בזה ביומיום אז אני מעדיף :P

אז בתכלס מה שצריך לעשות זה למצוא איפה שולחים מידע לציור למערכת ההפעלה, ולשלוח פקודת ביטול או משהו כזה תוך כדי שליחת בקשת ציור חדשה דרך פונקציה ייעודית משלי.

זה ידרוש לא מעט מחקר ...

חשבתי על דרך נוספת, שהיא לנסות לגשת לזיכרון המערכת, ולשחק עם הsegmentים הרלוונטיים לחלון שאני צריך, כך שלא משנה אם המערכת מציירת או לא, תמיד ישאר שם זבל. כמובן זה תוך התחשבות בגודל החלון ומיקומו.

תודה על התגובה :)

אם יש פה עוד אנשים המעוניינים בסיעור מוחות, תרגישו חופשיים .

קישור לתוכן
שתף באתרים אחרים

על VISTA\WIN7 זה לא בעייתי במיוחד.

תעבוד עם DWM, יש לך חלון למשל של Notepad שאותו אתה רוצה לטשטש,תתשאל את הגודל והמיקום המדוייק של החלון במרחב המסך ותיצור חלון מעליו עם DwmEnableBlurBehindWindow מופעל ללא toolbox או אפשרות הזזה, וד"א יש המון תוכנות שמסתירות תוכן של חלון...

קישור לתוכן
שתף באתרים אחרים

ארכיון

דיון זה הועבר לארכיון ולא ניתן להוסיף בו תגובות חדשות.

×
  • צור חדש...