עבור לתוכן

אנטי וירוס חושד בתוכנה כוירוס

Featured Replies

פורסם
ציטוט של eido300

השורה:


יצאלאקסלToolStripMenuItem.Enabled = System.Reflection.TypeInfo.GetTypeFromProgID("Excel.application") != null ? true : false;

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

יש לך אקסל?

 

ציטוט של eido300

עוד משהו שמבאס זה הגודל של החלצנים taskBar אין דרך להגדיל אותם? קושי רואים אותם...

תנסה אייקון גדול יותר.

  • תגובות 77
  • צפיות 9.1k
  • נוצר
  • תגובה אחרונה
פורסם
  • מחבר

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

 

ניסיתי להשתמש באייקון יותר גדול, לא משנה את הגודל של זה.

פורסם
  • מחבר

ועוד משהו, אם אני לוקח את הקובץ מההתיקייה דיבאג (אני לא רוצה לעשות publish כי אז הוא עושה התקנה ובלאגן שלם) ומפעיל  אותו הוא זורק שגיאה 

System.IO.FileNotFoundException: לא היתה אפשרות לטעון קובץ או הרכבה 'Microsoft.WindowsAPICodePack.Shell, Version=1.1.0.0, Culture=neutral, PublicKeyToken=null' או אחת מהתלויות שלו. The system cannot find the file specified.
שם קובץ: 'Microsoft.WindowsAPICodePack.Shell, Version=1.1.0.0, Culture=neutral, PublicKeyToken=null'
   ב-  timeWork.form1.form1_Load_1(Object sender, EventArgs e)
   ב-  System.Windows.Forms.Form.OnLoad(EventArgs e)
   ב-  System.Windows.Forms.Form.OnCreateControl()
   ב-  System.Windows.Forms.Control.CreateControl(Boolean fIgnoreVisible)
   ב-  System.Windows.Forms.Control.CreateControl()
   ב-  System.Windows.Forms.Control.WmShowWindow(Message& m)
   ב-  System.Windows.Forms.Control.WndProc(Message& m)
   ב-  System.Windows.Forms.ScrollableControl.WndProc(Message& m)
   ב-  System.Windows.Forms.Form.WmShowWindow(Message& m)
   ב-  System.Windows.Forms.Form.WndProc(Message& m)
   ב-  System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m)
   ב-  System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
   ב-  System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)
 

System.IO.FileNotFoundException: לא היתה אפשרות לטעון קובץ או הרכבה 'Microsoft.WindowsAPICodePack.Shell, Version=1.1.0.0, Culture=neutral, PublicKeyToken=null' או אחת מהתלויות שלו. The system cannot find the file specified.
שם קובץ: 'Microsoft.WindowsAPICodePack.Shell, Version=1.1.0.0, Culture=neutral, PublicKeyToken=null'
   ב-  timeWork.form1.form1_Load_1(Object sender, EventArgs e)
   ב-  System.Windows.Forms.Form.OnLoad(EventArgs e)
   ב-  System.Windows.Forms.Form.OnCreateControl()
   ב-  System.Windows.Forms.Control.CreateControl(Boolean fIgnoreVisible)
   ב-  System.Windows.Forms.Control.CreateControl()
   ב-  System.Windows.Forms.Control.WmShowWindow(Message& m)
   ב-  System.Windows.Forms.Control.WndProc(Message& m)
   ב-  System.Windows.Forms.ScrollableControl.WndProc(Message& m)
   ב-  System.Windows.Forms.Form.WmShowWindow(Message& m)
   ב-  System.Windows.Forms.Form.WndProc(Message& m)
   ב-  System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m)
   ב-  System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
   ב-  System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)

 

פורסם
  • מחבר

עוד משהו, למה כשאני כותב this.close(); הקומפלייר שולח אותי לפקודה:

Application.Run(new form1());

וזורק את השגיאה:

An unhandled exception of type 'System.ObjectDisposedException' occurred in System.Windows.Forms.dll
אין אפשרות לגשת לקובץ שהושלך.

 

פורסם
ציטוט של eido300

ועוד משהו, אם אני לוקח את הקובץ מההתיקייה דיבאג (אני לא רוצה לעשות publish כי אז הוא עושה התקנה ובלאגן שלם) ומפעיל  אותו הוא זורק שגיאה 

 

