• Несуществующие ошибки сборки VS2022?

    @crescent
    Файлы в папке obj удали и перезайди
    Ответ написан
    Комментировать
  • Как сымитировать нажатие мышки на определённый пиксель на экране?

    @crescent
    я использую свой класс
    public class MouseSimulator
        {
            public static void ClickLeftMouseButton()
            {
                INPUT mouseDownInput = new INPUT();
                mouseDownInput.type = SendInputEventType.InputMouse;
                mouseDownInput.mkhi.mi.dwFlags = MouseEventFlags.MOUSEEVENT_LEFTDOWN;
                User32.SendInput(1, ref mouseDownInput, Marshal.SizeOf(new INPUT()));
    
                INPUT mouseUpInput = new INPUT();
                mouseUpInput.type = SendInputEventType.InputMouse;
                mouseUpInput.mkhi.mi.dwFlags = MouseEventFlags.MOUSEEVENT_LEFTUP;
                User32.SendInput(1, ref mouseUpInput, Marshal.SizeOf(new INPUT()));
            }
            public static void ClickRightMouseButton()
            {
                INPUT mouseDownInput = new INPUT();
                mouseDownInput.type = SendInputEventType.InputMouse;
                mouseDownInput.mkhi.mi.dwFlags = MouseEventFlags.MOUSEEVENT_RIGHTDOWN;
                User32.SendInput(1, ref mouseDownInput, Marshal.SizeOf(new INPUT()));
    
                INPUT mouseUpInput = new INPUT();
                mouseUpInput.type = SendInputEventType.InputMouse;
                mouseUpInput.mkhi.mi.dwFlags = MouseEventFlags.MOUSEEVENT_RIGHTUP;
                User32.SendInput(1, ref mouseUpInput, Marshal.SizeOf(new INPUT()));
            }
    
            public static void MouseMove(int dx, int dy)
            {
                INPUT mouseMove = new INPUT();
                mouseMove.type = SendInputEventType.InputMouse;
                mouseMove.mkhi.mi.dwFlags = MouseEventFlags.MOUSEEVENT_ABSOLUTE | MouseEventFlags.MOUSEEVENT_MOVE;
                mouseMove.mkhi.mi.dx = dx;
                mouseMove.mkhi.mi.dy = dy;
                User32.SendInput(1, ref mouseMove, Marshal.SizeOf(new INPUT()));
            }
    
            public static void LinearSmoothMove(Point newPosition, TimeSpan duration)
            {
                var point = MouseOperations.GetCursorPosition();
                Point start = new Point(point.X, point.Y);
    
                // Find the vector between start and newPosition
                double deltaX = newPosition.X - start.X;
                double deltaY = newPosition.Y - start.Y;
    
                // start a timer
                Stopwatch stopwatch = new Stopwatch();
                stopwatch.Start();
    
                double timeFraction = 0.0;
    
                do
                {
                    timeFraction = (double)stopwatch.Elapsed.Ticks / duration.Ticks;
                    if (timeFraction > 1.0)
                        timeFraction = 1.0;
    
                    PointF curPoint = new PointF(Convert.ToInt32(start.X + timeFraction * deltaX),
                        Convert.ToInt32(start.Y + timeFraction * deltaY));
    
                    //MouseOperations.SetCursorPos(Convert.ToInt32(curPoint.X), Convert.ToInt32(curPoint.Y));
                    //MouseSimulator.MouseMove(Convert.ToInt32(curPoint.X), Convert.ToInt32(curPoint.Y));
                    int inputXinPixels = Convert.ToInt32(curPoint.X);
                    int inputYinPixels = Convert.ToInt32(curPoint.Y);
                    var screenBounds = Screen.PrimaryScreen.Bounds;
                    var outputX = inputXinPixels * 65535 / screenBounds.Width;
                    var outputY = inputYinPixels * 65535 / screenBounds.Height;
                    //Console.WriteLine(outputX);
                    MouseSimulator.MouseMove(outputX, outputY);
                    Thread.Sleep(50);
                } while (timeFraction < 1.0);
            }
        }
    
    
    
        [StructLayout(LayoutKind.Sequential)]
        public struct POINT
        {
            public int x;
            public int y;
        }
    
        [StructLayout(LayoutKind.Sequential)]
        public struct INPUT
        {
            public SendInputEventType type;
            public MOUSEANDKEYBOARDINPUT mkhi;
        }
    
        [StructLayout(LayoutKind.Sequential)]
        public struct KEYBOARDINPUT
        {
            public ushort wVk;
            public ushort wScan;
            public uint dwFlags;
            public uint time;
            public IntPtr dwExtraInfo;
        }
    
        [StructLayout(LayoutKind.Sequential)]
        public struct HARDWAREINPUT
        {
            public int uMsg;
            public short wParamL;
            public short wParamH;
        }
    
        [StructLayout(LayoutKind.Sequential)]
        public struct MOUSEINPUT
        {
            public int dx;
            public int dy;
            public uint mouseData;
            public MouseEventFlags dwFlags;
            public uint time;
            public IntPtr dwExtraInfo;
        }
    
        [StructLayout(LayoutKind.Explicit)]
        public struct MOUSEANDKEYBOARDINPUT
        {
            [FieldOffset(0)]
            public MOUSEINPUT mi;
    
            [FieldOffset(0)]
            public KEYBOARDINPUT ki;
    
            [FieldOffset(0)]
            public HARDWAREINPUT hi;
        }
    
        [Flags]
        public enum MouseEventFlags : uint
        {
            MOUSEEVENT_MOVE = 0x0001,
            MOUSEEVENT_LEFTDOWN = 0x0002,
            MOUSEEVENT_LEFTUP = 0x0004,
            MOUSEEVENT_RIGHTDOWN = 0x0008,
            MOUSEEVENT_RIGHTUP = 0x0010,
            MOUSEEVENT_MIDDLEDOWN = 0x0020,
            MOUSEEVENT_MIDDLEUP = 0x0040,
            MOUSEEVENT_XDOWN = 0x0080,
            MOUSEEVENT_XUP = 0x0100,
            MOUSEEVENT_WHEEL = 0x0800,
            MOUSEEVENT_VIRTUALDESK = 0x4000,
            MOUSEEVENT_ABSOLUTE = 0x8000
        }
    
        [Flags]
        public enum SendInputEventType : uint
        {
            InputMouse,
            InputKeyboard,
            InputHardware
        }
    
        public class User32
        {
            [DllImport("user32.dll")]
            public static extern long SetCursorPos(int x, int y);
    
            [DllImport("user32.dll")]
            public static extern bool ClientToScreen(IntPtr hWnd, ref POINT point);
    
            [DllImport("user32.dll")]
            [return: MarshalAs(UnmanagedType.Bool)]
            public static extern bool GetCursorPos(out POINT p);
    
            [DllImport("user32.dll", SetLastError = true)]
            public static extern uint SendInput(uint nInputs, ref INPUT pInputs, int cbSize);
    
            [DllImport("user32.dll")]
            public static extern IntPtr GetDesktopWindow();
    
            [DllImport("user32.dll")]
            public static extern IntPtr GetWindowDC(IntPtr ptr);
        }


    собственно чтобы кликнуть надо:
    LinearSmoothMove(Point newPosition, TimeSpan duration)
    ClickLeftMouseButton()

    я его использую что в вк куче народу писать) работает хорошо
    Ответ написан
    Комментировать
  • C# System.Windows.Input.KeyEventArgs в System.Windows.Forms.KeyEventArgs?

    @crescent Автор вопроса
    Нашел сам решение:
    private void PossessionField_OnPreviewKeyDown(object sender, KeyEventArgs e)
            {
                Keys formsKey;
                Key wpfKey = e.Key;
                formsKey = (Keys)KeyInterop.VirtualKeyFromKey(wpfKey);
                System.Windows.Forms.KeyEventArgs ev = new System.Windows.Forms.KeyEventArgs(formsKey);
                win.MainForm_KeyDown(sender, ev);
    Ответ написан
    Комментировать
  • Как поменять папку проекта в vs?

    @crescent Автор вопроса
    Нашел сам решение:
    1) меняем путь в .sln к проекту
    2) меняет название папки проекта
    3) в проекте находим .csproj и там меняет в хml название
    Ответ написан
    Комментировать
  • Bootsrtap 3 navbar размеры сворачивания на 1024px?

    @crescent
    Заходиш сюда: getbootstrap.com/customize

    Находиш раздел:

    Grid system
    Define your custom responsive grid.

    Там есть два поля:
    @grid-float-breakpoint: Point at which the navbar becomes uncollapsed.
    @grid-float-breakpoint-max: Point at which the navbar begins collapsing.

    Меняеш их на свои значения скажем:
    @grid-float-breakpoint: 1280px
    @grid-float-breakpoint-max:1279px
    В это случае будет сворачиваться уже при 1279px;

    Генерируеш бутстрап и заменяеш.
    Ответ написан
  • Плохие позиции в Google, в чём проблема?

    @crescent
    когда создали сайт??
    если меньше годо то в песочнице
    Ответ написан
  • Сотни пямых заходов с нулевой продолжительностью посещения. Как бороться?

    @crescent
    Ну очевидно вас пытаются слить конкуренты.

    ip там всегда разные или есть повторяющиеся, если есть, то можно я думаю запретить в .htaccess

    Посмотрите какие есть специфичные свойства у этих заходов. http свойства.
    Если есть, то снова фильтруем в .htaccess

    PS. я бы не стал пониковать вообще, поисковики очень умны и легко понимают когда им хотят накрутить статистику. Когда хотите накрутить положительную вы или когда вам хотят накрутить отрицательную.

    0 секунд с разницей в 1 секунду - это детский сад.
    Можете спросить Платона

    Моему знакомому вообще проставили 10000 мусорных ссылок. Яндекс на пару дней его пессимизировал на третью страницу а после снова вернул в топ.
    Ответ написан
    4 комментария
  • Есть ли смысл ставить ссылку скрытно с сайта (100 ТИЦ) на новый сайт другой тематики?

    @crescent
    да сейчас внешняя оптимизация уже умерла
    можете кидаться тапочками
    Ответ написан
    Комментировать
  • Насколько оправдано использование framework'ов в серьезных проектах?

    @crescent
    Я вот на своем сайте сам генерирую html с помощью програмы на яве и получаю где-то порядка 300 статичных html файлов.

    Доволен как слон
    Ответ написан
  • Как сделать возможность обрезки фото на сайте в квадратный вид без потери качества?

    @crescent
    На сервере.
    Делал подобное на java. Там есть функции для обрезания с качеством и без
    Ответ написан
    2 комментария
  • Вылетит ли сайт из выдачи, если контент скопирован?

    @crescent
    Какой регион ? Какая тематика?

    В топ 10 спокойно такие сайты взлетают. Все зависит от конкурентов. Делают ли они качественные сайты?

    Ну допустим в моей свадебной тематики только 2 конкурента делали качественный сайт и под сео. Соответсвенно когда я залил свой сайт - текст там тоже полностью копирован (в сео тогда ничо не знал) то занял 3 позицию.
    Ответ написан
  • Влияет ли уровень вложенности страницы на продвижение?

    @crescent
    Ну конечно влияет.
    Но гораздо больше влияет время проводимое посетителем на странице:
    Если все смотрят страницу: site.ru/category1/page1/
    То страница site.ru/page1/ ранжироваться не будет,

    Вообщем пишите текст там где посетители проводят много времени - иначе будет бесполезно.
    Ответ написан
    Комментировать
  • Попали по всем запросам в топ яндекса, а гугл не хочет пускать в топ, почему?

    @crescent
    Если сайт создан недавно то гугл вас в топ не пустит
    Вроде год надо ждать. Песочница
    Ответ написан
    Комментировать
  • Как загружать CSS чтобы добиться высокой оценки в Google PageSpeed Insights?

    @crescent
    Тоже, как некоторые тут пишут, не рекомендую это делать.

    Скорость загрузки от конкретно этой рекомендации не растет, но появляется эффект FOUC (Flash of unstyled content), когда пользователь видит содержимое страницы до того, как стили загрузятся. От этого падает конверсия и увеличаваются отказы. Получаем обратные эффект - гораздо более сильный, чем положительный эффект от pagespeed
    Ответ написан
    Комментировать
  • Какой годный сервис автоматической SEO проверки для сайта?

    @crescent
    xtool.ru относительно неплох
    Ответ написан
    Комментировать
  • Как правильно оформлять текст с точки зрения SEO?

    @crescent
    SEO - не наука (как html 5) а шаманство
    С точки зрения шаманства h1 должен быть один.
    Ответ написан
    Комментировать
  • Как сделать таблицу адаптивной?

    @crescent
    ну если на bootstap там вроде как есть класс table -responsive
    Ответ написан
    Комментировать
  • Как свернуть меню при 992 bootstrap?

    @crescent
    Вот работающий алгоритм:
    заходиш сюда:
    bootstrap-3.ru/customize.php

    Находиш поле @grid-float-breakpoint меняеш на 992px
    Генерируешь bootstrap.css

    Если ты у себя на проекте не менял либу то смело меняй ее на сгенерированную
    Если же ты уже правил в ней что-то, то в сгенерированном файле ищещ поля 992 , 991 и копируешь стили с ними в свой бутстрап
    Ответ написан
    Комментировать