טבלה, הפעלת תוכנה עם עליית הwindows,ועוד #c - תכנות - HWzone פורומים
עבור לתוכן
  • צור חשבון

טבלה, הפעלת תוכנה עם עליית הwindows,ועוד #c


eido300

Recommended Posts

1. אני צריך להציג מידע בצורת טבלה, איך עושים את זה? (מצאתי את הdataGridView,אבל הוא דורש שימוש בsql, יש אפשרות לעשות את זה בלי שימוש בsql?)

2. איך עושים שהתוכנה תפעל עם עליית הwindows?

בעיקרון, מחיפוש באינטרנט מצאתי 2 דרכים:

אפשר פשוט להעביר אותה לתיקייה startup, אבל:

א. איך אני מוצא אותה? אמנם הבנתי שבכל המחשבים היא נמצאת באותו מקום, משהו כזה: C:\Users\eido\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup הבעיה היא שהנתיב כולל את שם המשתמש, איך מוצאים מהו?

ב.להעביר את התוכנה אפשר רק אחרי ההתקנה איך אני עושה את זה דרך התוכנה?

אופציה שניה היא דרך רישום ברג'יסטרי, איך עושים את זה?

כמובן אם יש דרך יותר קלה - אשמח אם תגידו.

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

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

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

1. dataGridView לא דורש SQL, יש פה דוגמה בדיוק איך למלא אותו עם סתם נתונים.

2. בבקשה: http://stackoverflow.com/questions/674628/how-do-i-set-a-program-to-launch-at-startup. שים לב שהאפליקציה תדרוש הרשאות Admin.

3. תלמד לקרוא ולכתוב קבצים. כל מה שאתה צריך הוא לשמור את כל הנתונים שאתה צריך לקובץ כלשהו (נגיד כל פעם שיש שינוי בהגדרות התוכנה), ולקרוא אותם מאותו קובץ בעלייה (אם הוא קיים כמובן). מומלץ למקום את הקובץ באחת משתי התיקיות שמוגדרות ע"י המשתנים Application.CommonAppDataPath ו-Application.UserAppDataPath. ההבדל ביניהן הוא שהראשונה משותפת לכל המשתמשים במחשב, והשנייה היא ספציפית לכל משתמש.

4. בבקשה: http://msdn.microsoft.com/en-us/library/system.windows.forms.form.showintaskbar.aspx

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

תודה רבה.

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

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

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

2. חשבתי על זה ויש לי שלוש רעיונות, אשמח אם תגיד לי מה דעתך.

  1. במקום להשתמש במפתח SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Run להשתמש במפתח SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\RunOnce, שכמו שהבנתי רושם את המפתח בצורה חד פעמית, זאת אומרת שבהפעלה הבאה הרישום נמחק ואז הכתיבה כל פעם מחדש לא רק שהיא לא מפריעה אלא היא גם נצרכת.
  2. ליצור משתנה בוליאני שישתנה אחרי הרישום, ולפיו אפשר לדעת אם כבר רשום או לא, אבל זה יצליח רק אם לפני הרישום של ההדלקה הבאה יעדכנו את תוכן המשתנה (כמו סעיף 3).
  3. אם היה אפשר לבדוק אם זה כבר רשום ורק במידה ולא רשום כבר - לרשום, זה אולי היה הפיתרון הכי קל, אבל עד כה לא הצלחתי לראות איך עושים את זה...

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

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

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

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

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

טוב אני מניח שאם בשביל לרשום ברג'יסטרי השתמשנו בsetValue, אז בשביל לקרוא אם קיים נשתמש בgetValue.

תודה רבה.

- - - תגובה אוחדה: - - -

אגב, לגבי ההרשאות admin, הבנתי שבשביל לקבל הרשאות מנהל כל מה שצריך זה להוסיף manifest ולשנות את השורה <requestedExecutionLevel level="asInvoker" uiAccess="false" />

לשורה <requestedExecutionLevel level="requireAdministrator" uiAccess="false" />, וזה אמור להביא הרשאות מנהל.

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

2. בבקשה: http://stackoverflow.com/questions/674628/how-do-i-set-a-program-to-launch-at-startup. שים לב שהאפליקציה תדרוש הרשאות Admin.

בsetValue בשם התוכנה, מה אני אמור לכתוב? את שם התוכנה נטו או גם את כל הכתובת שלה?

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

עכשיו בדקתי וראיתי שצריך לכתוב את כל הכתובות, זה שמור איפה שהוא? (כמו Application.CommonAppDataPath).

עריכה: מצאתי, זה - Application.ExecutablePath.

- - - תגובה אוחדה: - - -

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

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

ארכיון

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

×
  • צור חדש...