צריך לשים באותה תיקייה את הקובץ Microsoft.WindowsAPICodePack.Shell.dll. וכדאי לשים במצב release.

ציטוט של eido300

עוד משהו, למה כשאני כותב this.close(); הקומפלייר שולח אותי לפקודה:


Application.Run(new form1());

וזורק את השגיאה:


An unhandled exception of type 'System.ObjectDisposedException' occurred in System.Windows.Forms.dll
אין אפשרות לגשת לקובץ שהושלך.

 

כנראה שהצגת אותו מחדש אח"כ (this.Show()).

פורסם
ציטוט של eido300

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

אז אני מקווה שהבנת שזו הסיבה. ביקשת את זה במפורש :P

ציטוט של eido300

ניסיתי להשתמש באייקון יותר גדול, לא משנה את הגודל של זה.

תפתח Media Player, האייקונים באותו גודל כמו של התוכנית שלך?

פורסם
  • מחבר
ציטוט של af db creid

צריך לשים באותה תיקייה את הקובץ Microsoft.WindowsAPICodePack.Shell.dll. וכדאי לשים במצב release.

כנראה שהצגת אותו מחדש אח"כ (this.Show()).

זה הform הראשי, לא הצגתי אותו אחר כך, ניסיתי לסגור את התוכנה לגמרי.

פורסם
ציטוט של eido300

זה הform הראשי, לא הצגתי אותו אחר כך, ניסיתי לסגור את התוכנה לגמרי.

אפשר את הקוד?

פורסם
  • מחבר
ציטוט של af db creid

אפשר את הקוד?

 public form1()
        {
            InitializeComponent();
            יצאלאקסלToolStripMenuItem.Enabled = System.Reflection.TypeInfo.GetTypeFromProgID("Excel.application") != null ? true : false;
        
            var args = Environment.GetCommandLineArgs();
            if (args.Length > 1 && args[1] != null && File.Exists(args[1]) && Path.GetExtension(args[1]) == ".wt1")
            {
                pathOfFile = args[1];
                readFile(pathOfFile);
                nameLbl.Text = Path.GetFileNameWithoutExtension(args[1]);
            }
            else
            {
                openFiles of = new openFiles();
                switch (of.ShowDialog())
                {
                    // ok - exists file
                    case DialogResult.OK:
                        pathOfFile = of.pathOfSelctedFile;
                        readFile(of.pathOfSelctedFile);
                        nameLbl.Text = of.nameOfTheSelctedFile;
                        break;

                    // yes - new file
                    case DialogResult.Yes:
                        pathOfFile = of.pathOfSelctedFile;
                        nameLbl.Text = of.nameOfTheSelctedFile;
                        break;

                    // default - no file has selcted
                    default:
                        this.Close();
                        break;
                }
            }
            
        }

 

פורסם
  • מחבר
ציטוט של af db creid

צריך לשים באותה תיקייה את הקובץ Microsoft.WindowsAPICodePack.Shell.dll. וכדאי לשים במצב release.

יש דרך להצמיד את זה לתוכנה ככה שלא אצטרך להעביר את הקובץ עם התוכנה כל הזמן? אני רוצה שהיא תהיה ניידת, מה שנקרא portable.

 

במצב release הקומפלייר כל הזמן מקפיץ אזהרה שאי אפשר לדבג.

 

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

נערך על-ידי eido300

פורסם
ציטוט של eido300

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

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

ציטוט של eido300

במצב release הקומפלייר כל הזמן מקפיץ אזהרה שאי אפשר לדבג.

הוא לא צודק, אפשר :) אם כי זה באמת לא נועד לדיבאג. וזה לא הקומפיילר, זה הVS. הפיתרון: Build ללא הרצה (Ctrl+Shift+B).

ציטוט של eido300

יש דרך להצמיד את זה לתוכנה ככה שלא אצטרך להעביר את הקובץ עם התוכנה כל הזמן? אני רוצה שהיא תהיה ניידת, מה שנקרא portable.

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

 1. תתקין את חבילת הNuGet שנקראת ilmerge ממיקרוסופט.

 2. פתח את הגדרות הפרוייקט, תבחר בכרטיסייה Build Events (אני מצטט מהזיכרון אז יש סיכוי שהשם קצת שונה).

 3. תדביק לתוך הtextbox שכתוב עליו Post-Build Event את הקוד הבא:

