דילוג לתוכן
  • דף הבית
  • קטגוריות
  • פוסטים אחרונים
  • משתמשים
  • חיפוש
  • חוקי הפורום
כיווץ
תחומים

תחומים - פורום חרדי מקצועי

💡 רוצה לזכור קריאת שמע בזמן? לחץ כאן!
קומפיונטק

קומפיונט

@קומפיונט
אודות
פוסטים
288
נושאים
22
שיתופים
0
קבוצות
0
עוקבים
2
עוקב אחרי
6

פוסטים

פוסטים אחרונים הגבוה ביותר שנוי במחלוקת

  • איך לתקשר בין חלקים שונים של תוכנה ב-C# wpf?
    קומפיונטק קומפיונט

    @pcinfogmach כתב באיך לתקשר בין שלוש חלקים של תוכנה ב-C# wpf?:

    אני רוצה ליידע את viewmodel ב' כאשר הנתונים ב-viewmodel א' משתנים. איך אני עושה זאת?

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

    אם אתה מסתבך עם זה, אז תזרום עם מה שנוח לך, @dovid פעם טען שלא חייב לעשות הכל "לפי הספר" (ובפרט אם אתה מפתח יחיד שיודע להתמודד עם נקודות החולשה שלך)

    תכנות

  • איך לתקשר בין חלקים שונים של תוכנה ב-C# wpf?
    קומפיונטק קומפיונט

    @pcinfogmach כתב באיך לתקשר בין שלוש חלקים של תוכנה ב-C# wpf?:

    אשמח לשמוע מהמומחים

    אני לא מומחה גדול, אבל אם אתה הולך על MVVM אז לכאורה לא צריך להיות קשר בין פקדים/תצוגות, כל פקד/תצוגה הוא עצמאי, והוא מקבל את הנתונים שהוא אמור להציג דרך ה - ViewModel (כנראה מה שהתכוונת באפשרות 1)

    אגב, אם אתה כבר מפתח ב - WPF ולא יודע מה זה DependencyProperty אז אתה ממש מפסיד...

    תכנות

  • שינוי רגולציית תצוגה במחשב ללא צג
    קומפיונטק קומפיונט

    @mekev אצלי במחשב יש בנתיב הרג'יסטרי הזה:

    Computer\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\GraphicsDrivers\Configuration\DELF06...\00
    

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

    נ.ב. איך הגעתי לזה? פשוט:
    א. הרצתי Procmon
    ב. סיננתי את כל הפעולות חוץ מ - RegSetValue
    ג. פתחתי הגדרות, ושיניתי את הרזולוצייה.
    ד. חזרתי ל - procmon ועברתי על הערכים שהשתנו.

    תכנות

  • עזרה עם בעיה בהתחברות לגיטהב
    קומפיונטק קומפיונט

    @pcinfogmach כתב בעזרה עם בעיה בהתחברות לגיטהב:

    לפי מה שכתוב שם המתקין החדש אמור לטפל בזה באופן אוטומטי

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

    אז אפשרות אחת שתתקין גיט מכאן, ואח"כ תריץ git clone https://github/???.git עם הלינק של המאגר (כמובן אחרי ההתקנה של התעודה)

    ואפשרות שניה שתבצע את מה שכתוב כאן תחת הכותרת: שימוש ב github desktop או בgit דרך תוכנות מסוימות למשל visual studio, ואגב, אם מותקן לך Everything זה יהיה יותר קל למצוא את הנתיב של git, פשוט תחפש git.exe

    תכנות

  • חסימה של וייפרי פוגעת בחסימות אחרות חזקות יותר?
    קומפיונטק קומפיונט

    @aknvtchtk אפשר לשאול באיזה כלים השתמשת לחקור (לא להסיר) את WiFree3, ו-Videoff?

    אינטרנט

  • חסימה של וייפרי פוגעת בחסימות אחרות חזקות יותר?
    קומפיונטק קומפיונט

    @חגי לא צריך לדבג את הקנרל בשביל להסיר, אני בטוח שרוב האלו שהסירו לא יודעים בכלל איך מדבגים קוד בקרנל, אני אישית מצאתי את החולשה בניתוח סטטי.
    בקשר לוויפרי 3, ממה שאני זוכר, הדפוס פעולה שלו ממש דומה ל-vidoeff בלי להרחיב בפרטים, אני חושב שהרבה מהקוד של הדרייבר הגיע מ-videoff, ונכון שיותר קשה להסיר מוויפרי 2, אבל ברור שאפשרי.

    אינטרנט

  • חסימה של וייפרי פוגעת בחסימות אחרות חזקות יותר?
    קומפיונטק קומפיונט

    @גאון כתב בחסימה של וייפרי פוגעת בחסימות אחרות חזקות יותר?:

    לא, אלא א"כ אתה מונע מהם את המחשב לגמרי אבל אם אתה נון גישה אבל לא רוצה שהם יגשו רק לרשת אז זה לא רלונטי.

    ברור שלא יעזור מבחינת החסימה (אני יודע שאפשר לאפס), אני התכוונתי אם זה יעזור כדי לדעת אם משהו עקף את זה או לא.

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

    אינטרנט

  • חסימה של וייפרי פוגעת בחסימות אחרות חזקות יותר?
    קומפיונטק קומפיונט

    @חגי כתב בחסימה של וייפרי פוגעת בחסימות אחרות חזקות יותר?:

    ואני מאוד מקווה שהילדים שלי לא סוחרים בכרטיסי רשת חיצוניים וכונני live cd מאחורי גבי.

    קוד ל bios לא יעזור לגבי זה?

    אינטרנט

  • שיתוף | קוד #C לזיהוי גרסת Videoff המותקנת במחשב
    קומפיונטק קומפיונט

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

    public static class VideoffDetector
    {
        private const string VideoffPortName = "\\msdtghPort";
    
        public static bool TryGetVersion(out int? version)
        {
            return TryGetVersionByCommunicationPort(out version);
        }
    
        private static bool TryGetVersionByCommunicationPort(out int? version)
        {
            version = null;
    
            var hResult = FltLib.FilterConnectCommunicationPort(VideoffPortName, 0, 0, 0, 0, out var hPort);
    
            if (hResult != 0)
            {
                return false;
            }
    
            try
            {
                var input = BitConverter.GetBytes(1);
                var output = new byte[4];
    
                hResult = FltLib.FilterSendMessage(hPort, input, output);
    
                if (hResult != 0)
                {
                    return false;
                }
    
                version = BitConverter.ToInt32(output);
    
                return true;
            }
            finally
            {
                Kernel32.CloseHandle(hPort);
            }
        }
    }
    
    internal static partial class FltLib
    {
        private const string LibraryName = "FltLib";
    
        [LibraryImport(LibraryName, StringMarshalling = StringMarshalling.Utf16)]
        public static partial int FilterConnectCommunicationPort(string lpPortName, int dwOptions, nint lpContext, short wSizeOfContext, nint lpSecurityAttributes, out nint hPort);
    
        [LibraryImport(LibraryName, EntryPoint = "FilterSendMessage")]
        public static partial int FilterSendMessage(nint hPort, ReadOnlySpan<byte> lpInBuffer, int dwInBufferSize, ReadOnlySpan<byte> lpOutBuffer, int dwOutBufferSize, out uint lpBytesReturned);
    
        public static int FilterSendMessage(nint hPort, ReadOnlySpan<byte> lpInBuffer, ReadOnlySpan<byte> lpOutBuffer)
        {
            return FilterSendMessage(hPort, lpInBuffer, lpInBuffer.Length, lpOutBuffer, lpOutBuffer.Length, out _);
        }
    }
    
    internal static partial class Kernel32
    {
        private const string LibraryName = "Kernel32";
    
        [LibraryImport(LibraryName)]
        [return: MarshalAs(UnmanagedType.Bool)]
        public static partial bool CloseHandle(nint hObject);
    }
    
    תכנות

  • תוכנה להקפאת מחשב
    קומפיונטק קומפיונט

    @mekev אני גם מצטרף ל @צדיק-תמים, התוכנה לכשעצמה עושה את העבודה מצוין, מניסיון אישי, לא נתקלתי בשום בעיה (ה'בעיה' היחידה שנתקלתי זה ששינויי מחיצות בדיסק לא חזרו לקדמותם לאחר הפעלה מחדש)

    תוכנה

  • הפעלת אימולטור אנדרואיד על וינדוס
    קומפיונטק קומפיונט

    https://www.ldplayer.net/blog/virtualization-technology-enabled-in-bios-but-not-detected-by-ldplayer.html

    רשתות

  • כיצד להגדיר לתוכנה לפעול תמיד בקנ"מ של 100%?
    קומפיונטק קומפיונט

    @אביי אני רק זורק רעיון, לשים את כל התצוגה ב Viewbox, אולי יעזור לך.

    תכנות

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

    @laswater זה קרה לי כמה פעמים ובדרך כלל שחזור מערכת עזר, ניסית?

    חומרה

  • איך להשיג את האייקון של כל סוגי הקבצים בC#
    קומפיונטק קומפיונט

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

    זה הקוד:

    public static class Shell
    {
        private static readonly Guid _s_imageFactoryShellId = new("BCC18B79-BA16-442F-80C4-8A59C30C463B");
    
        public static byte[] GetImage(string path, ImageSize size, ShellItemGetImageOptions options)
        {
            if (OperatingSystem.IsWindows())
            {
                if (SHCreateItemFromParsingName(path, 0, _s_imageFactoryShellId, out var imageFactory) != 0)
                {
                    throw new Win32Exception(Marshal.GetLastWin32Error());
                }
    
                if (imageFactory.GetImage(size, (int)options, out var hBitmap) != 0)
                {
                    throw new Win32Exception(Marshal.GetLastWin32Error());
                }
    
                try
                {
                    using var stream = new MemoryStream();
    
                    var bitmap = Image.FromHbitmap(hBitmap);
    
                    bitmap.Save(stream, ImageFormat.Jpeg);
    
                    return stream.ToArray();
                }
                finally
                {
                    DeleteObject(hBitmap);
                }
            }
    
            throw new PlatformNotSupportedException();
        }
    }
    
    public enum ShellItemGetImageOptions
    {
        ResizeToFit = 0,
        BiggerSizeOk = 1,
        MemoryOnly = 2,
        IconOnly = 4,
        ThumbnailOnly = 8,
        InCacheOnly = 0x10,
        CropToSquare = 0x20,
        WideThumbnails = 0x40,
        IconBackground = 0x80,
        ScaleUp = 0x100
    }
    
    public readonly struct ImageSize(int width, int height)
    {
        public int Width { get; } = width;
    
        public int Height { get; } = height;
    }
    
    internal static partial class Unmanaged
    {
        [GeneratedComInterface]
        [Guid("BCC18B79-BA16-442F-80C4-8A59C30C463B")]
        [InterfaceType(ComInterfaceType.InterfaceIsIUnknown)]
        public partial interface IShellItemImageFactory
        {
            [PreserveSig]
            int GetImage(ImageSize size, int flags, out nint hBitmap);
        }
    
        [LibraryImport("Shell32", SetLastError = true, StringMarshalling = StringMarshalling.Utf16)]
        public static partial int SHCreateItemFromParsingName(string pszPath, nint pbc, Guid riid, out IShellItemImageFactory ppv);
    
        [LibraryImport("Gdi32", SetLastError = true)]
        public static partial int DeleteObject(nint hObject);
    }
    

    נ.ב.
    זה הקוד הבסיסי, אפשר לשנות ולהתאים אותו למה שאתה צריך.
    לא בדקתי אם זה עובד גם על מערכות windows יותר ישנות.
    הקוד תואם ל NativeAOT (אם תשתמש בו בעתיד)
    לא יודע אם הקוד הזה יעבוד ב net-framework.

    תכנות

  • #C | עזרה באיתור או יצירת אופרטור ריאקטיבי
    קומפיונטק קומפיונט

    @dovid נראה שזה לא פשוט לבנות אופרטורים ב-Rx, זה לדוגמא הקוד של Throttle, אבל כבר לא צריך כי Sample עושה את מה שחיפשתי.

    תכנות

  • #C | עזרה באיתור או יצירת אופרטור ריאקטיבי
    קומפיונטק קומפיונט

    @צדיק-תמים אני בדוטנט והספרייה זה Rx.NET. כל מי שלא משתמש עם Rx היה עושה בדיוק מה שכתבת, אבל זה הדבר האחרון שהייתי רוצה לעשות, כי אם כבר הכל ריאקטיבי אז למה להסתבך עם משתנים ותנאים, מה שחסר זה רק להוסיף את האופרטור הנכון.
    ואגב, מצאתי את האופרטור Sample אז בעצם יש לי כבר תשובה לשאלה..

    תכנות

  • #C | עזרה באיתור או יצירת אופרטור ריאקטיבי
    קומפיונטק קומפיונט

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

    תכנות

  • #C | עזרה באיתור או יצירת אופרטור ריאקטיבי
    קומפיונטק קומפיונט

    @dovid עכשיו אני רואה ש - debounceTime הוא המקביל של Throttle ב RxJS, אז זה לא עוזר לי.
    גם לפי התרשים כאן זה לא מה שאני מחפש.

    תכנות

  • #C | עזרה באיתור או יצירת אופרטור ריאקטיבי
    קומפיונטק קומפיונט

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

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

    תכנות
  • 1 / 1
  • התחברות

  • אין לך חשבון עדיין? הרשמה

  • התחברו או הירשמו כדי לחפש.
  • פוסט ראשון
    פוסט אחרון
0
  • דף הבית
  • קטגוריות
  • פוסטים אחרונים
  • משתמשים
  • חיפוש
  • חוקי הפורום