public static async Task <CaptureResult> CaptureSummaryToOneNote(Image imageToWrite)
        {
            //var imgThumb = GenerateThumbnails();

            string result = string.Empty;
            string pageId = Configurator.DestinationOneNote.PageId;

            bool isSuccess = await OneNoteCapture.AppendImage(imageToWrite, pageId, "Test");

            //if (isSuccess)
            //{
            //     isSuccess = await OneNoteCapture.AppendImage(imgThumb, pageId, "Test2");
            //}

            CaptureResult c = new CaptureResult();

            c.IsSuccess = isSuccess;

            Logger.Info("After write captured screenshot to OneNote");
            if (!isSuccess)
            {
                c.UserMessage = "Failure when adding to OneNote";
            }
            else
            {
                c.UserMessage = "OneNote capture successful at " + DateTime.Now.ToLongTimeString();
            }

            return(c);
        }
        public static void Init()
        {
            Logger.Info("Before retrieve OneNotePages");
            //Retrieve all OneNotePages, and see which ones are opted in
            var OneNote = OneNoteCapture.GetAllPages().Result;
            var optedIn = from x in OneNote  where x.PageTitle.ToLower() == ONENOTE_DESTINATION_PAGE_NAME select x;

            if (optedIn.First() != null)
            {
                DestinationOneNote = optedIn.First();
            }
            else
            {
                throw new System.Exception("Destination OneNote page with name 'OACapture' was not found");
            }
            Logger.Info("After retrieve OneNotePages");
        }
Beispiel #3
0
        static int Main(
            int MonitorIndex = 1
            )
        {
            /* string text1 = File.ReadAllText(@"C:\data\dump\item6.txt");
             * string text2 = File.ReadAllText(@"C:\data\dump\item7.txt");
             *
             * var ax = Embeddings.GetEmbeddingFromText(text1).GetAwaiter().GetResult();
             * var ay = Embeddings.GetEmbeddingFromText(text2).GetAwaiter().GetResult();
             * var distance = MathNet.Numerics.Distance.Cosine(ax.EmbeddingVector, ay.EmbeddingVector); */


            ConfigureLogging();
            Logger.Info("Startup");
            Logger.Info("Monitor to use:" + MonitorIndex.ToString());

            OcrHelperWindows.InitOCr();

            bool result      = SHCore.SetProcessDpiAwareness(SHCore.PROCESS_DPI_AWARENESS.Process_Per_Monitor_DPI_Aware);
            var  setDpiError = Marshal.GetLastWin32Error();



            MonitorHelper h        = new MonitorHelper();
            var           displays = h.GetDisplays();

            Logger.Info("App assumes there are two monitors. # Displays detected:" + displays.Count.ToString());

            if (MonitorIndex >= displays.Count)
            {
                MonitorIndex = 0;
                Logger.Warn("fell back to monitoring Monitor 0");
            }

            _MonitorToWatch = displays[MonitorIndex];

            IdealMonitorRectWorker = new IdealMonitorRect(_MonitorToWatch);


            //Authenticate with MS Graph
            Logger.Info("Preparing for OneNoteAuthentication");
            OneNoteCapture.Init();

            //Init which pages we'll use
            Configurator.Init();

            //Determine the screen to watch


            Application.SetHighDpiMode(HighDpiMode.PerMonitorV2);
            Application.EnableVisualStyles();
            Application.SetCompatibleTextRenderingDefault(false);

            _OaDisplayUx = new OaDisplayUx();
            Logger.Info("Before Show Ux");
            _OaDisplayUx.Show();

            //Set up queue to deal with incoming events
            lock (ActionQueue)
            {
                ActionQueue.Add(WorkItem.GetGenericWorkItem(WorkItemType.Kickoff));
            }

            //Capture screenshot
            ScreenshotWorker screenShotworker = new ScreenshotWorker();

            WorkerList.Add(screenShotworker);

            //Cache image for history feature
            ImageCacheWorker cacheWorker = new ImageCacheWorker();

            CacheWorker = cacheWorker;
            WorkerList.Add(cacheWorker);

            //Motion Detection
            MotionDetectionWorker = new MotionDetection();
            WorkerList.Add(MotionDetectionWorker);

            //Perform OCR to determine embeddings
            //OcrWorker ocrWorker = new OcrWorker();
            //WorkerList.Add(ocrWorker);



            foreach (var worker in WorkerList)
            {
                Task.Run(() =>
                {
                    worker.WorkerLoop();
                });
            }


            Task.Run(() =>
            {
                while (true)
                {
                    QueueCleaner.CleanQueue();
                    Thread.Sleep(100);
                }
            });

            Task.Run(() =>
            {
                while (true)
                {
                    IdealMonitorRectWorker.DetermineRect();
                    Thread.Sleep(2000);
                }
            });



            //Thread myCaptureThread = new Thread(() => CaptureAndWorker.CaptureAndWrite(_OaDisplayUx));
            //myCaptureThread.Start();

            //Thread myShowNote = new Thread(() => ShowNoteWorker.ShowNotes());
            //myShowNote.Start();

            Application.Run();


            //Console.ReadLine();


            return(0);
        }