@echo off

:: this script needs https://www.nuget.org/packages/ilmerge

:: set your target executable name (typically [projectname].exe)
SET APP_NAME=$(ProjectName).exe

:: Set build, used for directory. Typically Release or Debug
SET ILMERGE_BUILD=Release

:: Set platform, typically x64
SET ILMERGE_PLATFORM=x64

:: set your NuGet ILMerge Version, this is the number from the package manager install, for example:
:: PM> Install-Package ilmerge -Version 3.0.29
:: to confirm it is installed for a given project, see the packages.config file
SET ILMERGE_VERSION=3.0.29

:: the full ILMerge should be found here:
SET ILMERGE_PATH=%USERPROFILE%\.nuget\packages\ilmerge\%ILMERGE_VERSION%\tools\net452
:: dir "%ILMERGE_PATH%"\ILMerge.exe

echo Merging %APP_NAME% ...

:: add project DLL's starting with replacing the FirstLib with this project's DLL
"%ILMERGE_PATH%"\ILMerge.exe Bin\%ILMERGE_PLATFORM%\%ILMERGE_BUILD%\%APP_NAME%  ^
  /lib:Bin\%ILMERGE_PLATFORM%\%ILMERGE_BUILD%\ ^
  /out:%APP_NAME% ^
  $(ProjectName).exe ^
  Microsoft.WindowsAPICodePack.Shell.dll

echo Done.

זה אומר לVS למזג את הDLLים אחרי כל BUILD.

תבנה במצב RELEASE. תהנה :)

 

לגבי השגיאה, כמו שחשבתי - אסור לסגור form בקונסטרקטור. בכלל לא מומלץ להשתמש בו אלא באירוע Form_Load.

פורסם
  • מחבר
ציטוט של af db creid

לגבי השגיאה, כמו שחשבתי - אסור לסגור form בקונסטרקטור. בכלל לא מומלץ להשתמש בו אלא באירוע Form_Load.

העברתי לform1_load ושוב שגיאה

System.ObjectDisposedException
  HResult=0x80131622
  Message=אין אפשרות לגשת לקובץ שהושלך.
שם אובייקט: 'form1'.
  Source=System.Windows.Forms
  StackTrace:
   at System.Windows.Forms.Control.CreateHandle()
   at System.Windows.Forms.Form.CreateHandle()
   at System.Windows.Forms.Control.get_Handle()
   at timeWork.form1.form1_Load_1(Object sender, EventArgs e) in C:\Users\HP\Desktop\timeWork\timeWork\Form1.cs:line 250
   at System.Windows.Forms.Form.OnLoad(EventArgs e)
   at System.Windows.Forms.Form.OnCreateControl()
   at System.Windows.Forms.Control.CreateControl(Boolean fIgnoreVisible)
   at System.Windows.Forms.Control.CreateControl()
   at System.Windows.Forms.Control.WmShowWindow(Message& m)
   at System.Windows.Forms.Control.WndProc(Message& m)
   at System.Windows.Forms.ScrollableControl.WndProc(Message& m)
   at System.Windows.Forms.Form.WmShowWindow(Message& m)
   at System.Windows.Forms.Form.WndProc(Message& m)
   at System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m)
   at System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
   at System.Windows.Forms.NativeWindow.DebuggableCallback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)

  This exception was originally thrown at this call stack:
    [External Code]
    timeWork.form1.form1_Load_1(object, System.EventArgs) in Form1.cs
    [External Code]

 

הקוד הפעם הוא:

private void form1_Load_1(object sender, EventArgs e)
        {
            יצאלאקסלToolStripMenuItem.Enabled = System.Reflection.TypeInfo.GetTypeFromProgID("Excel.application") != null ? true : false;
            var args = Environment.GetCommandLineArgs();
            if (args.Length > 1 && args[1] != null && File.Exists(args[1]) && Path.GetExtension(args[1]) == ".wt1")
            {
                pathOfFile = args[1];
                readFile(pathOfFile);
                nameLbl.Text = Path.GetFileNameWithoutExtension(args[1]);
            }
            else
            {
                openFiles of = new openFiles();
                switch (of.ShowDialog())
                {
                    // ok - exists file
                    case DialogResult.OK:
                        pathOfFile = of.pathOfSelctedFile;
                        readFile(of.pathOfSelctedFile);
                        nameLbl.Text = of.nameOfTheSelctedFile;
                        break;

                    // yes - new file
                    case DialogResult.Yes:
                        pathOfFile = of.pathOfSelctedFile;
                        nameLbl.Text = of.nameOfTheSelctedFile;
                        break;

                    // default - no file has selcted
                    default:
                        Close();
                        break;
                }
            }
            StartButtonBar = new ThumbnailToolBarButton(timeWork.Properties.Resources.start, "start")
            {
                DismissOnClick = true,
            };
            StopButtonBar = new ThumbnailToolBarButton(timeWork.Properties.Resources.stop, "stop")
            {
                Enabled = false,
                DismissOnClick = true,
            };
            StartButtonBar.Click += startBtn_Click;
            StopButtonBar.Click += stopBtn_Click;
            TaskbarManager.Instance.ThumbnailToolBars.AddButtons(Handle, StartButtonBar, StopButtonBar);
        }

 

פורסם
  • מחבר
ציטוט של af db creid

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

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

 

אגב, מה זה SO?

 

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

נערך על-ידי eido300

פורסם
  • מחבר
ציטוט של af db creid

echo off :: this script needs https://www.nuget.org/packages/ilmerge :: set your target executable name (typically [projectname].exe) SET APP_NAME=$(ProjectName).exe :: Set build, used for directory. Typically Release or Debug SET ILMERGE_BUILD=Release :: Set platform, typically x64 SET ILMERGE_PLATFORM=x64 :: set your NuGet ILMerge Version, this is the number from the package manager install, for example: :: PM> Install-Package ilmerge -Version 3.0.29 :: to confirm it is installed for a given project, see the packages.config file SET ILMERGE_VERSION=3.0.29 :: the full ILMerge should be found here: SET ILMERGE_PATH=%USERPROFILE%\.nuget\packages\ilmerge\%ILMERGE_VERSION%\tools\net452 :: dir "%ILMERGE_PATH%"\ILMerge.exe echo Merging %APP_NAME% ... :: add project DLL's starting with replacing the FirstLib with this project's DLL "%ILMERGE_PATH%"\ILMerge.exe Bin\%ILMERGE_PLATFORM%\%ILMERGE_BUILD%\%APP_NAME% ^ /lib:Bin\%ILMERGE_PLATFORM%\%ILMERGE_BUILD%\ ^ /out:%APP_NAME% ^ $(ProjectName).exe ^ Microsoft.WindowsAPICodePack.Shell.dll echo Done.

יש שגיאה exited with code1

שיניתי בגירסה במקום 3.0.29 ל3.0.41 כי זו הגירסה שהותקנה אצלי, ועדיין יש שגיאה, לא יודע מה זה אומר...

 

התקנתי את גירסה 3.0.29 ועדיין שגיאה...

נערך על-ידי eido300

פורסם
ציטוט של eido300

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

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

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

ציטוט של eido300

אגב, מה זה SO?

StackOverflow.

ציטוט של eido300

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

אכן, יש מגבלה ליום.

 

ציטוט של eido300

שיניתי בגירסה במקום 3.0.29 ל3.0.41 כי זו הגירסה שהותקנה אצלי, ועדיין יש שגיאה, לא יודע מה זה אומר...

טוב ששינית :)

ציטוט של eido300

יש שגיאה exited with code1

זה כל מה שכתוב? תסתכל בOutput Window. אם עדיין לא כתוב תוריד את הecho off בהתחלה.

 

ציטוט של eido300

העברתי לform1_load ושוב שגיאה

שים לב שאתה מנסה לאתחל את לחצני הtaskbar אחרי הClose(). אסור לבצע פעולות עם טופס שנסגר.

נערך על-ידי af db creid

ארכיון

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

דיונים חדשים